ホームへ戻る

AI 安全

AgentForger、URLパラメータを悪用してChatGPT Workspace Agentを偽造し、ユーザーの既存コネクタ権限を継承

Zenityは、すでに修正済みのCSRF型攻撃チェーンを公開した。ログイン中のユーザーが細工されたリンクを開くだけで、ChatGPT Agent Builderが攻撃者の制御するエージェントを自動的に作成、スケジュール設定、実行する可能性があった。この脆弱性はOAuthを回避するのではなく、既存の認可を継承するものであり、エージェントの作成フロー、実行主体、ツール権限の間に生じる新たな信頼の隙間を浮き彫りにした。

State Government Photographer · CC0 · Image source
zh-Hant

Zenity Labsは、AgentForgerと名付けたChatGPT Workspace Agentsの脆弱性を公開した。問題は、Agent Builderの作成ページが`template_name`や`initial_assistant_prompt`などのURLパラメータを受け付け、プロンプトのパラメータがページ読み込み後に自動送信され得る点にあった。このため、攻撃者は細工したリンクを通常のChatGPT URLに見せかけることができた。ログイン済みで、Workspace Agentsの権限を持ち、企業向けコネクタをすでに認可しているユーザーがリンクを開くと、攻撃者が事前定義したエージェントがそのユーザーに代わって作成、公開される可能性があった。

研究者が実演したエージェントは、承認モードを「Never ask」に変更し、定期実行タスクを設定したうえで、Outlookメールを通じて追加の指示を受信する。Gmail、Outlook、Slack、Teams、Drive、SharePointなどのコネクタは被害者によってすでに認可されているため、攻撃チェーンでOAuth同意画面を再度表示させる必要はない。エージェントは複数のシステムを横断して文書や認証情報を検索し、データを送信できるほか、被害者になりすまして社内向けフィッシングメッセージを送ることさえ可能だった。これは、従来のCSRFがエージェント化によって増幅されたものだ。偽造されるのはもはや単発のリクエストではなく、継続的に実行され、複数のツールを横断して操作できる業務上の実行主体である。

Zenityによると、この問題は6月初旬に報告され、OpenAIは数日以内に修正を完了した。現時点で、この脆弱性が実際に悪用されたことを示す証拠はない。また、公開情報にはCVE、サーバー側の修正内容の全容、影響を受けたテナントの範囲が示されていないため、すべてのAgent Builder環境が攻撃可能だったと判断することはできない。

エンジニアリングチームは、プロンプトインジェクションだけを確認すべきではない。エージェントの作成、公開、スケジュール設定、コネクタの接続、承認ポリシーの変更は、いずれも監査可能なイベントとして扱う必要がある。高権限のコネクタには、ユーザーの全権限を自動継承させるのではなく、エージェント単位の認可を適用することが望ましい。今後確認すべき点は、プラットフォームがテナント単位のエージェント一覧、作成元、変更不可能な最低承認基準、および新規エージェントやスケジュール変更に対するリアルタイムアラートを提供できるかどうかである。

出典

  1. AgentForger, Part 2: The Autonomous Insider
  2. OpenAI Fixes ChatGPT Agent Flaw That Could Let Attackers Forge an AI Insider
  3. AgentForger: Why AI Agent Security Needs More Than a Patch