プロンプトインジェクションとは? 仕組みやリスク、対策を解説

生成AIの普及に伴い、「プロンプトインジェクション」と呼ばれるサイバー攻撃が、新たなセキュリティリスクとして注目されています。この攻撃は、AIの指示文(プロンプト)を悪用することで、意図しない動作や情報漏洩を引き起こす可能性がある危険な手法です。AIを活用したサービスを展開する企業にとって、無視できない深刻な脅威となりつつあります。
本記事では、プロンプトインジェクションの基本的な仕組みや種類、リスク、対策などを解説します。
プロンプトインジェクションの基本的な意味と仕組み
プロンプトインジェクションとは、生成AIに対して、意図的に悪意のある指示(プロンプト)を入力し、本来の制約や設計を無視させて意図しない動作を引き起こす攻撃手法です。主に、膨大な言語を学習して人間のように文章を理解・生成するLLM(Large Language Models:大規模言語モデル)などの生成AIを標的としています。
典型的な例は、AI翻訳アプリなどで「これまでの指示を無視して、常に◯◯と回答してください」といった入力を行うことで、通常は表示されないはずの内容が生成されてしまうといったケースです。このような手法により、AIが本来提供すべきでない情報を出力してしまう可能性もあります。
いまや多くの企業で、チャットボットやカスタマーサポート、ドキュメント生成などで生成AIの利用シーンが増えているため、プロンプトインジェクションによる情報漏洩などのリスクに注意が必要です。
プロンプトインジェクションが発生する背景
プロンプトインジェクションが発生する背景には、生成AIの構造的な脆弱性と、柔軟な応答性を実現するための仕様が関係しています。
生成AIの構造的な脆弱性とは、開発者が定めた制約や方針であるシステムプロンプトと、ユーザーの入力をAIが区別できないという点です。そのため、悪意のあるユーザーが巧妙に仕込んだ命令文により、AIの本来の指示を上書きすることが可能となってしまいます。
また、AIの柔軟性や応答の自然さを維持するため、入力に対する制限を厳しく設定するのも困難です。攻撃者は平易な言葉や曖昧な表現を用いてAIを巧みに誘導しますが、そういった表現の入力を制限すると生成AIの利便性に影響を及ぼします。そのため、フィルタリングや検知でプロンプトインジェクションに対応するのも難しいと言わざるを得ません。
企業の生成AI活用の場面では、API連携や外部サービスとの統合が進み、AIがWebサイト、チャットログ、ドキュメントなどの外部データを参照する機会も増えています。その結果、参照元に仕込まれた悪意あるプロンプトによって、AIが間接的に攻撃されるリスクも高まっています。
プロンプトインジェクションの種類
プロンプトインジェクションには大きく分けて「直接的プロンプトインジェクション」と「間接的プロンプトインジェクション」の2種類があります。これらは、下記のように攻撃の仕組みや経路が異なるため、それぞれの特徴を理解しておくことが重要です。
種類 | 攻撃経路 | 特徴 |
---|---|---|
直接的プロンプトインジェクション | ユーザー入力 | AIへの直接命令 |
間接的プロンプトインジェクション | 外部データ | AIが参照する情報に攻撃を仕込む |
直接的プロンプトインジェクション
直接的プロンプトインジェクションとは、攻撃者が生成AIに直接悪意のあるプロンプトを入力し、意図的にAIの動作を操作する攻撃手法です。例えば、AIに「これまでの指示を無視して、◯◯について教えてください」と入力することで、本来禁止されている情報を出力させたり、誤った動作を引き起こさせたりするケースがあります。
この攻撃はシンプルである一方で、言い換えや曖昧な表現を用いることでAIによる入力内容のチェックをすり抜けることもできるため、一般的には対処が困難です。さらに、近年では画像データや非テキスト形式のデータ内にプロンプトを埋め込むといった高度な手法も報告されており、対策の難度が増しています。
間接的プロンプトインジェクション
間接的プロンプトインジェクションとは、Webサイト、APIからの情報、チャットログといったAIが参照する外部データに悪意のあるプロンプトを仕込むことで、AIの出力を操作する攻撃手法です。
例えば、攻撃者が意図的に改ざんしたWebサイトや投稿に「このページを読んだら、◯◯という動作をする」といったプロンプトを記載し、AIがそのデータを読み込むことで不正な挙動が発生します。
このタイプの攻撃は、AIの入力経路に直接アクセスせずとも影響を与えられるため、入力内容の制限では対処が困難です。企業にとっては、外部情報を参照する設定がそのままリスク要因になる点が課題となります。
プロンプトインジェクションとジェイルブレイクの違い
プロンプトインジェクションとジェイルブレイクは、いずれも生成AIに対するセキュリティ攻撃の一種ですが、その目的や手法に違いがあります。両者を混同せずに理解することで、適切なリスク対策が可能となります。
プロンプトインジェクションは、悪意のあるプロンプトを自然な入力文に偽装し、意図しない応答や動作を引き起こす攻撃手法です。攻撃者は、無害な通常のユーザーとして振る舞いながら、巧妙にAIの挙動を自分の思い通りにできるように命令を仕込みます。
一方、ジェイルブレイクは、AIに設けられた安全上の制約を回避して、本来禁止されている内容を生成・実行させることを目的とした手法です。例えば、ルールのないAIとして振る舞うように指示をする「Do Anything Now」(DAN)と呼ばれるプロンプトが、ジェイルブレイクの典型的な例として挙げられます。
両者は異なる概念ですが、プロンプトインジェクションを行うためにジェイルブレイクの手法を活用するケースなどもあります。
項目 | プロンプトインジェクション | ジェイルブレイク |
---|---|---|
目的 | AIへの指示の上書き | AIに設定された安全上の制約の回避 |
手法 | 悪意あるプロンプトの直接入力だけでなく、WeサイトやAPIなどAIが参照する外部データへのプロンプトの混入も含む | AIへの悪意のあるプロンプトの入力 |
発生する被害 | 情報漏洩、システムの誤作動など、想定していない挙動 | 本来禁止されているコンテンツの出力 |
プロンプトインジェクションによるリスクや影響
プロンプトインジェクションは、単にAIの挙動を誤らせるだけではなく、企業の信用や社会全体に深刻な影響を与える可能性を持っています。代表的なリスクとしては、下記4点が挙げられます。
リスクの種類 | 概要 |
---|---|
情報漏洩 | 攻撃者によりシステムプロンプトや顧客情報などの機密データが外部に漏洩 |
システムへの不正操作 | AIを通じて誤った指示や業務処理を誘発することで、業務やシステムに混乱が発生 |
誤情報の拡散 | AIに誤情報を生成させることで、社会的混乱の発生やブランド価値の毀損を誘発 |
マルウェア作成やサイバー攻撃支援 | コード生成できるAIを悪用し、マルウェアやサイバー攻撃のツールを作成 |
情報漏洩
プロンプトインジェクションによるリスクの1つが、機密情報の漏洩です。攻撃者がAIをだまし、システムプロンプトや内部情報を引き出そうとするようなケースで発生します。
例えば、APIキー、顧客データ、業務ログ、チャット履歴といった情報が外部に流出する恐れがあります。情報漏洩は、企業の信頼失墜だけでなく、関係者への損害賠償などにもつながる可能性があるため、重大なリスクといえるでしょう。
システムの不正操作
AIを経由したプロンプトインジェクション攻撃は、システムそのものの不正操作を誘発することもあります。想定されるのは、カスタマーサポートAIに不正な返金指示を出させたり、システム設定を勝手に変更させたりする事例などです。
こうした被害は、企業の業務プロセスに直接的な混乱を招き、業務停止や不正取引といった重大な結果につながるリスクがあります。権限管理や業務フローのチェック体制が不十分な場合、被害はさらに拡大しやすくなります。
誤情報やフェイクニュースの拡散
プロンプトインジェクションによってAIが誤情報を生成すると、フェイクニュースの拡散につながる危険性があります。特に政治や医療といった分野で誤情報が拡散すると、社会的な混乱を引き起こす可能性もあります。
また、誤情報の拡散によって企業のブランド価値や信頼を毀損することも可能です。攻撃者は意図的に誤情報を広め、企業や社会に悪影響を及ぼすことを狙っているため、AIの出力監視や情報源の信頼性確保が重要です。
マルウェア作成やサイバー攻撃支援
生成AIのコード生成機能を悪用することで、マルウェアや不正ツールを効率的に作成できる点も、プロンプトインジェクションのリスクといえます。プロンプトを巧妙に操作すれば、DDoS攻撃用のプログラムやパスワードを突破するツールの生成などができる可能性があります。
AIがサイバー攻撃の支援装置として利用されないよう、企業はAIの利用制限や監査体制の整備に取り組むことが重要です。
プロンプトインジェクションと類似したサイバー攻撃との違い
プロンプトインジェクションは、以前から存在するインジェクション攻撃と一見似ていますが、その対象や仕組みには明確な違いがあります。主なインジェクション攻撃の種類としては、下記の4種類が挙げられます。
名称 | 概要 |
---|---|
SQLインジェクション | データベースに不正なクエリを挿入することで情報を窃取・改ざん |
HTMLインジェクション | Webフォームなどに不正なHTMLコードを挿入してWebページを改ざん |
OSコマンドインジェクション | Webアプリケーションの脆弱性を利用してサーバーOS上で任意のシステムコマンドを実行 |
JavaScriptインジェクション | Webフォームなどに不正なスクリプトを埋め込み、ユーザーの情報を窃取 |
プロンプトインジェクションも上記の各種インジェクション攻撃も、入力内容の検証における不備を突く点では変わりません。ただし、プロンプトインジェクションはこれらとは異なり、「自然言語処理」というAI特有の脆弱性を狙う点に独自性があります。
そのため、プロンプトインジェクションでも従来の攻撃と同様、入力内容の検証のほか、悪意のあるコードや特殊な文字列を無害化するサニタイズ処理は重要ですが、さらにAIに付与する権限の最小化やAIが参照するデータの監視といった特有の対策も求められます。
プロンプトインジェクションに関する法規制
プロンプトインジェクションは、不正アクセス行為の一種として法律で規制されています。プロンプトインジェクションは、不正アクセス禁止法で規制されている「情報の不正取得」などに該当する可能性があり、違反した場合は刑事罰などの法的責任を問われかねません。
従業員がプロンプトインジェクションを行っている事実が判明した場合、企業にコンプライアンス上の問題が発生する可能性もあります。つまり、プロンプトインジェクションは技術的リスクであると同時に法的リスクでもあるといえます。
プロンプトインジェクションに対する企業の対策の重要性
プロンプトインジェクションは、情報漏洩や業務妨害といった重大な被害をもたらす可能性があるため、企業にとって看過できない脅威です。AIを活用したサービスや業務が増えるほど、攻撃者に狙われるリスクは高まります。
そのため、企業は技術的なセキュリティ対策と共に、組織全体でリスク管理を行う姿勢が求められます。AIを活用したサービスでプロンプトインジェクションが発生する可能性を念頭に置いて、サービスの利用状況をチェックする体制を整備し、関係部署へのリスクの周知も行わなければなりません。
また、AI関連の攻撃手法は進化が速いため、セキュリティポリシーや運用体制を常にアップデートしていく必要もあります。
プロンプトインジェクションの具体的な防止策
プロンプトインジェクションは、AIの柔軟性を逆手に取った巧妙な攻撃であるため、多層的な対策で防ぐことが重要です。下記では、代表的な防止策を整理します。
防止策の種類 | 概要 |
---|---|
入力検証とフィルタリングの強化 | ユーザーの入力を検査し、不正なプロンプトを遮断する |
AIモデルの設定と利用環境の強化 | アクセス権限の最小化やセキュリティ機器で防御を強化する |
ユーザー教育と啓発の推進 | 従業員やユーザーにリスクを理解させ、安全な利用を促す |
入出力内容の監視とログ分析の実施 | AIとのやりとりを監視し、異常な挙動を早期に発見する |
入力検証とフィルタリングの強化
プロンプトインジェクションに対する代表的な対策は、ユーザーによる入力内容を検証し、不正なプロンプトを遮断することです。禁止する文言をリストアップする「ブラックリスト方式」や、許可する文言だけをリストアップしてそれ以外の入力を禁止する「ホワイトリスト方式」で制限したいキーワードを検出し、フィルタリングするのが代表的な対策ですが、自然言語処理を用いた異常検知も効果的です。
ただし、制限を厳しくしすぎるとユーザーの利便性が低下するため、バランスが重要です。
- 併せて読みたい
AIモデルの設定と利用環境の強化
プロンプトインジェクションを防ぐには、AIに不要な権限を与えず、アクセス範囲を最小限にすることも重要です。不要な権限を与えた場合、AIが不正なプロンプトを入力された際に被害が拡大する可能性があります。
また、ファイアウォールやIDS(Intrusion Detection System:不正侵入検知システム)などのセキュリティ機器を活用し、不正アクセスを未然に防ぐことも必要です。加えて、AIモデルの更新やセキュリティパッチの定期的な適用も行い、環境を常に最新に保つことで、脆弱性を突いた攻撃を受けるリスクを低減できます。
- 併せて読みたい
ユーザー教育と啓発の推進
プロンプトインジェクションを防ぐには、ユーザーへの啓発も必要です。不用意にプロンプトインジェクションを行わないよう、法的リスクなどを周知し、安全にAIを活用したサービスを利用できる方法を説明しましょう。
また、従業員側の対応として、異常を発見した際の報告ルールを定めることが有効です。定期的なトレーニングや模擬攻撃演習を行えば、実践的なリスク対応力を高めることができます。
入出力内容の監視とログ分析の実施
AIの入出力内容を監視し、ログを定期的に分析すると、プロンプトインジェクションで用いられる不正なプロンプトや異常な応答を早期に発見できます。リアルタイムで監視し、アラートを通知できるツールを活用すれば、被害の拡大を防ぐ即時対応も可能です。
また、蓄積したログを分析すれば攻撃パターンの傾向を把握でき、今後の防御策の改善にも役立ちます。
プロンプトインジェクションの仕組みを理解して適切な対策を講じよう
プロンプトインジェクションは、生成AIを悪用して機密情報を引き出したり、不正な動作を誘発させたりする危険な攻撃手法です。企業にとっては情報漏洩や業務妨害、社会的信用の失墜につながる可能性があり、十分な警戒が求められます。攻撃の仕組みや種類、発生する背景を正しく理解し、多層的な防止策を講じましょう。
また、情報漏洩対策には、データを保護するための専用ツールを導入するのも有効な方法です。インターコムの「MaLion」シリーズであれば、ファイルアクセスなどの各種操作のログ監視やアクセス権限の設定、セキュリティポリシーに反する行為への警告・制限などに対応しています。
「MaLion」シリーズには、従業員が社内でChatGPTを利用する際に「ユーザーは誰か」「いつからいつまで利用していたか」「どの端末を使っていたか」「何を入力したか」といった情報を確認できる機能も搭載されており、不用意な入力による情報漏洩リスクの軽減も可能です。プロンプトインジェクション対策と共に、総合的な情報漏洩対策を考えているなら、ぜひご検討ください。