【ぷろんぷといんじぇくしょん】

プロンプトインジェクション とは?

最終更新:
💡 読むための資料に、「従え」という指示を混ぜる攻撃

AIが読む入力や外部資料に、本来の目的から外れる指示を紛れ込ませ、回答や処理を誘導する攻撃です。直接の入力だけでなく、検索結果・Webページ・文書などを経由する間接型もあります。

📌 このページのポイント
資料の中の指示で、仕事を逸らす本来の依頼:記事を要約依頼要約してAI資料を読む記事の要約✓ 本来の仕事外部資料に指示が混ざる(間接型)資料別の指示が紛れ込むAI指示を誤認意図しない結果回答の改ざん・情報漏えい等操作権限や実行の検査は、AIの外側でも
攻撃が成功する場合の例です。影響は、AIへ渡した情報・ツール・権限によって変わります。
ひよこ ひよこ
プロンプトインジェクションって、どんな攻撃?
ペンギン先生 ペンギン先生
AIが読む内容に、本来の仕事から外れる指示を混ぜる攻撃だよ。たとえば記事の要約を頼んだのに、その記事に書かれた指示で回答が別の内容へ誘導される、といったことを狙うんだ。
ひよこ ひよこ
自分が変な入力をしなければ大丈夫?
ペンギン先生 ペンギン先生
外部のWebページや文書などにも指示が混ざることがあるよ。それをAIが資料として取り込んで従ってしまうのが間接型。直接入力で誘導する直接型とは、入り口が違うんだ。
ひよこ ひよこ
成功したら、何でも盗まれちゃうの?
ペンギン先生 ペンギン先生
回答の改ざん、渡した情報の漏えい、接続ツールの不正利用などが起こり得るよ。ただしAIが読めない情報や、持っていない権限を突然得る魔法ではない。どんなデータと操作を許しているかで影響が変わるんだ。
ひよこ ひよこ
システムプロンプトに注意書きを入れれば防げる?
ペンギン先生 ペンギン先生
それも対策の一つだけれど、ひとつの注意書きで完全に防げるとはいえないよ。外部資料と指示を区別し、出力を検査し、ツールには必要最小限の権限だけを渡す。重要な送信や変更は、AIの外側のコードで確認や承認を行うことも大切だね。
ひよこ ひよこ
SQLインジェクションと同じ対策をすればいい?
ペンギン先生 ペンギン先生
入力を命令として扱ってしまう点は似ているけれど、仕組みは違うよ。SQLの値を安全に渡す対策が、そのままAIの読み取る指示を無害にするわけではない。AIへの入力・出力と、実際に操作できる範囲を別々に守ろう。
もっと詳しく知りたい人へ

RAGや追加学習を使えば、この問題はなくなる?

なくなるとはいえないよ。OWASPも、検索で資料を補うRAGや追加学習だけでは完全な対策にならないと説明している。検索結果も信頼の範囲を確認し、AIの外側でアクセス制御や重要な操作の検査を行おう。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プロンプトインジェクション」って出てきたら「AIが読むデータに指示を混ぜ、動作を誘導する攻撃」と思えばだいたいOK!
📖 おまけ:英語の意味
「Prompt Injection」 = プロンプトへの指示の注入
💬 injectionは注入の意味。AIが受け取る内容に指示を紛れ込ませる手口を指すよ。

参考資料

← 用語集にもどる