本文へ移動

Security services (CTEM / DAST / SAST / SPECT / VM / GRC / IR / DR)

セキュリティサービススイート (CTEM / DAST / SAST / SPECT / VM) のカタログは GET /v1/security/services で取得できます。認証不要の公開エッジで、記述 (describe) のみを行います。

Shell
curl -s https://api.mithril.fund/v1/security/services | jq '.[] | {id, status}'

# ctem  → "component-shipped"
# dast  → "gated"
# sast  → "gated"
# spect → "gated"
# vm    → "component-shipped"
# grc   → "component-shipped"
# ir    → "component-shipped"
# dr    → "component-shipped"

CTEM — exposure management

CTEM は公開エンドポイント・ドメイン・証明書を継続スキャンして外部攻撃表面・エントリポイントを列挙し、到達可能な攻撃パスを特定、公開経路・依存・所有者の資産コンテキストを付与して、曝露イベントと共通スキーマの所見を VM 台帳へ渡します (status: component-shipped)。ATT&CK T1190 (Exploit Public-Facing Application) / T1595 (Active Scanning) に相当します。

CTEM の capability
# CTEM capabilities (from the catalog entry)
surface-inventory  # continuous external attack-surface / asset inventory
attack-path        # reachable attack-path identification
context            # asset context (public routes, deps, owner)
exposure-feed      # exposure events fed to the VM ledger

# inputs:  assets, dns, certificates, open-endpoints
# outputs: attack-paths, exposure-findings, asset-context
# integration: feeds vm, emits :finding (shared finding-schema)

SAST — static application security testing

SAST はソースコードを解析して脆弱パターンとサニタイズ漏れを検出し、静的解析と taint / データフロー検査でファイル・行つきのコード所見を VM 台帳へ出します。依存関係マニフェストも検査し、依存メモを出力します (status: gated)。

SAST の capability
# SAST capabilities (from the catalog entry)
code-analysis       # static source-code analysis
taint-flow          # taint / data-flow inspection
code-finding        # code findings with file + line
dependency-notes    # dependency-manifest inspection, emitting dependency notes

# inputs:  source-code, dependency-manifests
# outputs: code-findings, taint-paths, dependency-notes
# integration: feeds vm, emits :finding (role: code-findings)

DAST — dynamic application security testing

DAST は稼働中のアプリに対し、走査スコープと認証シナリオ (ログイン等の認証ありのパス) で動的検査を行い、再現性のあるランタイム脆弱性所見 (リクエスト・レスポンスのエビデンスつき) を VM 台帳へ出します (status: gated)。

DAST の capability
# DAST capabilities (from the catalog entry)
runtime-probe    # dynamic probing of running applications
auth-scenarios   # probing with authenticated scenarios
runtime-finding  # runtime vulnerability detection as findings

# inputs:  running-apps, scan-scopes, auth-scenarios
# outputs: runtime-findings, request-response-evidence
# integration: feeds vm, emits :finding (role: runtime-findings)

SPECT — spear-phishing detection

SPECT は受信メールのヘッダ検証 (SPF/DKIM/DMARC)、ドメイン正規化比較 (punycode / homoglyph / 付加文字)、URL リライト先と送信者の不一致を検査し、標的型メール所見を VM 台帳へ出します (status: gated)。ATT&CK T1566 (Phishing) に対応。

SPECT の capability
# SPECT capabilities (from the catalog entry)
header-verify    # SPF / DKIM / DMARC alignment on received mail
domain-normalise # punycode / homoglyph / added-char lookalikes
url-mismatch     # URL rewrite target vs sender
mail-finding     # targeted-mail findings with header/domain/URL evidence

# inputs:  received-mail, domain-intel, mail-flow-records
# outputs: targeted-mail-findings, lookalike-domain-notes, impersonation-evidence
# integration: feeds vm, emits :finding (role: targeted-mail-findings)

VM — vulnerability management

VM (脆弱性管理, wvme) は 4 つの上流サービスが発した共通スキーマの所見を重複排除し、到達可能性 × 悪用可能性でスコアリングして、CPE/CVE キーつきの修正ライフサイクル台帳として管理します。CVE/CPE フィード入力を受け付けます (status: component-shipped)。

