プロンプトインジェクションとは、生成AIや大規模言語モデル(LLM)へ不正な指示を与え、本来の指示や利用者の意図とは異なる動作へ誘導する攻撃・脆弱性です。
たとえば、AIが読み込むWebページに不正な命令が仕込まれる場合があります。すると、AIがページの内容ではなく「新しい指示」として解釈するおそれがあります。
ChatGPTなどの対話型AIを使うだけなら、難しい技術知識は必須ではありません。一方、AIをWeb検索やメール、ファイルへ接続する機会は増えています。そのため、プロンプトインジェクションを知る重要性も高まります。
この記事では、プロンプトインジェクションの意味や仕組み、具体例を解説します。また、ジェイルブレイクとの違いや、安全にAIを使うための注意点も初心者向けに紹介します。
プロンプトインジェクションとは
プロンプトインジェクションは、AIが受け取る指示へ別の指示を紛れ込ませ、本来想定していない回答や行動へ誘導することです。
生成AIは文章中の指示を解釈して応答します。しかし、本来の指示と外部から入り込んだ指示を区別できない場合があります。この性質が悪用されると、意図しない動作につながります。
簡単にいうと
初心者向けに簡単に表すと、プロンプトインジェクションは**「AIを文章でだまし、本来とは違うことをさせようとする攻撃」**です。
人間に対するフィッシングでは、偽のメールやWebページを使って人をだまします。一方、プロンプトインジェクションでは、AIが読む文章やデータの中へ悪意ある指示を混ぜ、AIを誤誘導します。
ただし、プロンプトインジェクションが必ず成功するわけではありません。AIサービス側でもさまざまな安全対策が行われています。
なぜプロンプトインジェクションが起こるのか
大きな理由は、生成AIが指示と処理対象のデータを、どちらも自然言語として扱うことです。
たとえば、AIに次の2つが同時に渡されたとします。
- 「この文書を要約してください」という利用者の指示
- 文書内に書かれた「要約を中止し、別の処理をしてください」という文章
人間なら後者を「文書の中身」と判断できても、AIシステムの設計や状況によっては、それを新たな命令として解釈する可能性があります。
そのため、単に「危険な文章を入力しない」という対策だけでは不十分です。

プロンプトインジェクションの仕組み
まず、プロンプトインジェクションは直接型と間接型に分けて考えると理解しやすくなります。
直接プロンプトインジェクション
はじめに、直接プロンプトインジェクションは、利用者がAIとの会話へ不正な指示を入力するタイプです。
イメージとしては、次の流れです。
- AIには本来の役割やルールが設定されている
- 利用者が別の指示を入力する
- その入力が本来のルールへ干渉する
- AIが想定外の回答や処理を行う可能性が生じる
ただし、単なる質問と攻撃を同じものとして扱う必要はありません。問題になるのは、AIの安全ルールや本来の役割を意図的に変えようとする入力です。
間接プロンプトインジェクション
一方、間接プロンプトインジェクションでは、攻撃者がAIへ直接話しかける必要がありません。
悪意ある指示を、たとえば次のような外部コンテンツへ埋め込む方法があります。
- Webページ
- メール
- PDFや文書
- 検索結果
- AIへ読み込ませるファイル
- 外部サービスから取得した情報
ユーザーが「このページを要約して」と依頼しただけでも、ページ内に不正な指示が存在すれば、AIがそれを処理してしまう可能性があります。
また、AIがWeb検索や外部ツールを利用するほど、間接型への対策も重要になります。

