Tenableの研究者は、ChatGPTに影響を及ぼす一連の脆弱性と攻撃手法を特定した。これらにより、間接的なプロンプトインジェクション、ユーザーのプライベートデータの窃取、セッションをまたいだ持続、セキュリティー機構の回避が可能になる。
これらの調査結果は、攻撃者がウェブに公開された機能(検索やブラウジング)とモデル統合機能(メモリーやウェブツール)を悪用し、ユーザーに知られることなくモデルの出力を操作して機密情報を収集できることを示している。
機能しない分離
このリスクの中心にあるのは、ChatGPTがシステムプロンプト(モデルの基本命令)、会話コンテキスト(現在のセッション)、長期メモリー(bioツール)を使って応答のコンテキストを構成する仕組みだ。
ChatGPTは、検索を実行するウェブツールと、open_urlブラウジング機能も利用している。
ブラウジングは、ユーザーのメモリーにアクセスできない、より能力の低いモデルであるSearchGPTに委任される。
研究者は、この分離(分離レイヤーとして意図されたもの)が悪用される可能性を示した。
SearchGPTは、インデックス化されたウェブコンテンツを介して悪意ある命令を返すよう誘導できるため、その命令をChatGPTの会話コンテキストに再注入し、間接的なプロンプトインジェクション攻撃という新たな種類の攻撃を引き起こせる。
攻撃手法
Tenableは、プロンプトインジェクションとデータ窃取攻撃の威力を高める、7つの異なる手法を記録した。
- 間接的なプロンプトインジェクションは、ブラウジングコンテキスト内の信頼されたサイト(ブログに仕込まれたコメントなど)を介して行われる。
- 0クリックインジェクションは、検索コンテキスト内で、インデックス化されたページがSearchGPTに悪意あるプロンプトを提供するものだ。
- 1クリックインジェクションでq=クエリーパラメーターのエンドポイントを使うもの、
- URL安全性チェックの回避は、信頼されたリダイレクトリンクやトラッキングリンク(Bingのトラッキングリンクなど)を悪用して行われる。
- 会話インジェクションでは、SearchGPTの出力に仕込まれたプロンプトをChatGPTが実行する。
- 悪意あるコンテンツの隠蔽は、Markdownのレンダリング上の癖を利用して、ユーザーが注入された命令に気付かないようにするものだ。また、
- メモリーインジェクションでは、データ窃取の命令をモデルの長期メモリーに永続的に書き込み、セッションをまたいで情報漏えいを繰り返させる。
これらの脆弱性が組み合わさることで、理論を超えた現実のエクスプロイトチェーンの基盤が形成される。Tenableはこれらを組み合わせ、攻撃者がこうした弱点を武器に、ユーザーに具体的な影響を及ぼす完全なエンドツーエンド攻撃を実行できることを実証した。
コメントから侵害へ
研究者は、これらの手法を連鎖させ、現実的な攻撃を示す概念実証を作成した。
攻撃ベクトルの例は次のとおりだ。
- SearchGPTにChatGPTの返信へリンクや命令を注入させ、ユーザーに悪意あるURLをクリックさせるブログコメント。
- ユーザーが関連する質問をしただけで0クリックインジェクションを発動させる、悪意あるインデックス化サイト。
- その後の会話でプライベート情報を自動的に漏えいさせるメモリーインジェクション。
実際の影響は、メモリーやチャット履歴に保存されたユーザーのプライベートデータの開示から、持続的な窃取やひそかな永続化まで及ぶ。AI検索やブラウジングに依存する、数億人に上る可能性のあるLLMユーザーが影響を受ける。
Tenableの研究はさらに、url_safeエンドポイントなどのセキュリティー機構が、信頼されたリダイレクト経路やクローラーのインデックス化動作を利用することで回避され得ることを示している。
ある手法では、研究者がBingのトラッキングリダイレクトを使い、1文字ずつデータを窃取した。
SearchGPTの脆弱性、悪意ある命令を隠すレンダリング上の癖、そしてChatGPTの会話メモリーが組み合わさることで、こうした攻撃チェーンは特に発見しにくく危険なものになる。
セキュリティー専門家は、影響が個別の脆弱性にとどまらないと警告している。
Picus Security共同創業者兼Picus Labs副社長のDr. Süleyman Özarslan氏は、次のように述べた。
「この研究は、GenAIが安全なサンドボックス内で動作しているという幻想を打ち砕くものだ。RAG、ブラウジング、長期メモリーといった標準機能を武器にすることで、攻撃者はユーザーに悪意あるリンクをクリックさせることなく、間接的なプロンプトインジェクションを実行できる。間違った質問をするだけで感染させられるのだ」
同氏はさらに、次のように述べた。
「しかし、ITリーダーは、こうした『新しい』脆弱性の正体を認識すべきだ。これはAI向けに再パッケージ化された、従来型のウェブアプリケーションの欠陥である。AIの終末を恐れてパニックになるのではなく、他のインターネット公開アプリケーションにすでに適用しているのと同じ厳格なAppSec標準とゼロトラストアーキテクチャーを、AIパイプラインにも適用すべきだ」
攻撃対象領域を封鎖する
組織やプラットフォーム運営者は、こうした攻撃ベクトルへの露出を減らすため、多層的な防御を導入すべきだ。
- ウェブブラウジングとインデックス化の範囲を制限する:モデルの応答に対する自動ブラウジングとウェブクローラーによるインデックス化を無効にするか厳しく制限し、外部コンテンツは利用前に検証してサニタイズする。
- メモリーとコンテキストを保護する:メモリーを機密データとして扱い、メモリーへの書き込みには強力な認可を要求するとともに、保存項目を確認・消去するための明確な操作手段をユーザーに提供する。
- 検索とURLの処理を強化する:第三者のリダイレクトを無条件に信頼せず、URLのレンダリング経路を検証し、信頼されたリダイレクターを考慮してURL安全性チェックを厳格化する。
- 監視し、モデルの悪用を検知する:モデルのブラウジング、メモリーの更新、異常な出力パターンを計測し、繰り返し発生する構造化された窃取行動を検出する異常検知を導入する。
こうした対策を講じることで、組織はデータ漏えいとモデル操作のリスクを低減できる。
Tenableの研究は、LLMが直接的なプロンプトインジェクションだけでなく、ウェブインフラ、レンダリング動作、メモリー機能を悪用してプライベートデータを持続的に漏えいさせる高度な間接攻撃チェーンにも脆弱であることを明らかにした。
モデルがブラウジング機能やメモリー機能を獲得するにつれ、防御側は脅威モデルを見直し、会話状態を機密情報として扱い、ひそかな窃取や永続化を防ぐため、モデル層とプラットフォーム層の双方に堅牢な制御を実装しなければならない。
特にマルウェア解析などの分野で。





