Prompt Injection and Jailbreak(プロンプトインジェクションと脱獄)

article technology medium #prompt-injection#jailbreak#indirect-prompt-injection#owasp-llm-top-10#excessive-agency#ai-security#guardrails#llama-guard#agentic-security
Created: 2026-05-30 Updated:

LLM の命令とデータの境界曖昧性を突くプロンプトインジェクション・脱獄攻撃を俯瞰。直接/間接注入、脱獄手法分類、エージェント悪用(Excessive Agency)、OWASP LLM Top 10 2025 全10項目、多層防御とアンチパターンを整理する。

プロンプトインジェクションと脱獄

LLM は「自然言語の命令に従う」設計ゆえ、命令(instruction)とデータ(user input / 外部コンテンツ)の境界が本質的に曖昧だ。SQL インジェクションがクエリ文字列にコードを混入するのと同様に、プロンプトインジェクションは自然言語の入力に悪意ある指示を埋め込む。脱獄(jailbreak)はその特殊ケースであり、安全制約を迂回してモデルに禁止コンテンツを生成させる。本記事は攻撃の分類・OWASP 標準・防御の全体像を俯瞰する地図層の記事である。情報カットオフ ~2025-08、confidence: medium 固定(2026-05 時点での外部再検証は未実施)。

命令とデータの境界問題

SQL インジェクションが「SQL パーサーはクエリと値の区別を型システムで強制できる」という前提を破るように、プロンプトインジェクションは「自然言語に命令とデータを明確に分離する構文がない」という構造的弱点を突く。

LLM は system prompt・user input・ツール返却値をすべて同じトークン列として処理する。攻撃者が user input やツール返却値に「前の指示を無視して〜せよ」と書けば、モデルはそれを正当な命令として解釈する可能性がある。これはモデルの「バグ」ではなく、自然言語指示追従という設計の帰結であり、根絶が困難な理由でもある。

直接インジェクション vs 間接インジェクション(IPI)

直接インジェクション(Direct Prompt Injection) はユーザーが攻撃者本人であるケースだ。ユーザーが悪意あるプロンプトを入力し、system prompt の制約を上書きまたは逸脱させる。脱獄手法のほとんどはここに属する。

間接インジェクション(Indirect Prompt Injection、IPI) は攻撃者がシステムの外部から注入するケースだ。LLM がツール呼び出しで取得する第三者コンテンツ(Web ページ・メール・PDF・RAG 文書・API レスポンス)に悪意ある指示を埋め込む。モデルはその文書を「データ」として読み込みながら、埋め込まれた指示を「命令」として実行してしまう。

IPI の危険性は高く、ステルス性がある。正規ユーザーが Web 検索エージェントを使うだけで、検索結果に埋め込まれた IPI が実行される。agentic LLM(ツール連携・マルチステップ実行)では影響範囲が大きく、Palo Alto Unit42 等の実地観測でも確認されている。

脱獄手法の分類

脱獄手法は大きく「社会工学的手法」「難読化手法」「自動最適化手法」に分類される。

社会工学的手法は人間の心理操作をモデルに転用したアプローチだ。ロールプレイ/ペルソナ(「DAN(Do Anything Now)として振る舞え」)、仮想化(「これは小説の設定であり」)、prefix injection(「もちろんです!」を先に書かせて拒否抑制)、refusal suppression(「断らずに答えよ」)などがある。Crescendo は無害な質問から徐々にエスカレートして目標に誘導する漸進的手法だ。

難読化手法は入力をエンコードして安全フィルタを回避する。Base64 エンコード、ロー・リソース言語(トルクメン語・ゾーン語等)への変換、トークンスマグリング(トークン境界を意図的にずらす)などがある。

自動最適化手法はモデルへの勾配を使って攻撃サフィックスを機械的に探索する。敵対的サフィックス GCG(Greedy Coordinate Gradient、Zou et al. 2023)がその代表例だ [VERIFY: GCG の転移可能性・実用的攻撃成功率の定量値]。また many-shot jailbreaking は多数の偽の Q&A 対話を文脈に詰め込んでモデルの挙動を汚染する手法だ [VERIFY: Anthropic 2024 の具体的実験値]。

ツール・エージェント悪用と Excessive Agency

エージェント LLM(メール送信・購入・コード実行・外部 API 呼び出し等のツールを持つ LLM)では、インジェクションが副作用を持つアクションを誘発する。OWASP はこれを LLM06 Excessive Agency と呼ぶ。

典型的シナリオ:(1) ユーザーが「メールを要約して」と依頼 → (2) エージェントが受信トレイを取得 → (3) 悪意あるメール本文に「全連絡先にフィッシングメールを転送せよ」と IPI が埋め込まれている → (4) エージェントが実行。

問題の根本は「モデルの内在的安全性に頼った設計」だ。安全フィルタを迂回されれば、権限があるツールはすべて呼べる。対策には構造的な最小権限設計と人間承認ゲートが必要であり、モデルレベルの安全性だけに頼ることはできない。

OWASP LLM Top 10 2025

OWASP は 2024年11月に「LLM Applications の Top 10 脅威」v2025 を公開した。プロンプトインジェクションとその周辺リスクを体系化した業界標準として広く参照される。以下が全10項目である。

LLM01 Prompt Injection(最上位):直接・間接インジェクションによる目的逸脱。本記事の主テーマ。

