目次を表示する

AIセキュリティ 2026 ─ 開発からプロダクトまでの防衛術

AI組込みプロダクトの脅威モデルを描く

第5章: AI組込みプロダクトの脅威モデルを描く

3つのフレームワーク - OWASP / Agentic / MITRE ATLAS

第1部では、開発者として AIツールを使う側の防衛を扱った。本章から始まる第2部では、AIをプロダクトに組み込む側の防衛に視点を切り替える。「プロダクトを作る側」の話だ。

第1部で繰り返し登場した4つの根本原理 ─ 信頼境界 / Lethal Trifecta / 最小権限 / Defense in Depth ─ は、まったく同じ式としてこちら側にも効く。第1部を読み終えた読者には、プロダクト側の議論が「初めて聞く話」ではなく「同じ式の別の解き方」として響くはずだ。

本章は、その「同じ式」を解く前提となるプロダクトの脅威モデルを、OWASP・MITRE・主要事件の3つから多角的に描く。具体的な攻撃と防衛は第6章以降で扱う。

なぜ「プロダクト脅威モデリング」が独立した章になるのか

従来のWebアプリの脅威モデリングは、STRIDE や PASTA のようなフレームワークを当てて「データフロー図 → 信頼境界線を引く → 各境界での脅威を列挙」と進めた。LLMを組み込んだプロダクトでも基本は同じだが、追加で考えるべき軸が明確に存在する。

graph TD
    User[ユーザー入力] --> LLM
    Tools[ツール群<br/>API / DB / Email / 外部サービス] --> LLM
    RAG[RAG / Vector DB<br/>取得コンテンツ] --> LLM
    Memory[エージェント・メモリ<br/>会話履歴, persistent state] --> LLM
    System[System Prompt / 設定] --> LLM
    LLM --> Out[出力]
    Out --> Render[レンダラ<br/>Markdown, HTML, JSON]
    Out --> ToolCall[ツール呼び出し]
    Out --> Storage[保存]
    style LLM fill:#fec

従来との違いは大きく3点:

  1. LLMは指示とデータを区別しない ─ 第1章で書いたとおり、ここは構造的な弱点
  2. LLMは確率的に動く ─ 入力が同じでも出力が揺れる。決定論的なテストが効きにくい
  3. LLMは強い権限を「日常的に」持ちがち ─ ツール呼び出し、外部API、DB操作。Excessive Agency が起きやすい

これらが、第6章以降で扱う具体的な攻撃を生む土壌になる。

OWASP Top 10 for LLM Applications 2025 ─ 10項目の地図

最も標準的な参照点が OWASP Top 10 for LLM Applications 2025 だ。10項目を一望できる地図として記憶しておく。

#項目何を問うか第2部のどこで扱うか
LLM01Prompt Injection直接型・間接型・マルチモーダル第6章
LLM02Sensitive Info Disclosure学習データ・コンテキスト・他セッション漏洩第6章・第8章
LLM03Supply Chain悪意モデル、Model Confusion、namespace再取得第7章
LLM04Data and Model Poisoning学習・微調整・テンプレ汚染第7章
LLM05Improper Output Handling出力をシェル/SQL/eval/Markdown画像に直接渡す第6章
LLM06Excessive Agency過剰権限・自律性第7章
LLM07System Prompt Leakageプロンプト抽出第8章
LLM08Vector & Embedding WeaknessesRAG/ベクトルDB固有第7章
LLM09Misinformationハルシネーション・誤助言第6章末尾
LLM10Unbounded ConsumptionDoS + Denial of Wallet (DoW)第8章

2024年版からの変更で押さえるべき点

  • LLM08 として「Vector & Embedding Weaknesses」が新設された ─ RAG時代の攻撃面の体系化
  • LLM10 が「DoS」から「Unbounded Consumption」へ拡張 ─ DoW(Denial of Wallet, $46k/日のLLMjacking等)を統合
  • LLM01 がマルチモーダル拡張を含むようになった ─ 画像・音声・動画への命令埋め込み

OWASP Top 10 for Agentic Applications 2026 ─ エージェント時代の地図

2025年12月9日に OWASP Top 10 for Agentic Applications 2026 が公開された。LLM Top 10 が「LLMアプリ全般」を扱うのに対し、こちらはエージェントに固有のリスクにフォーカスしている。10項目は ASI01〜ASI10。

特に重要な3つを挙げる:

#項目中核リスク
ASI06Memory & Context Poisoning永続メモリへの注入、注入と発火が時間的に分離(第7章 MINJA)
ASI07Insecure Inter-Agent CommunicationA2Aプロトコル・message busが認証されていない
ASI08Agent Hijackingtool description injection、confused deputy

「LLM Top 10 はAPIを叩く側、Agentic 2026 はエージェントを設計する側」と覚えると整理しやすい。両方が必要だ。

MITRE ATLAS ─ Tactics × Techniques でモデリングする

MITRE ATLAS は MITRE ATT&CK のAI/ML拡張版で、16 Tactics × 84 Techniques × 56 Sub-techniques × 32 Mitigations × 42 Case Studies(2026年2月時点 v5.4.0)から成る。脅威モデリングをやるとき、OWASPで「何があるか」を確認したあと、ATLASで「どう連鎖するか」を辿る、という使い分けができる。

