プロンプトインジェクションは、利用者の入力や外部文書に混ぜた命令で、AIエージェントの本来の指示を曲げようとする攻撃です。 外部情報を読むエージェントでは、ウェブページ、メール、検索結果、ツール出力を通じた間接攻撃も想定します。 対策は検出だけに頼らず、外部データの分離、最小権限、許可した操作、実行前承認、監視を重ねます。
AIエージェント開発を体系的に学びたい方は、AIエージェントが学べるおすすめスクールで、AI活用、Python実装、マンツーマン支援の違いを比較できます。
| 攻撃経路 | 仕掛けの例 | 止める場所 |
|---|---|---|
| 利用者入力 | 指示を無視させる | 入力検査 |
| 外部文書 | 本文に隠した命令 | 参照データの分離 |
| ツール出力 | API応答内の命令 | 出力の型検証 |
| 記憶 | 後で実行させる指示 | 保存前検査 |
| 複数エージェント | 引き継ぎ内容の改変 | 相互認証と権限 |
直接攻撃と間接攻撃の違いを知る
直接攻撃は利用者が命令を入力し、間接攻撃はエージェントが読む外部情報へ命令を埋め込みます。 後者は正規の資料と悪意ある指示が同じ入力へ入るため、単純な禁止語だけでは区別しにくい問題があります。
Amazon Bedrock Guardrailsの解説は、ジェイルブレイク、プロンプトインジェクション、プロンプト漏えいを区別しています。 英国NCSCの敵対的攻撃に関する資料も、直接と間接のプロンプトインジェクションを扱っています。
攻撃が実操作へ届く経路を洗い出す
入力から実行までの流れを書かなければ、どこに防御を置くか決まりません。 次の順に、命令とデータが混ざる場所を確認します。
- 利用者または外部システムから入力を受ける
- 検索や文書から追加情報を取得する
- モデルが計画とツール引数を作る
- ツールが読み取りまたは更新を行う
- 結果を記憶、通知、次の処理へ渡す
AWS Agentic AI Lensは、利用者入力だけでなく検索結果、ウェブ、API、ツール出力、記憶も入力面として検証するよう示しています。
外部データとシステム指示を分離する
外部文書は命令ではなく、引用するデータとして扱います。 出典、信頼度、取得元を付け、許可した領域だけをモデルへ渡します。
Microsoftの間接攻撃対策は、外部内容のマーキング、計画の逸脱検知、ツール連鎖の分析などを含む多層防御を示しています。 Google Cloud Model Armorは、入出力のプロンプト攻撃や機密情報を実行時に検査する機能を提供しています。
防御の確認項目。
- 指示と外部データを別の領域で渡す
- 取得元を許可リストで制限する
- 外部文書から直接ツールを実行しない
- ツール引数を型と許容値で検査する
- 送信、削除、購入は人が内容を確認する
- 一定回数の失敗や計画逸脱で停止する
検出をすり抜けても権限で止める
プロンプト攻撃の検出は確率的で、すべてを正しく判定できるとは限りません。 攻撃が成功したと仮定し、専用の身元、短時間の認証情報、読み取り中心の権限、操作上限を使います。
OWASPのExcessive Agencyは、必要以上の機能、権限、自律性を減らす対策を示しています。 具体的な設定はAIエージェントの権限管理で確認できます。
攻撃例を継続評価と監視へ残す
公開前に、命令の上書き、秘密の抽出、外部文書経由、ツール出力経由の試験を行います。 検出率だけでなく、攻撃後に禁止操作が実行されなかったかを合格条件にします。
OWASP LLM Top 10の脆弱性分類を試験観点に使い、実際に見つかった攻撃を評価データへ追加します。 AIエージェントの監視設計では、遮断後の調査に必要なログを整理できます。
プロンプトインジェクションでよくある質問
システムプロンプトを長くすれば防げますか?
指示を明確にする効果はありますが、それだけで外部情報からの攻撃を防げません。 入力検査、データ分離、最小権限、ツール引数の検証、承認を別の制御として実装します。 いずれかの制御が外れても、送信や削除へ到達できないことを攻撃例で確かめます。
社内文書にも攻撃対策が必要ですか?
必要です。 文書が誤っていたり、外部から取り込まれたり、閲覧権限が広すぎたりする可能性があるため、社内という理由だけで信頼しません。 登録元、更新者、参照権限を確認し、外部由来の内容は命令と分離して扱います。
攻撃を検出したら何を記録しますか?
入力、参照元、検出理由、モデルの計画、要求したツール、遮断結果、利用者、時刻を記録します。 ただし、ログ自体へ秘密や個人情報を過剰に残さないよう、保存範囲と閲覧権限も決めます。
攻撃の検出と実行権限の制限を分ける
プロンプトインジェクションは、入力欄だけでなくエージェントが読むすべての情報から届きます。 検出が外れても重大操作へ進めない構成が、被害を小さくします。
- 直接攻撃は利用者入力、間接攻撃は外部情報から届く
- 外部データはシステム指示と分離して扱う
- ツール引数と連続操作を制限する
- 攻撃例を評価と監視へ追加する
次にAIエージェントの権限管理で、読み取り、更新、承認を分ける方法を確認してください。




