【ぷろんぷといんじぇくしょん】
プロンプトインジェクション とは?
最終更新:
💡 読むための資料に、「従え」という指示を混ぜる攻撃
AIが読む入力や外部資料に、本来の目的から外れる指示を紛れ込ませ、回答や処理を誘導する攻撃です。直接の入力だけでなく、検索結果・Webページ・文書などを経由する間接型もあります。
📌 このページのポイント
プロンプトインジェクションって、どんな攻撃?
AIが読む内容に、本来の仕事から外れる指示を混ぜる攻撃だよ。たとえば記事の要約を頼んだのに、その記事に書かれた指示で回答が別の内容へ誘導される、といったことを狙うんだ。
自分が変な入力をしなければ大丈夫?
外部のWebページや文書などにも指示が混ざることがあるよ。それをAIが資料として取り込んで従ってしまうのが間接型。直接入力で誘導する直接型とは、入り口が違うんだ。
成功したら、何でも盗まれちゃうの?
回答の改ざん、渡した情報の漏えい、接続ツールの不正利用などが起こり得るよ。ただしAIが読めない情報や、持っていない権限を突然得る魔法ではない。どんなデータと操作を許しているかで影響が変わるんだ。
システムプロンプトに注意書きを入れれば防げる?
それも対策の一つだけれど、ひとつの注意書きで完全に防げるとはいえないよ。外部資料と指示を区別し、出力を検査し、ツールには必要最小限の権限だけを渡す。重要な送信や変更は、AIの外側のコードで確認や承認を行うことも大切だね。
SQLインジェクションと同じ対策をすればいい?
もっと詳しく知りたい人へ
RAGや追加学習を使えば、この問題はなくなる?
なくなるとはいえないよ。OWASPも、検索で資料を補うRAGや追加学習だけでは完全な対策にならないと説明している。検索結果も信頼の範囲を確認し、AIの外側でアクセス制御や重要な操作の検査を行おう。
まとめ:ざっくりこれだけ覚えればOK!
「プロンプトインジェクション」って出てきたら「AIが読むデータに指示を混ぜ、動作を誘導する攻撃」と思えばだいたいOK!
📖 おまけ:英語の意味
「Prompt Injection」 = プロンプトへの指示の注入
💬 injectionは注入の意味。AIが受け取る内容に指示を紛れ込ませる手口を指すよ。