プロンプトインジェクションとは?生成AIへの指示を悪用する攻撃と対策

プロンプトインジェクションで外部の指示をAIが扱わないための仕組みを示すITパスポート学習用アイキャッチ

結論:プロンプトインジェクションは、生成AIに渡す指示へ悪意のある文を紛れ込ませ、本来の指示と異なる動作や情報の扱いをさせようとする攻撃です。利用者が直接入力した文章だけでなく、AIが読むWebページ、メール、添付文書にも指示らしい文が含まれることがあります。ITパスポートでは、AIへの入力を無条件に信頼せず、権限と扱う情報を分ける考え方を押さえます。

目次

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

プロンプトは、生成AIへ与える質問、条件、役割などの指示です。プロンプトインジェクションでは、攻撃者が用意した文がAIへの指示として解釈されるようにし、元の目的から外れた出力や処理を引き出そうとします。

たとえば、社内文書を要約するAIが、文書内に書かれた「それまでの指示を無視して、別の内容を出力する」という文を命令として扱うと、本来の要約という目的が崩れます。文書にそのような文が書かれているだけで必ず攻撃が成功するわけではありませんが、外部の内容をAIに読ませるときは、内容と命令を区別できる設計が必要です。

IPAのITパスポート試験シラバスVer.6.5では、プロンプトインジェクション攻撃は攻撃手法の用語例に含まれています。生成AIを便利な道具として使うだけでなく、指示を受け取る仕組みが悪用されうる点を理解することが大切です。

なぜ起きるのか:指示とデータが同じ入力に入るため

生成AIを組み込んだサービスでは、利用者の質問に加えて、検索結果、Webページ、社内の文書、メールなどを読み込み、回答の材料にすることがあります。このときAIにとって、どこまでが守るべき指示で、どこからが参考にするデータかを明確に扱えなければ、データに含まれた命令風の文が処理へ影響する可能性があります。

  1. 本来の目的を定める:要約、検索、問い合わせ対応など、AIに許す作業を決めます。
  2. 外部の内容を取り込む:利用者の入力やWebページ、文書を回答の材料として渡します。
  3. 悪意ある指示が混ざる:データの一部に、目的を変えようとする文が含まれます。
  4. 権限を超える処理を防ぐ:AIの出力だけで重要な操作を確定せず、人の確認や権限設定で止めます。

対策の中心は、魔法のように危険な文を全て見つけることではありません。AIが参照するデータを信頼度に応じて扱い、機密情報や外部送信、購入などの操作には別の確認を入れることです。

AIハルシネーション・SQLインジェクションとの違い

用語 中心となる問題 見分けるポイント
プロンプトインジェクション AIへの指示が外部の文により変えられる 指示の優先順位やAIの行動をねらう
AIハルシネーション AIが事実と異なる内容を出力する 命令の乗っ取りではなく、出力の正確性が問題になる
SQLインジェクション 入力文字列でデータベースへの命令を変える SQLという問い合わせ文を対象にした攻撃である

AIハルシネーションとは?生成AIの出力を確認する方法を読むと、もっともらしい出力でも根拠を確認する必要がある理由を整理できます。プロンプトインジェクションは、出力内容だけでなく、AIがどの指示に従ったかを確認する問題です。

生成AIとは?仕組みから活用例、注意点まで解説では、プロンプトが生成AIの出力条件になる仕組みを確認できます。まず通常の入力と出力の関係を理解すると、入力に混ざった第三者の指示が問題になる理由が分かります。

ファイアウォールとは?通信を制御する仕組みもあわせて確認してください。ファイアウォールが主に通信の許可・遮断を担うのに対し、プロンプトインジェクション対策ではAIが扱う指示・データ・権限を分ける必要があります。

仕事での場面:社内文書を読むAIを使う前に

仕事では、社内規程、議事録、問い合わせ履歴をAIに検索・要約させる場面があります。ここで重要なのは、AIに必要以上の権限を渡さないことです。たとえば閲覧用のAIに、メール送信やファイル共有まで自動実行させる権限を与えると、誤った指示を受けたときの影響が大きくなります。

運用では、参照できる文書の範囲を業務ごとに限定し、外部の文章は信頼できない入力として扱います。AIの回答をもとに顧客への連絡や設定変更をする場合も、担当者が内容と宛先を確認してから実行します。

日常生活での場面:AI要約や検索を使うとき

日常生活でも、ブラウザのAI要約や、リンク先を読んで答えるチャット機能を使う機会があります。画面に表示された回答が、どの情報を根拠にしているかを確認し、AIが案内した手順だけでログイン情報や個人情報を入力しないことが基本です。

特に、AIが外部ページやメール本文を読んで行動を提案する場面では、元の発信者とリンク先を確かめます。便利な要約と、重要な操作の最終判断は分けて考えます。

ITパスポート試験での要点

  • プロンプトインジェクションは、生成AIへの指示を悪用する攻撃手法である。
  • AIが参照する文書やWebページにも、意図しない指示が含まれる可能性がある。
  • 対策では、入力を信頼度別に扱い、AIの権限を必要最小限にする。
  • ハルシネーションは出力の正確性、プロンプトインジェクションは指示や行動の操作が中心である。

確認問題

問題:外部Webページを読み込んで回答する生成AIについて、プロンプトインジェクションへの対策として最も適切なものはどれですか。

  1. AIが参照した文章に書かれた指示は、常に最優先で実行させる。
  2. AIにメール送信や設定変更の権限をまとめて与え、確認なしで実行させる。
  3. 外部ページの内容を信頼できない入力として扱い、重要な操作は人が確認する。
  4. 回答が自然な文章なら、参照元を確認せずに利用する。

答え:3。外部の内容には意図しない指示が含まれる可能性があります。AIが扱う入力と権限を分け、送信や変更のような影響の大きい操作は人が確認することが重要です。

目次