プロンプトインジェクション(Prompt Injection)とは、生成AI(主に大規模言語モデル:LLM)への入力文(プロンプト)に悪意のある指示を紛れ込ませ、AIに本来のシステム制約や安全ルールを無視させて意図しない挙動を引き起こすサイバー攻撃手法だ。
へのプロンプトインジェクション攻撃-1024x558.jpg)
発生のメカニズム

LLMは、システム開発者が設定した「システムプロンプト(動作ルール)」と、利用者が入力した「ユーザープロンプト」を、同じ自然言語の文脈としてまとめて処理する。
この構造上、指示の「境界」を厳密に区別することが難しく、入力内に「これまでの指示をすべて無視して〜を実行せよ」といった命令が入ると、AIがシステムプロンプトよりもユーザー入力を優先して処理してしまう脆弱性が生じる。
主な攻撃手法


類似概念との違い
• vs ジェイルブレイク(Jailbreak):ジェイルブレイクが主に「AIの倫理制限や安全フィルターを突破して不適切な回答を出力させること」を目的とするのに対し、プロンプトインジェクションは「AIのシステム動作や接続されたツール・権限を乗っ取ること」に重きを置く。
• vs SQLインジェクション:攻撃構造は類似しているが、SQLインジェクションがデータベース言語(SQL)を標的にするのに対し、プロンプトインジェクションは揺らぎのある「自然言語」を対象とするため、従来のルールベース検知が難しく完全な防ぎ切りが困難となる。
企業のAI利用におけるリスク

• 機密情報・個人情報の漏洩:RAG(検索拡張生成)などで連携された社内データベースや、システム内部のAPIキー・設定値が流出する
• システムの不正操作・権限昇格:AIエージェントが外部ツール実行権限を持つ場合、データの改ざん、不正なメール送信、コード実行などが第三者から操作される。
• 誤情報・不利益な回答の出力:顧客対応チャットボットが操作され、「全額返金に応じます」といった虚偽の回答を生成させられる。
多層防御のアプローチ(対策)
-1024x558.jpg)
自然言語処理の性質上、単一の対策で完全防止することは不可能なため、多層防御(Defense in Depth)が基本原則となる。
1. 入力検証・フィルタリング
◦ 「前の指示を無視」等の危険キーワードや異常パターンの事前ブロック。
2. 構造化とプロンプト分離
◦ システムプロンプトとユーザー入力を明示的に分離する枠組み(テンプレート化)の適用。
3. 最小権限の原則(Principle of Least Privilege)
◦ AIシステムやエージェントに与えるデータベースアクセス権やAPI実行権限を必要最小限にとどめる。
4. ヒューマン・イン・ザ・ループ(Human-in-the-Loop)
◦ データの削除・送金・重要設定の変更など、破壊的な処理を実行する前には必ず人間の承認を挟む。
5. 出力検証とモニタリング
◦ 出力結果に機密情報や不正な命令が含まれていないかをリアルタイム監視し、ログ分析を行う。