検証:単一の悪意ある拡張機能で5ブラウザーのAIエージェントを乗っ取る「BragJack」

2026年9月22日 17:46

印刷

記事提供元:Tech Times

(Denny Müller/Unsplash)

(Denny Müller/Unsplash)[写真拡大]

Forever Securityのセキュリティ研究者Gal Weizman氏は、一般的な権限を持つ悪意あるブラウザー拡張機能が、5製品のAIエージェントを操作し得るとする検証結果「BragJack」を公開した。Google ChromeとMicrosoft Edgeでは、報告された脆弱性への修正が提供済みとされる一方、Perplexity Comet、Opera Neon、Claude in Chromeの修正状況は、研究公開時点で確認されていなかった。AIブラウザー機能を使う利用者は、ブラウザーと拡張機能を更新し、導入済み拡張機能を見直す必要がある。

■クリックなしでAIエージェントを操作し得る手法

広告ブロッカーも日常的に要求するような一般的な権限を持つ悪意あるブラウザー拡張機能が1つあれば、広く使われる5種類のブラウザーに組み込まれたAIエージェントを完全に操作できる可能性がある。攻撃者は利用者の操作なしに、ローカルファイルの読み取り、スクリーンショットの取得、カメラの有効化、利用者になりすましたメールやアカウント操作を行えるという。

Forever Securityのセキュリティ研究者Gal Weizman氏は2026年9月16日、この検証結果を「BragJack」として公表した。対象はGoogle ChromeのGemini Live、Microsoft EdgeのCopilot agent、Opera Neon、Perplexity Comet、AnthropicのClaude in Chrome拡張機能である。GoogleとMicrosoftは、それぞれChromeのCVE-2026-0628、EdgeのCVE-2026-55945を修正した。一方、残る3製品の修正状況は、研究の公開時点で未確認だった。この研究によりWeizman氏は5ベンダーから合計2万ドル超(約314万円、1ドル=157円換算)の報奨金を得た。

■プロンプトインジェクションとは異なる「Prompt Forcing」

セキュリティコミュニティでは過去2年間、AIエージェントが閲覧中のWebページ、文書、メールといったコンテンツに悪意ある指示を隠し、モデルに命令として扱わせようとする「プロンプトインジェクション」が問題視されてきた。これは、進行中の会話に言葉を紛れ込ませ、AIが発話者を取り違えることを狙う手法である。

BragJackでWeizman氏が示した「Prompt Forcing」は、構造的に異なる。AIが読むコンテンツに指示を隠すのではなく、攻撃者が作成したプロンプト全体をエージェントに渡し、その後も追加命令を出す。攻撃者はAIの通常の入力経路を迂回し、エージェントの指示を実行するブラウザーのコンポーネントに直接働き掛けるため、AIのガードレールを欺く必要がない。

実際の攻撃には悪意あるコードが不要となる。正規のブラウザーAIエージェントが、正当に付与された高い権限で、英語の通常文として書かれた命令に従って動作するためである。悪意ある実行ファイル、不審なコードパターン、異常なシステムコールを監視するエンドポイント検知・対応(EDR)製品には、検知すべき明確なシグナルがない。Weizman氏は研究で、「EDRは平易な英語で書かれた攻撃を検知するようには作られていない」と述べた。

この点は業界の評価とも一致する。MorphisecのアナリストBrad LaPorte氏は2026年6月、AI主導の攻撃は検知を上回ると指摘した。高度なシステムであっても、挙動の監視、シグナルの解釈、悪意の判定、対応開始という段階を踏む必要があり、この遅延をAI速度の攻撃が利用できるというアーキテクチャ上の制約がある。

■ネットワーク通信を変更するDNR APIが共通の起点

BragJackの5件の攻撃はすべて、ChromiumのdeclarativeNetRequest(DNR)APIに共通の技術的起点がある。Chrome 84以降で利用できる拡張機能向けの機能であり、拡張機能が通信内容を読むことなく、リソースのリダイレクト、レスポンスヘッダーの調整、接続の遮断など、ネットワークリクエストの処理を変更できる。