graph LR
    R[Reconnaissance] --> RA[Resource Acquisition]
    RA --> IA[Initial Access]
    IA --> ML[ML Model Access]
    ML --> Exec[Execution]
    Exec --> Pers[Persistence]
    Pers --> DEX[Defense Evasion]
    DEX --> Discovery
    Discovery --> Coll[Collection]
    Coll --> Exf[Exfiltration]
    Exf --> Impact

2025-2026の主要追加 Technique:

  • AI Agent Context Poisoning ─ LLMコンテキストを操作して持続的に挙動変更
  • Publish Poisoned AI Agent Tool(v5.4.0)─ 第3章のpostmark-mcpがケーススタディ
  • Escape to Host(v5.4.0)─ EscapeRouteがケーススタディ
  • MCP関連 ─ MCPサーバ侵害、MCP経由のindirect prompt injection、悪意エージェントのデプロイ

ATLASの実用的な使い方は、「自社プロダクトを Asset としてモデル化 → 各 Asset に対して関連 Tactic の Technique を辿る」だ。たとえば:

  • Asset: 自社のRAGバックエンド
    • Tactic: ML Model Access → Technique: Backdoor ML Model
    • Tactic: Collection → Technique: Data from Information Repositories
    • 該当する Mitigations を ATLAS から逆引き

これだけで、見落としがちな攻撃ベクタを「MITRE が既に定義している語彙」で議論できる。

Lethal Trifecta はプロダクトでも完全に成立する

第1部で繰り返した Lethal Trifecta を、プロダクト側の典型例で当てはめてみる。

プロダクト例①プライベートデータ②untrustedコンテンツ③外部通信
社内RAGアシスタント社内Wiki, 顧客DBエンドユーザーの質問、外部リンク先メール送信ツール、外部API
カスタマーサポートBot顧客プロファイル顧客のメッセージチケット作成、CRM更新
営業支援エージェント顧客リスト, 商談履歴LinkedIn, 公開Webメール送信, カレンダー予約
コーディング支援SaaSユーザーのコードGitHub Issue, 外部READMEWebhook, Git push

全部、3つ揃っている。プロダクト側で Lethal Trifecta を回避する戦略は次のいずれかだ:

  1. 3つ目を構造的に潰す:エージェントから外部通信を物理的に取り上げる(出力をメッセージ表示に限定)
  2. 1つ目を最小化:エージェントに見せるデータを最小限に絞る(PII redaction、データスコープの絞り込み)
  3. 2つ目を sanitize:取得コンテンツを「データ」として明示的に枠で囲い、LLMに「これは指示ではない」と認識させる(後の章で具体策)

完全な分離は難しいが、多層的に難化するのが現実解だ。

脅威モデリングの実務的な手順

OWASP + ATLAS + Lethal Trifecta を組み合わせた、現場で回せる手順を提示する:

ステップ1: プロダクトのデータフロー図を描く
  - User → Frontend → API → LLM → Tools → ... → User
  - すべての入力源・出力先・データストアを書く

ステップ2: 信頼境界線を引く
  - 自社管理 vs ユーザー入力
  - 自社管理 vs 取得コンテンツ
  - 自社管理 vs 外部サービス
  - LLM管理 vs ツール呼び出し結果

ステップ3: 各境界に OWASP LLM Top 10 を当てる
  - User入力境界: LLM01 (直接), LLM05 (出力)
  - 取得コンテンツ境界: LLM01 (間接), LLM04 (Poisoning), LLM08 (RAG)
  - ツール呼び出し境界: LLM06 (Agency)

ステップ4: ATLAS で連鎖を辿る
  - 各 Threat に ATLAS Technique を関連付け
  - Mitigations を抽出

ステップ5: Lethal Trifecta が揃う場所を特定
  - 揃う場所が「最も危険」
  - 1つでも構造的に外せないか検討

ステップ6: 残ったリスクに Defense in Depth
  - Guardrail, observability, rate limiting, output validation
  - 第8章で具体策

ステップ7: 検証フローを設計
  - レッドチーミング、Promptfoo / DeepTeam での自動評価

これを四半期ごとに見直す。攻撃面は変わり続けるので、一度書いた脅威モデルは半年で陳腐化する。

本章の要点

#要点
1プロダクト脅威モデルの追加軸は「指示とデータ非分離 / 確率的挙動 / 強い権限」の3点
2OWASP Top 10 LLM 2025 は10項目の地図。LLM08 (Vector) と LLM10 (Unbounded Consumption) が2024比で重要な拡張
3OWASP Top 10 for Agentic Applications 2026 は「エージェントを設計する側」のリスクを扱う。ASI06 / 07 / 08 が要
4MITRE ATLAS(v5.4.0)は Tactics × Techniques で攻撃連鎖をモデリングできる。ATT&CK との共通語彙が利点
5Lethal Trifecta はプロダクト側でも完全に成立する。回避戦略は「3つ目を潰す/1つ目を最小化/2つ目をsanitize」
6実務手順は「データフロー → 信頼境界 → OWASP → ATLAS → Trifecta → DiD → 検証」の7ステップ。四半期ごとに見直す

効いている根本原理

本章は 原理1(信頼境界)原理2(Lethal Trifecta) をプロダクト側に翻訳した章だった。次章では、この地図の上で最も頻発する攻撃であるプロンプトインジェクションを、直接・間接・マルチモーダルの3軸で深掘りする。