王国への鍵はただ一つ
単一のチャットボットに編集権限を付与することが、システム全体を掌握するマスターキーになり得ることが判明しました。具体的には、Google Dialogflow CX内で発見された「Rogue Agent」脆弱性により、たった一つのエージェントへのアクセス権を持つ悪意ある人物が、同一のGoogle Cloudプロジェクト内でコードブロックを利用する他のすべてのエージェントを制御下に置くことが可能でした。
Varonisの詳細な調査によると、この重大なセキュリティ上の欠陥は、Playbooksを使って会話型エージェントを構築し、カスタムPythonコードを組み込んでいた組織に影響を及ぼしていました。認証を一切経ずに完全リモートから攻撃することは、原理的に不可能でした。この弱点を悪用するには、攻撃者はdialogflow.playbooks.update権限を必ず保持している必要がありました。つまり、この脆弱性を悪用できるのは、内部の不正な関係者か、正規の開発者アカウントの認証情報を何らかの方法で窃取した外部の脅威アクターに限られていました。
共有Cloud Run環境の悪用
根本的な問題として、単一プロジェクト内でコードブロックを使用するすべてのエージェントは、共通のCloud Run実行環境を共有していました。セキュリティ専門家は、この共有空間内に明白な脆弱性があることを突き止めました。それは、すべてのエージェントのコード準備と実行を担うcode_execution_env.pyという、誰でも書き込み可能なファイルです。悪意を持って細工された単一のコードブロックによって、この重要なファイルを不正なバージョンで完全に上書きすることが可能でした。この差し替えが行われると、以降は接続されているどのチャットボットがコードブロックを起動しても、その改ざんされたコードが無差別に実行される状態になっていました。
会話の傍受と応答の偽装
この不正な差し替えにより、攻撃者は会話履歴、進行中のセッションデータ、そしてチャットボットの応答を生成する中核機能に対する完全なアクセス権を得ていました。研究者らが実施した制御された実証実験では、この仕組みを使って、非公開のチャット記録を外部のコマンド&コントロールサーバーへ気づかれずに送信することができました。さらに、パスワードの再入力を求める巧妙なフィッシング要求など、悪意あるメッセージをエンドユーザーに直接注入することも可能でした。開発者コンソール上で元のブロックを元に戻しても攻撃は止まりませんでした。改ざんされたPythonファイルは、実行中のコンテナ内でそのまま生き続けていたためです。
気づかれない情報流出と対応
Varonisによるさらなる分析で、この実行環境が無制限のアウトバウンドインターネットアクセスを保持しており、外部からのコマンドを自由に受信できる状態だったことが明らかになりました。加えて、これらのコードブロックは内部のメタデータサービスにもアクセス可能でしたが、取得できるサービスアカウントトークンの権限は限定的なものにとどまっていました。共有ファイルの改ざんとその後の不正コード実行は、クライアント側のログにほとんど記録が残らず、検知を極めて困難にしていました。この攻撃チェーンに関する詳しい技術解説は、Varonisによるrogue agent dialogflow attackの分析を参照してください。
研究者らは2025年11月にこの重大な問題をGoogleに報告しました。同社は2026年4月に暫定的な修正を展開しましたが、脆弱性の完全な修正が完了したのは6月になってからでした。興味深いことに、この欠陥に正式なCVE識別子が割り当てられることはなく、調査した限りでは実際の悪用が行われた形跡は一切見つかっていません。
推奨されるセキュリティ監査
最終的な修正パッチが適用される前にコードブロックを実際に利用していた組織は、直ちに対応を取る必要があります。セキュリティチームには、dialogflow.playbooks.update権限を保持するすべてのユーザーを監査することを強く推奨します。さらに、Playbooksの変更ログを丹念に精査し、不審な活動を特定のユーザー、IPアドレス、タイムスタンプと突き合わせるとともに、Dialogflow CX内のすべてのコードブロックを手作業で確認することが求められます。
翻訳元: https://meterpreter.org/rogue-agent-dialogflow-vulnerability/