DNRは、拡張機能にすべてのネットワークリクエストへの完全な可視性を与えていた旧APIに比べ、プライバシーを改善する目的で設計された。広告ブロッカー、クーポン検索機能、多数の生産性向上ツールを支える仕組みでもある。必要なのはdeclarativeNetRequest権限だけであり、Chromeの拡張機能システムでは取得時の摩擦が少なく、特別なインストール警告も表示されない権限の1つである。

ブラウザーベンダーは、拡張機能が特権的なAIコンポーネントに悪意あるJavaScriptを直接注入する可能性を想定し、これを防いでいた。拡張機能は、Chrome内部のGeminiコンポーネントであるchrome://glic、perplexity.ai、その他の信頼済みAIドメイン上でコンテンツスクリプトを実行できない。しかし、ページへのスクリプト注入を防ぐことと、そのページのネットワーク通信をDNRルールで横取りすることを防ぐことは別である。Weizman氏は、特権的なAIページが読み込むJavaScriptリソースをDNRルールで傍受し、自身のコードに差し替えられることを見いだした。このコードは信頼済みページのコンテキストで実行され、AI本体から権威あるものとして受け入れられる。

■製品別に異なる影響範囲

Google Chrome — CVE-2026-0628、報奨金7000ドル(約110万円、1ドル=157円換算)、2026年1月に修正:生データへのアクセスという点で最も重大な対象だった。拡張機能がChromeのGemini Webアプリ読み込み時のDNRの隙を悪用すると、利用者の操作なしにOS上のローカルファイル読み取り、スクリーンショット取得、カメラとマイクの有効化が可能だった。米CISAはこの脆弱性を10点中8.8と評価した。Googleは2026年1月にChrome 143.0.7499.192で修正した。

Perplexity Comet — 報奨金7000ドル(約110万円、1ドル=157円換算)、修正状況は未確認:Weizman氏はCometを「最も壊滅的な」対象と呼んだ。Cometは、OSのファイルアクセスを含むブラウザー本体のすべての権限をAIエージェントに持たせる、完全にエージェント型のブラウザーとして設計されているためである。拡張機能スクリプトに対して厳格化されたメインのperplexity.aiではなく、同氏は本番ブラウザーのコードに残された開発用ドメインtesting.perplexity.comを発見した。通常はレスポンスヘッダーによるリダイレクトで訪問者をメインサイトへ戻すが、DNRルールはヘッダーを除去できる。リダイレクトを除去すると、拡張機能はテスト用ドメインでコマンドを注入できた。取得可能な情報・操作には、スクリーンショット、閲覧履歴、ローカルファイルの読み取り、外部アドレスへのメール送信を含む任意の行動をAIエージェントに指示する機能が含まれた。

Microsoft Edge — CVE-2026-55945、報奨金5000ドル(約79万円、1ドル=157円換算)、2026年7月2日に修正:Microsoftは拡張機能を用いる攻撃を想定し、Copilot agentを2モードに分割していた。「Think」モードはプロンプトを受け付け、ページを読み取る。「Do」モードは操作できるが、新たなプロンプトは受け付けない。両モードが同時に動かない設計だった。Weizman氏は、エージェントをThinkモードにして悪意あるプロンプトを注入し、セキュリティ状態の遷移が終わる前に直ちにDoモードへ切り替える競合状態を利用した。制限が再び有効になるまでの短時間、エージェントは攻撃者の命令を実行した。CISAはこの競合状態であるCVE-2026-55945を4.2(中程度)と評価し、Microsoftは2026年7月2日にEdge 150.0.4078.48で修正した。

Opera Neon — 報奨金900ドル(約14万円、1ドル=157円換算)、修正状況は未確認:5件で最も単純であり、ある意味では最も示唆的な攻撃だった。OperaのAIエージェントはopera.comドメインを信頼していたが、Operaは拡張機能が同ドメインでスクリプトを実行することを阻止していなかった。Weizman氏はDNRを使わずにコードを直接注入し、ただちにエージェントへコマンドを送れた。Operaもほぼ同じ時期に独自に同じ不具合を発見していたが、報奨金は支払われた。