VM の capability
# VM capabilities (from the catalog entry)
dedup          # finding deduplication (asset × vulnerability key)
scoring        # reachability × exploitability scoring
ledger         # vulnerability ledger keyed by CPE/CVE
remediation    # remediation lifecycle (detected → in progress → verified → closed)
cve-cpe-feed   # CVE/CPE feed intake

# inputs:  findings-from-ctem, findings-from-dast, findings-from-sast, findings-from-spear-phishing, cve-cpe-feeds
# outputs: vulnerability-ledger, remediation-status, exposure-reports
# integration: role aggregation-ledger (dedup, scoring: reachability + exploitability, ledger keys: cpe, cve)

GRC / IR / DR — NIST CSF 2.0 の統治・対応・復旧

3 つとも VM 台帳と同じく決定論的でステートレスです。POST した JSON だけから計算し、何も保存せず、モデルも呼びません。GET は入力例と、その入力例に対するその場で計算した応答を返します。読めない項目は 400 で、フィールド名と理由を返します(例: {"field": "incident.category", "reason": "not-an-allowed-value"})。

GRC — POST /v1/security/govern

profile(CSF 2.0 サブカテゴリごとの現在・目標ティア 0–4)、risks(発生可能性・影響度 1–5、treatment、owner)、suppliers(criticality、dataAccess、契約条項、lastAssessed)のいずれかを送ります。suppliers には asOf が要ります。

Shell
curl -s https://api.mithril.fund/v1/security/govern \
  -H 'content-type: application/json' \
  -d '{"riskAppetite": 9, "risks": [{"id": "R-2", "likelihood": 4, "impact": 3, "treatment": "accept"}]}' \
  | jq '.risks.register[0] | {score, level, findings: [.findings[].code]}'

# → {"score": 12, "level": "high",
#    "findings": ["no-owner", "acceptance-exceeds-appetite"]}

IR — POST /v1/security/respond

incident(id、category、awareAt、ongoing、criticalSystemAffected、personalData、jurisdictions: jp / eu / other、nis2Entity、significant)を送ると、優先度、RS サブカテゴリつきの手順、報告期限を返します。期限は法定の上限で、法的助言ではありません。個人情報保護法の確報は土日だけを繰り延べ、祝日は適用しません(応答に明記)。

Shell
curl -s https://api.mithril.fund/v1/security/respond \
  -H 'content-type: application/json' \
  -d '{"incident": {"id": "I-1", "category": "ransomware", "awareAt": "2026-09-24T01:30:00Z",
       "ongoing": true, "personalData": {"records": 12000}, "jurisdictions": ["jp", "eu"]}}' \
  | jq '{priority: .triage.priority, deadlines: [.notifications[] | {regime, stage, deadline}]}'

DR — POST /v1/security/recover

asOf と assets(id、criticality、rtoHours、rpoHours、dependsOn、backups: lastSuccessAt、lastRestoreTestAt、offsite、immutable)を送ると、依存順の復旧ウェーブと資産ごとの検査を返します。依存が循環していれば 400 dependency-cycle で、該当資産を列挙します。

Shell
curl -s https://api.mithril.fund/v1/security/recover | jq '.example.response.waves'

# → [{"wave": 1, "assets": ["db"]},
#    {"wave": 2, "assets": ["api", "reporting"]}]

標的型メール攻撃対策 (solution)

模倣ドメインの発見 (CTEM) → なりすましメールの検査 (SPECT) → 乗っ取りの台帳化 (VM) まで、第一次サービス群で構成する対策の正本定義は GET /v1/security/solutions/spear-phishing。ページ側は /security/services/#spear-phishing-solution に同じ定義で描画されます。メールゲートウェイ・訓練・乗っ取り後監視はカタログの partner カテゴリ (email-sec / awareness / siem / itdr) が担います。

Shell
curl -s https://api.mithril.fund/v1/security/solutions/spear-phishing | jq '{id, components: [.components[].id]}'

# → {"id": "spear-phishing",
#    "components": ["ctem", "spear-phishing", "vm"]}

DAST / SAST / SPECT は gated (非公開の authority の後方でゲート中)。4 つの上流サービスは共通 finding-schema で所見を出し、VM が重複排除・スコアリング (到達可能性 × 悪用可能性)・修正ライフサイクルを CPE/CVE キーで管理します。

セキュリティサービスのページ