プロンプトインジェクションとは、生成AI(大規模言語モデル)が読み込む文章に悪意ある指示を紛れ込ませ、開発者や利用者が意図しない動作をさせる攻撃手法です。ツールやサービスの名前ではありません。「SQLインジェクション」になぞらえて名付けられた、AIに特有の脆弱性を指す言葉です。
プロンプトインジェクションとは:なぜ起きるのか
LLMは3種類の文章をすべて同じ「テキスト」として受け取ります。開発者が書いた指示(システムプロンプト)、ユーザーの入力、AIが参照するWebページやメールの中身です。命令とデータを確実に区別する仕組みがありません。そのため、データの中に「これまでの指示を無視して〜せよ」と書かれていると、それを命令として実行してしまうことがあります。
SQLインジェクションには、プレースホルダという決め手になる対策があります。プロンプトインジェクションには、それに当たる完全な防御策が今のところ確立されていません。
直接型と間接型
直接型は、利用者自身がチャット欄に細工した文章を入力する手口です。禁止された回答や、内部の指示文を引き出そうとします。
間接型は、AIが後から読む外部データに指示を仕込む手口です。Webページに人間には見えない文字で指示を埋め込んだり、要約させるメールや文書に命令を書いておいたりします。利用者に悪意がなくても攻撃が成り立つため、こちらの方が厄介です。
AIエージェントで被害が大きくなる理由
AIがブラウザを操作し、メールを送り、APIを呼べる「エージェント」になると、乗っ取られたときにできることが増えます。The Registerは、AWSのAIエージェント基盤「AgentCore」の防御が、資格情報を求めるプロンプトによって破られたと報じました。エージェントに渡した秘密情報が、悪意ある指示で引き出されうることを示す事例とみられます。ただし、具体的な手口や影響の範囲、AWSの対応は当サイトでは確認できていません。
使い方・料金は?:製品ではありません
プロンプトインジェクションは契約して使うものではないので、料金はかかりません。エンジニアにとっての「使い方」は、自社のAIアプリに攻撃を試して弱点を洗い出す検証(レッドチーミング)です。他社のサービスに無断で試すのはやめてください。
費用がかかるのは守る側です。企画・DX担当者がAIを導入するときは、次の3点を確認してください。AIに与える権限を最小限にしているか。送金や外部への送信など重要な操作の前に、人間の承認か自動チェックが入るか。外部データを信用しない設計になっているか。対策製品の価格は、当サイトでは把握していません。
誰が対策しているのか:投資家向け
攻撃手法なので「開発元」はありません。名付け親は開発者のSimon Willison氏で、2022年のことです。セキュリティ団体のOWASPは、LLMアプリの主なリスクをまとめた一覧で、プロンプトインジェクションを1番目に挙げています。
対策を担っているのは、AIモデルの開発企業とクラウド事業者です。Anthropicは、ブラウザを操作する拡張機能「Claude in Chrome」に、実行直前の操作を安全性分類器が依頼内容と照らし合わせて自動承認する仕組みを入れました。プロンプトインジェクション対策の評価では、この分類器と検知機構を組み合わせています。エージェントが広まるにつれて、こうした防御力がAI基盤の競争軸の一つになると当サイトはみています(推測)。