Anthropic Claude in Chrome — 報奨金600ドル(約9万4000円、1ドル=157円換算)、重要度は中、修正状況は未確認:Weizman氏はこれが研究中で最も深刻度の低い発見だったと認めている。Claude in Chromeはブラウザー内蔵コンポーネントではなく拡張機能そのものであり、攻撃はある拡張機能が別の拡張機能を悪用するものとなる。このため、完全なブラウザーを悪用する場合よりリスクプロファイルは明確に低い。とはいえAnthropicは、送信できるプロンプトを制限せず、Claudeサイドパネルへプロンプトを送れるマーケティングページを作成していた。Claude in Chromeは他の拡張機能によるclaude.ai上での実行を阻止できないため、Weizman氏はコードを注入し、メール要約を外部アドレスへ送信できることを実証した。

■Claude for Chromeで続く拡張機能の問題

BragJackは、Claude for Chromeが2026年にセキュリティ上の精査を受けた3度目の事例である。4月にはセキュリティ企業LayerXが「ClaudeBleed」を開示した。これは、拡張機能がclaude.aiオリジン上で動くあらゆるスクリプトからの命令を受け入れ、それがAnthropicのものか、別の拡張機能が注入したコードかを検証しない、信頼境界の設計上の不具合だった。

この攻撃では、宣言済み権限を持たない拡張機能であっても、ClaudeにGoogle Driveファイルの共有、Gmailメッセージの送信、GitHubリポジトリーコードの抽出、操作の証拠の削除を指示でき、意味のある利用者同意は不要だった。

Anthropicは、外部ページがClaudeへ渡せるプロンプトを限定し、あらかじめ承認された固定のタスク群に拡張機能の露出を制限する修正を提供した。しかしManifold Securityは7月、これらのタスクを有効化する仕組みが、トリガーとなるクリックが実際の利用者によるものかを検証していないと報告した。つまり別の拡張機能が操作を模擬し、処理を開始できる。この弱点は、Manifold Securityによる最初の開示から8リリース後も再現可能だった。

■既存のエンドポイント防御が捉えにくい理由

従来のエンドポイントセキュリティは、有害な行為には有害なコードが伴うことを前提にしている。EDR製品は悪意ある実行ファイル、不審なシステムコール、通常と異なるファイルアクセスパターン、異常なネットワーク接続を監視する。しかしChromeのGeminiアシスタントが攻撃者の制御下にあるパスへスクリーンショットを保存する場合、その操作は正規のプロセスであるChromeが、正当に許可されたAPIを用い、英語の文による命令に応じて実行する。バイナリペイロード、シェルコード、エクスプロイトキットは存在しない。

Trend Microの2026年版脅威動向分析も同じ構造的な問題を説明している。広範なAPIキー、長期にわたって有効なシークレット、機密データへのアクセスを持つ企業環境のAIエージェントは、急速に価値の高い標的になっている。エンドポイントは、人間、その人のID、扱うデータ、そして本人または攻撃者が動かすAIツールが集まる場所になっている。

■実環境での悪用を示す証拠はないが、前提となる拡張機能攻撃は現実に起きている

BragJack固有の手法が実環境で使われた証拠はない。2026年9月16日時点で、2件のCVEはいずれも米CISAのKnown Exploited Vulnerabilitiesカタログに掲載されておらず、5つのBragJack手法のいずれかが実際の攻撃に使われた証拠もなかった。BragJackの実証ではすべて、攻撃者の拡張機能がすでに被害者のブラウザーで実行されていることが必要であり、これは多くの拡張機能ベースの攻撃と同じ前提条件である。