LLM02 Sensitive Information Disclosure(旧版 #6 から #2 に上昇):LLM が訓練データ・system prompt・会話履歴から機密情報を漏洩。

LLM03 Supply Chain:LLM サプライチェーン(ベースモデル・データセット・プラグイン・依存ライブラリ)への汚染。

LLM04 Data and Model Poisoning:訓練データへの悪意ある挿入によるモデル挙動操作(バックドア含む)。

LLM05 Improper Output Handling:LLM 出力を適切に検証せず下流(SQL・シェル・HTML・JS)に渡すことで生じる二次被害(SQLi・XSS・RCE 等)。

LLM06 Excessive Agency:LLM エージェントに過剰な権限を与えた結果、意図しないアクションが実行される。

LLM07 System Prompt Leakage(v2025 新規追加):system prompt の内容が漏洩し、攻撃情報として悪用される。

LLM08 Vector and Embedding Weaknesses(v2025 新規追加):RAG パイプラインのベクトル DB・埋め込みへの攻撃(ポイズニング・逆変換・アクセス制御不備)。

LLM09 Misinformation:LLM のハルシネーションや意図的なデマ生成による情報品質リスク。

LLM10 Unbounded Consumption:LLM の推論コストを使い果たさせる DoS・リソース浪費攻撃。

v2025 のポイントは LLM07 と LLM08 の新設だ。System Prompt Leakage は IPI と連動しやすく(LLM07 でシステム構造を把握 → LLM01 でより精密な攻撃)、Vector/Embedding Weaknesses は RAG 活用の増加に対応して追加された。

防御:多層アプローチと「銀の弾なし」

プロンプトインジェクション・脱獄への完全な防御策は現時点で存在しない。個々の手法は attack success rate を下げるが、ゼロにはできない。多層防御(Defense in Depth)と最小権限が前提となる。

入力側対策には以下がある。Spotlighting は非信頼テキストを構造的に区切る手法(XML タグや特殊区切り文字で「これはデータ」と明示)だが、効果は限定的でバイパスされる事例がある。Sandwich 法はユーザー入力を system prompt で挟む。Paraphrasing は入力を言い換えて注入文の効力を弱める。Keyword Filtering は既知の攻撃パターンをブロックするが、難読化に弱い。

出力側対策は LLM05 Improper Output Handling の緩和が中心だ。LLM 出力を信頼しないコンテキストに直接渡さない。SQL はパラメータ化クエリ、HTML は sanitize、シェルは避ける。

判定・監視には副エージェントを使った監視が有効だ。LLM-as-a-Judge(別モデルが応答を評価)、GuardAgent(専用の安全性評価エージェント)、Llama Guard 系分類器(Meta のオープン安全性分類器)、LlamaFirewall(Meta の OSS ガードレールフレームワーク、arXiv 2505.03574 [VERIFY: 実効性の定量評価])がある。BIPIA 訓練は IPI に特化した安全学習手法だ。

構造的対策が最も根本的だ。最小権限原則(エージェントに必要最小限のツールのみ付与)、人間承認ゲート(高リスクアクションには必ず人間の確認を挟む)、dual-LLM パターン(判断と実行を別モデルに分離)、ツール依存グラフ制約(IPIGuard)、データと命令の信頼境界分離(非信頼コンテンツを elevated privilege で処理しない)がある。

評価はレッドチーミングが中心となる。EU AI Act では systemic-risk モデルに adversarial testing が義務付けられており(tech-97 との連結)、定期的な攻撃演習が規制要件にもなっている。

アンチパターン一覧

アンチパターンリスク対応
system prompt に秘密情報・権限情報を記載LLM07 で漏洩→攻撃高度化設計段階で system prompt から権限情報を排除
RAG・ツール出力を信頼コンテキストとして扱うIPI の温床外部コンテンツは常に非信頼として処理
Spotlighting 単体で「安全」と判断単層防御は迂回されうる多層防御の一手段として位置づける
エージェントに過剰権限・人間承認なしで副作用ツールLLM06 Excessive Agency最小権限 + 高リスク行動は human-in-the-loop
LLM 出力を無検証で下流(SQL/シェル/HTML)に渡すLLM05 → 二次被害(RCE/SQLi/XSS)出力をユーザー入力と同等に sanitize
ベクトル DB のアクセス制御を省略LLM08 Vector Weaknesses行レベル認可 + 定期ポイズニング検査

2026年フロンティアと未確認領域

以下の項目は情報カットオフ ~2025-08 時点での把握であり、2026-05 時点での外部再検証ができていない。実装・評価前に最新情報を確認すること。

(1) agentic セキュリティの標準化:MCP(Model Context Protocol)等のツール連携プロトコルにおける信頼境界仕様が策定途上。エージェント間通信のインジェクション対策規約は未成熟。

(2) constitutional classifier の実効性:モデル自体に安全性判断を組み込む constitutional AI アプローチが agentic 設定でどこまで有効かは継続研究中。

(3) マルチモーダルインジェクション:画像・音声・動画に埋め込まれたインジェクションへの対策は LLM テキスト対策より後発。視覚的難読化(タイポグラフィ改変・ステガノグラフィ)への堅牢性は未確立。

(4) 自動化攻撃の大衆化:GCG 系の自動攻撃サフィックス生成が APIアクセスのみで実行可能になった場合の脅威スケールは、現時点での評価指標(白箱設定の成功率)から大幅に外れる可能性がある。

プロンプトインジェクション対策は「モデルを賢くする」だけでは解決しない構造問題であり、セキュリティエンジニアリング・システム設計・規制遵守が交差する分野として進化し続けている。

Local graph