TIP
← 記事

セキュリティ

プロンプトインジェクション攻撃の実態 — OWASP「最大の脅威」2年連続1位、なぜ防げないのか

2026/09/22

1. なぜ「最大の脅威」であり続けるのか

LLMアプリケーションのセキュリティリスクをまとめた「OWASP Top 10 for LLM Applications」で、プロンプトインジェクションは2025年版・2026年版と2回連続で1位(LLM01)にランクされている。目新しさがなくなっても、なお最大のリスクであり続けているのには理由がある。

LLMは「開発者からの指示(システムプロンプト)」と「ユーザーからの入力」、そして「処理対象のデータ(検索結果、メール本文、Webページなど)」を、本質的に同じ1本のテキストストリームとして受け取る。人間なら「これは命令」「これはただのデータ」と直感的に区別できる場面でも、モデルにとってはすべてが等価な文字列にすぎない。攻撃者は、処理対象のデータの中に「新しい指示」を紛れ込ませるだけで、モデルにその指示を実行させられる可能性がある。

初期の懸念は、チャット画面で直接モデルを騙す「ジェイルブレイク」が中心だった。しかし現在の焦点は、ユーザー本人ではなく、モデルが処理する外部データの側に悪意ある指示を仕込む「間接プロンプトインジェクション」に移っている。Webページ、PDF、メール、さらには画像のピクセルの中にさえ、指示を隠すことができる。RAG(検索拡張生成)やファインチューニングは、モデルの回答を「事実に基づかせる」ことはできても、この構造的な脆弱性そのものを解決するものではない、という指摘もある。

2. 実例:クリック不要でCopilotのデータを盗んだ「EchoLeak」

理論上の脅威ではなく、実際に本番環境で成立した攻撃として最も広く報告されたのが「EchoLeak」(CVE-2025-32711、CVSS 9.3)だ。

セキュリティ企業Aim Labsが2025年1月に概念実証を完成させ、Microsoft Security Response Centerへ非公開で報告。Microsoftは2025年春に修正に着手し、同年5月にサーバー側で修正を適用、6月11日に詳細が公開された。Microsoftは「顧客側の対応は不要」「実際の悪用は確認されていない」としている。

攻撃の仕組みは、研究者が「LLM Scope Violation(LLMのスコープ違反)」と呼ぶ手法だ。攻撃者は、誰でも送れる1通のメールに、Copilotへの隠し指示を埋め込んで送るだけでよい。ユーザーが後で「受信箱を要約して」のようにCopilotへ普通の依頼をした瞬間、Copilotはそのメールも処理対象に含めてしまい、埋め込まれた指示に従って、アクセス範囲内にあるチャット履歴・OneDriveのファイル・SharePointのコンテンツ・Teamsのメッセージなどを外部へ送信してしまう。ユーザーは不審なメールを開く必要すらない、いわゆるゼロクリック攻撃だという点が、この事例を特に深刻なものにしている。

3. 実例:野生で観測された広告レビュー回避攻撃

より最近では、Palo Alto Networks傘下のUnit 42が、2025年12月に実際にインターネット上で観測された間接プロンプトインジェクションを報告している。

reviewerpress[.]comというサイトが、存在しない軍用ゴーグルの大幅割引を宣伝する偽広告を掲載していた。このページには、AIによる広告審査システムを欺くための指示が24回にわたって埋め込まれていた。フォントサイズを0にする、画面外に配置するといった手法で、人間の審査担当者にもセキュリティツールにも見えないよう隠蔽されていたという。Unit 42はこの他にも、システムプロンプトの漏洩を狙う攻撃(漏洩した内容は将来の「万能」ジェイルブレイクに悪用されうる)、なりすましサイトによるSEOポイズニングなど、12以上の異なるサイトにまたがる攻撃を確認している。

4. 現行の防御策は、どこまで効いているのか

では現在、どのような防御策があり、実際にどこまで機能しているのか。

Instruction Hierarchy(命令の階層化)

OpenAIが提案した代表的なアプローチが「Instruction Hierarchy」だ。「システムの指示 > ユーザーの指示 > データ」という優先順位をモデルに学習させ、下位の指示(=データの中に紛れ込んだ攻撃者の指示)が上位の指示を上書きできないようにする、という考え方で、GPT-4o-miniに実装されている。

しかし2025年5月に公開された研究「A Critical Evaluation of Defenses against Prompt Injection Attacks」(arXiv:2505.18333)は、より厳格な評価手法(既知の攻撃だけでなく、防御を前提に最適化された「適応的攻撃」も含めて評価する)を用いた結果、Instruction Hierarchyを導入したGPT-4o-miniに対しても、複合攻撃(Combined Attack)はOpenPromptInjectionベンチマークで68%、MMLU-PIベンチマークで75%という高い成功率(ASV:Attack Success Value)を記録したと報告している。同論文は「既存の防御策は、これまで報告されてきたほど成功していない」と結論づけている。

ファインチューニング型の防御(StruQ・SecAlign)

モデル自体を防御用にファインチューニングする手法(StruQ、SecAlign)も評価されている。既存の攻撃に対してはASVを3〜6%まで抑え込める一方、攻撃側がこの防御の存在を前提に最適化した「適応的GCG攻撃」に対しては、ASVが最大100%まで跳ね上がるケースもあった。さらに、防御を強化した分だけモデル本来の性能(有用性)が10〜17%低下するというトレードオフも報告されている。

検出型の防御(PromptGuard・Attention Tracker)

入力そのものを事前に検知してブロックする手法もある。同論文の評価では、PromptGuardはAUC 0.92という指標上は高い性能を示す一方で、誤検知率(正常な入力を攻撃と誤判定する率)が89%に達した。Attention TrackerはAUC 1.00という完璧な数値を示したが、MMLU-PIベンチマークでの見逃し率(実際の攻撃を検知できない率)は69%、適応的攻撃に対しては66〜100%まで悪化した。

5. まとめ:決定打はまだない

ここまでの数字が示しているのは、「導入すれば安心」と言える単一の防御策は、2026年9月時点でまだ存在しないという現実だ。命令の階層化は設計思想としては理にかなっているが独自評価では突破され、ファインチューニング型は有効性と実用性のトレードオフを抱え、検出型は誤検知と見逃しのどちらかに偏りやすい。

一方で、AIエージェントがメールやWeb、社内文書といった外部データを自律的に読み書きする用途はむしろ拡大している。EchoLeakや広告レビュー回避攻撃が示すように、攻撃対象は「チャットボットを騙す」から「エージェントが処理するデータそのものを汚染する」へと移っている。防御策の研究と実装が追いつくまでの間、少なくとも「このAIエージェントは、どこまでのデータに、どこまでの権限でアクセスできるのか」を具体的に把握し、被害が及ぶ範囲を最小限に絞っておくことが、現実的な次善策だと言えそうだ。