ただし、同種の攻撃は別の経路で数百万人の利用者に到達している。2025年7月にはUrban VPN Proxy拡張機能がコードをひそかに更新し、800万超のChromeおよびEdge環境でChatGPT、Claude、Gemini、Microsoft CopilotのAI会話を傍受し、会話を収集して広告主へ販売した。2026年1月にはOX Securityが、AIアシスタントを装う2つの拡張機能を発見した。うち1つにはGoogleの「Featured」バッジが付いており、合計90万超のインストールを集めていた。これらは30分ごとにAI会話履歴を攻撃者管理サーバーへ送信していた。

BragJackは、攻撃がすでに起きているとの報告ではなく、攻撃で何が可能になり得るかを示す概念実証である。ただし、この両者の隔たりは過去1年で着実に縮まっている。

■個別の修正後にも残る設計上の課題

BragJackの5件に通底するのは特定の実装ミスではなく、セキュリティモデルである。各ブラウザーは、AIコンポーネントが命令を実行する唯一の信頼済みWebページを指定することでAIコンポーネントを守ろうとした。このモデルは、AIに命令できるページを制限すれば、AIの行動を制限できるという前提に立つ。

Weizman氏の研究は、この前提が不完全であることを示す。コンテンツスクリプトの注入制限は、信頼済みページ自身のコードを保護するが、同ページのネットワーク通信は保護しない。perplexity.ai上でコードを実行できない拡張機能でも、Perplexityのサーバーからperplexity.aiが読み込むJavaScriptファイルを傍受できる。そのファイルを攻撃者管理下のコードで置き換えると、ページに直接触れずに、信頼済みページの実行コンテキストへコードを入れられる。

ChromeやEdgeの更新による個別の不具合修正は、Weizman氏が使った具体的な経路を閉じる。しかし、高い権限を持つAIエージェントの唯一の認可境界として信頼済みWebページ1つを置く基本構造は残る。このモデルを採用し、AIエージェントに昇格した権限を与えるブラウザーはすべて、AIエージェントとの通信経路を、通常のWebアクセスとは異なり、より高い権限を要するカテゴリーとして扱う必要がある。バグ報奨金に基づく修正はWeizman氏が見つけた問題に対応するものだが、同じ設計の別の部分で次の研究者が見つける問題まで解決するものではない。

■ブラウザーAIを保護するためにできること

すべてのブラウザーとブラウザー拡張機能を最新の状態に保つべきである。GoogleとMicrosoftは担当するCVEを修正しており、Chrome向け更新は2026年1月、Edge向け更新は2026年7月に提供された。Perplexity Comet、Opera Neon、Claude in Chromeの利用者は、ソフトウェアを最新に保ち、各ベンダーのセキュリティ更新を監視する必要がある。

導入済みの拡張機能も監査する。ブラウザーの拡張機能管理ページを開き、一覧にあるすべてを確認する。認識できないもの、使っていないもの、用途を説明できないものは削除する。「すべてのWebサイト上のすべてのデータの読み取りと変更」を要求する拡張機能は、BragJack型攻撃を試みるために必要な権限を持つ。こうした権限を持つすべての拡張機能が悪意あるものではないが、権限を持つ拡張機能が増えるほど攻撃対象領域は広がる。

Claude in Chromeについては特に、「Act without asking」設定を無効にする。このモードでは、拡張機能が各操作の確認プロンプトなしに実行するため、予期しないリクエストの進行を利用者が見つける機会が失われる。確認プロンプトを有効にしていれば、悪意ある拡張機能がタスクを起動しようとして生成した模擬クリックでも、目に見える確認ダイアログが表示される。

AIブラウザーエージェントをそもそも有効にしているかも検討すべきである。メールの読み取り、ファイルへのアクセス、スクリーンショットの取得、利用者に代わるWebサイト上の操作といったAIエージェントの有用な機能は、標的としての価値を高める機能でもある。これらの統合機能のセキュリティアーキテクチャーが、さらなる堅牢化と公開研究を通じて成熟するまで、有効化したAIエージェントの各機能は、受け入れるリスクに関する判断となる。

元記事: Single Extension Hijacks AI Agents in Five Browsers Without Any User Clicks

※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。

関連キーワード