Webページ要約でGrokのチャット履歴や個人情報が外部送信される脆弱性、暗号化を悪用した新たな攻撃手法が判明
要点
-
AIセキュリティ企業のAdversa AIが、xAIのチャットボット「Grok」からユーザー情報や会話履歴を窃取可能な攻撃手法を公表した。
-
Webページ内に暗号化した攻撃指示を埋め込み、Grokのコード実行機能で復号させることで、コンテンツフィルターの検知を回避する。
-
ユーザーが該当ページを要約させるだけで、氏名や位置情報、利用プラン、会話ログが無警告で攻撃者のサーバーへ送信される恐れがある。
-
実証実験における成功率は40%とされ、現時点で修正パッチや回避策は提供されていない。
-
同様の手法はGoogleのGeminiでも確認されたほか、他社モデル間でも検知や処理の成否に差異が確認されている。
-
AIセキュリティ企業のAdversa AIは、xAIが提供するAIチャットボット「Grok」において、悪意あるWebページを要約させるだけでユーザー情報や会話履歴が外部へ流出する新たな攻撃手法「暗号化コンテキストインジェクション(Cryptographic Context Injection)」を公表した。この手法では、攻撃の指示を暗号化してWebページに埋め込むことで安全確認フィルターをすり抜け、AI自身に指示を復号・実行させる。実証実験ではユーザーへの警告や確認なしにデータ送信が行われたが、現時点で修正パッチや回避策は提供されていない。
暗号化を用いて安全フィルターを回避する仕組み
Adversa AIによると、この攻撃はGrokに備わっているPythonコード実行環境とWeb閲覧機能を悪用するものだという。
通常、AIチャットボットがWebページを読み込む際には、コンテンツ分類器(悪意あるテキストや不正な命令を検知するフィルター機能)によって内容が検査される。しかし本手法では、攻撃者の指示文を平文ではなく、暗号化されたJSON形式のデータとしてWebページ内に埋め込む。さらに、暗号鍵の生成情報や、Grokに復号を行わせる指示を同時に記載しておく。
Grokがこのページを取得すると、自身のPython実行環境内でPBKDF2(鍵導出関数)およびAES-256-GCM暗号を用いた復号処理を実行する。コンテンツ分類器は検査時に強固な暗号を解読できないため、悪意ある指示はフィルターをすり抜ける。その結果、Grokが自ら実行したプログラムの出力結果として、復号された指示がモデルのコンテキスト(対話の記憶領域)に直接読み込まれることになる。
Adversa AIの主任研究員であるRony Utevsky氏は、「強力な暗号化はコンテンツ分類器で読み取ることができず、モデルの重み(内部処理)で省略することもできないため、攻撃が依存する実行環境を通じて復号を強制させることになる」と説明している。
外部ツールを介した個人情報とチャット履歴の窃盗
復号された攻撃指示は、Grokに対してセッション内の非公開コンテキストを収集し、外部URLへアクセスするよう促す。
具体的には、Grokに偽の「復号キー」を生成させ、その文字列の中にユーザーの氏名、大まかな位置情報、サブスクリプションの契約プラン、進行中の会話プロンプト(チャット履歴)を埋め込ませる。その後、Grokは追加のコンテキストを取得するためのWebナビゲーションツールを呼び出し、URLのクエリパラメータ(URL末尾に付加されるデータ領域)にこれらの機密情報を載せて攻撃者管理のサーバーへ送信するという。
Utevsky氏によると、実証実験で窃取が確認されたプロンプトは現在進行中の会話に限定されており、モデルのコンテキスト内にすでに存在していた情報だという。AIエージェントがアクセス可能な範囲は「コンテキスト内に保持しているもの、またはツールで取得できるものすべて」に及ぶとされるが、過去の別のチャット履歴やエージェントの長期記憶などにアクセス可能かどうかは検証されていないとしている。
Adversa AIは、「xAIのフレームワークは、信頼できない外部ページから解析された指示やデータによって、インターネットに接続された特権ツールの呼び出しを許してしまっている。非公開セッションのメタデータや会話履歴が外部送信ツールの入力値として処理されることを許容しており、送信の制限やユーザーの同意確認といった有効な境界線が存在しない」と指摘している。
実証実験の結果と報告プロセス
本検証は、grok.com上で稼働する「Grok 4.5 Fast」のWebチャットを対象に行われた。Adversa AIによると、2026年6月以降に20回の攻撃試行を実施したところ、成功率は40%であったという。攻撃が失敗した原因はプロンプトや応答がフィルターで検知されたためではなく、Grok側が復号処理のコード実行に失敗したことによるものと説明されている。直近では2026年8月19日にも1回の再現が確認された。
Adversa AIは2026年6月3日にxAIおよび同社のバグ報奨金プログラム(HackerOne)へ本問題を報告した。xAI側からは報告の受領通知があったものの、具体的な対策や修正スケジュールの提示はなかったという。その後、8月4日および8月10日に再度連絡を試みたものの返答は得られず、2026年8月20日時点でxAIからの公式声明やセキュリティアドバイザリは公開されていない。
なお、悪用を防ぐため実際の攻撃コード(ペイロード)は公開されておらず、実環境での悪用事例も報告されていない。本脆弱性に対する修正パッチ、CVE識別番号(脆弱性を一意に識別するための国際的な共通識別子)、ユーザー側で設定可能な回避策は現時点で存在しない状態だ。
Google Geminiや他社モデルにおける検証結果
Adversa AIの研究チームは、同様の手法を用いた検証をGoogleの「Gemini」(有料プランのWeb版Gemini 3 Flash)のDeep Thinkingモードに対しても実施している。
Geminiを対象とした実験では、暗号化されたペイロードを復号させることで、偽のPythonトレースバック(エラー発生時の履歴情報)や安全ポリシー無効化コードを認識させ、制限されたコンテンツの生成やシステム指示(AIの振る舞いを定義する初期設定)の出力を引き出すジェイルブレイク(安全制限の解除)に成功したという。ただし、Googleの脆弱性開示プログラムではジェイルブレイクが対象外とされているため事前通知は行われておらず、2026年8月時点ではフィルター更新やモデルのバージョン変更などにより成功率が大幅に低下していると報告されている。
さらに他社モデルを対象とした比較検証では、OpenAIの「GPT-5」は復号指示の構文解析に失敗し、Anthropicの「Claude Sonnet 4.5」はペイロードを復号した後にプロンプトインジェクションとして検知して遮断するなど、モデルごとに異なる挙動が確認されたという。