プロンプトインジェクションの具体例
また、プロンプトインジェクションは、AIが扱う情報源によってさまざまな形で発生します。
Webページを要約する場合
たとえば、ユーザーがAIへ「このWebページを要約して」と依頼したとします。
通常であれば、AIはページの内容を読み取り、重要な部分をまとめます。しかし、ページ内にAI向けの不正な指示が隠されている場合、それを文章ではなく命令として処理する可能性があります。
結果として、要約内容が意図的に変更されるなどの問題につながることがあります。
メールをAIに処理させる場合
また、AIへメールの整理や返信作成を任せるケースも注意が必要です。
受信したメール本文に悪意ある指示が含まれていると、AIがその内容に影響される可能性があります。特にメール、ファイル、クラウドサービスなど複数の情報へアクセスできるAIでは、権限管理が重要です。
AIエージェントを利用する場合
さらに、AIが検索やファイル操作、メール送信まで行える場合、影響は大きくなる可能性があります。
たとえば、本来は「商品を調べる」だけの処理であっても、悪意あるWebコンテンツの指示をAIが誤って実行すれば、利用者が望んでいない操作へ進むリスクがあります。
そのため、AIへ与える権限は必要最小限にすることが基本です。
プロンプトインジェクションとジェイルブレイクの違い
プロンプトインジェクションとジェイルブレイクは関連する概念ですが、完全に同じ意味ではありません。
| 項目 | プロンプトインジェクション | ジェイルブレイク |
|---|---|---|
| 主な目的 | AIの本来の指示・動作を別方向へ誘導する | AIの安全制限を回避しようとする |
| 入力元 | ユーザー入力・Web・メール・文書など | 主に攻撃者からの入力 |
| 間接型 | ある | 一般には直接的な試みが中心 |
| 関係 | より広い脅威として扱われる | プロンプトインジェクションの一形態として整理されることがある |
つまり、プロンプトインジェクションはAIの指示を不正に操作する問題を広く指し、その中で安全制限の突破を狙うものがジェイルブレイクと考えると理解しやすいでしょう。
プロンプトインジェクションは何が危険なのか
プロンプトインジェクションによる影響は、AIにどのような情報や権限を与えているかによって変わります。
主なリスクとして考えられるのは次のようなものです。
- AIの回答が意図的に操作される
- 誤った情報を出力する
- 本来公開すべきでない情報を扱う
- 接続したツールを意図しない方法で利用する
- AIエージェントが利用者の望まない操作を試みる
単純なチャットAIよりも、メール、クラウドストレージ、業務システムなどへ接続されたAIのほうが、攻撃成功時の影響は大きくなりやすいと考えられます。
そのため、「AIそのものを安全にする」だけでなく、AIに何を見せ、どこまで操作させるかも重要です。
プロンプトインジェクションへの安全な使い方・対策
プロンプトインジェクションを理解する目的は、攻撃方法を実践することではなく、生成AIを安全に使うためのリスクを知ることです。
一般利用者と、AIシステムを開発・運用する側では対策が異なります。
一般利用者ができる対策
生成AIを利用するときは、次の点を意識しましょう。
- 不要なサービスやアプリをAIへ接続しない
- 必要以上の権限を与えない
- パスワードや機密情報を安易に入力しない
- AIが実行しようとしている重要操作を確認する
- Webやメールを処理した後の回答をそのまま信用しない
- 不自然な動作をした場合は処理を止める
特に、メール送信、購入、ファイル変更など、元に戻しにくい操作では人による確認が重要です。
また、「メールを全部確認して必要なことをやって」のように広すぎる依頼よりも、目的や実行範囲を限定したほうがリスクを抑えやすくなります。
開発・運用側で重要な対策
AIサービスを開発・運用する場合、プロンプトへ「不正な指示を無視してください」と書くだけでは十分とはいえません。
代表的な対策には次のものがあります。
- AIの権限を必要最小限にする
- 信頼できる指示と外部データを分けて扱う
- 入力・出力を検査する
- 外部コンテンツを信頼済み情報として扱わない
- 重要操作には人による承認を入れる
- 出力形式を制限し、プログラム側でも検証する
- ログや異常動作を監視する
- 定期的に安全性テストを行う
1つの対策だけに頼るのではなく、複数の防御を組み合わせる「多層防御」が重要です。

プロンプトインジェクションは完全に防げる?
現時点では、プロンプトインジェクションをどのような状況でも完全に防げると考えるべきではありません。
生成AIは自然言語を柔軟に理解できることが強みですが、その柔軟性は、正規の指示と悪意ある文章を区別する難しさにもつながります。
そのため、安全対策では「絶対に攻撃を受けないシステム」を前提とするよりも、次のような考え方が重要です。
- 攻撃を受けにくくする
- 攻撃されても権限を限定する
- 重要な操作には人の確認を入れる
- 異常を検知できるようにする
- 問題発生時の影響を小さくする
AIエージェントや外部サービス連携を利用するときほど、この考え方が重要になります。
プロンプトインジェクションに関するよくある質問
プロンプトインジェクションとは簡単にいうと何ですか?
AIへ悪意ある指示を紛れ込ませ、本来の指示とは異なる回答や行動へ誘導しようとする攻撃・脆弱性です。
ChatGPTを使うだけでも注意が必要ですか?
通常の質問だけで過度に心配する必要はありません。ただし、Web検索、メール、ファイル、外部サービスなどをAIへ接続する場合は、外部コンテンツ経由のプロンプトインジェクションも意識する必要があります。
プロンプトインジェクションと普通のプロンプトは何が違いますか?
普通のプロンプトは、AIへ目的に沿った指示を伝えるためのものです。プロンプトインジェクションは、その仕組みを悪用して、本来の指示や安全対策へ干渉しようとするものです。
ジェイルブレイクと同じ意味ですか?
完全に同じではありません。ジェイルブレイクは、安全制限を回避しようとする試みを指し、プロンプトインジェクションの一形態として扱われる場合があります。
「前の指示を無視して」と書かれていれば、必ず攻撃ですか?
文言だけで一律に判断できません。文章の引用やセキュリティ学習の例として使われる場合もあります。重要なのは、その入力がAIの本来の指示へ干渉し、意図しない動作をさせようとしているかどうかです。
プロンプトインジェクションは完全に防止できますか?
完全防止を前提にするのは適切ではありません。権限の制限、外部データの分離、人による承認、監視など複数の対策を組み合わせ、攻撃が成功した場合の影響も抑えることが重要です。
まとめ
プロンプトインジェクションとは、生成AIやLLMに悪意ある指示を与え、本来のルールや利用者の目的とは異なる動作へ誘導する攻撃・脆弱性です。
ユーザーが直接入力する「直接プロンプトインジェクション」だけでなく、Webページ、メール、文書などに仕込まれた指示をAIが読み込む「間接プロンプトインジェクション」もあります。
生成AIが検索や文章作成だけでなく、メール、ファイル、外部ツールを操作するようになるほど、影響範囲は広がります。
安全に利用するためには、AIを過度に信用するのではなく、必要最小限の権限、外部情報の慎重な取り扱い、重要操作の人による確認、多層的な安全対策を組み合わせることが大切です。
