抽象插畫,背景為深海軍藍黑色調:最左側一個小型霧面黑色六角模組,射出五條極細的發光青色絲線,向右呈扇形展開,每條絲線各自擊中一支獨立的細長多面玻璃稜柱,稜柱矗立於拉絲鋼地面上。每支稜柱內部都有一個圓柱形內腔,由內透出淡藍色光芒;五支之中有三支在藍色核心旁另帶溫暖的琥珀色光暈,兩支則僅有藍光。體積霧、輪廓光、淺景深。畫面中不出現任何文字、數字、人物或組織標誌。OrcaRouter 標誌合成於右下角。
AI Safety Incidents

BragJack:一款瀏覽器擴充功能劫持了五大瀏覽器中的 AI 代理程式

作者

Gideon Frost

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

2026 年 9 月 16 日,Forever Security 的安全研究員 Gal Weizman 發表了 BragJack:一項概念驗證,其中一個普通瀏覽器擴充功能——沒有零日漏洞、沒有越獄模型、沒有遭入侵的廠商伺服器——接管了五款基於 Chromium 的產品內建的 AI 代理,包括 Google Chrome 中的 Gemini Live、Microsoft Edge 中的 Copilot、Opera Neon、Perplexity Comet,以及 Chrome 中的 Claude。這個擴充功能並未要求任何特殊權限。它利用內容腳本與 Chromium 的 declarativeNetRequest API——也就是大多數廣告封鎖器都有的同樣兩項權限——觸及每家廠商自家網站用來向其代理傳送指令的私人通道。Weizman 報告指出,Comet 是受影響範圍最廣的入侵,Google 與 Microsoft 已發布修正並指派 CVE-2026-0628 與 CVE-2026-55945,且尚未觀察到任何實際攻擊。此事被編錄為高嚴重性漏洞,收錄於 AI 事件資料庫,其中每筆紀錄都附有來源、信心等級與爭議標記。

這個擴充套件並沒有破壞模型。它破壞的是通道。

根據 Forever Security 同日發布的技術說明,這五款產品的建構方式全都相同。每一款在瀏覽器內都有一個「身體」,可以開啟分頁、讀取本機檔案、截圖並點擊頁面;在瀏覽器外則有一個「大腦」,負責決定身體該做什麼——Chrome 使用 Google 的 Gemini 伺服器,Comet 使用 perplexity.ai 網頁應用程式,Edge 使用 copilot.microsoft.com,Claude in Chrome 使用 Anthropic 的後端。這個「身體」被設計成只接受來自單一來源的指令:廠商自己的網站。這個唯一受信任的來源就是整個安全模型。它也是瀏覽器擴充功能被允許觸及的對象。

Chromium 會授予任何已安裝的擴充功能兩種近乎通用的能力。內容指令碼可讓它在頁面內執行 JavaScript。declarativeNetRequest API(或 DNR)則可讓它改寫網路流量——移除回應標頭、將指令碼要求重新導向至其他伺服器。瀏覽器確實花費不少心力,讓這兩種能力遠離特權介面,而五家廠商中有四家已完成部分工作。Weizman 在每個案例中發現的,都是他們仍留下未封堵的那部分存在缺口。

他將這種通用技術稱為 DinNeR Serving:使用 DNR 削弱受信任頁面的安全性標頭,然後再次使用 DNR,將該頁面的某個指令碼請求重新導向到攻擊者控制的伺服器。現在該頁面執行的是攻擊者的程式碼,但它仍相信自己就是廠商的頁面,而代理程式仍相信它聽到的是廠商的訊息。在 Chrome 中,Weizman 回報,擴充功能已被正確阻止將內容指令碼或偵錯工具附加到內嵌的 Gemini 應用程式,而且 DNR 是 Chromium 在 WebView 內尚未將相同保護延伸適用的唯一機制。剝除 Content-Security-Policy 並放寬文件隔離政策,就足以把從 gstatic.com 提供的指令碼替換成他自己的,接著從 chrome://glic 內部,他就能直接送出瀏覽器代理程式自己的訊息類型——在 file:/// 位址建立分頁、將其以文字、PDF 或螢幕擷取畫面讀回,並取得已登入設定檔的電子郵件地址和圖片。

同一個擴充功能在各個瀏覽器分別做了什麼

這個擴充功能並不是五個工具。它是一份要求取得 declarativeNetRequest 與廣泛主機存取權的單一資訊清單,外加每個目標各自一份的規則檔;幾次攻擊之間改變的只有規則。Forever Security 自家的表格最能清楚總結每條攻擊鏈所觸及的範圍,現轉錄於下。其中最關鍵的一列是「代理劫持」:在五者之中的四個裡,實際展示出的結果並非竊取資料,而是取得對一個代理的控制權,使其能在已登入的工作階段內代替使用者行事。

Impact table card titled 'One extension, five targets', subtitled 'Per Forever Security's own impact table, reproduced without additions.' Five columns are headed Chrome with the sub-label Gemini Live, Comet with Perplexity, Edge with Copilot, Opera with Neon, and Claude with in Chrome. Eight rows read: Local file access, Yes for Chrome and Comet and a dash for the other three; Microphone and camera, Yes for Chrome only; Agent hijack, a dash for Chrome and Yes for the other four; Browser profile leak, Yes for Chrome and Comet; Browsing history leak, Yes for Comet only; Screenshots of tabs, Yes for Chrome and Comet; Zero clicks after install, Yes in all five columns; and CVE assigned, reading 2026-0628 under Chrome, 2026-55945 under Edge and a dash elsewhere. An amber footer strip reads 'No entry in this table has been independently reproduced; the per-browser chains are the researcher's account.'

這些各瀏覽器鏈是 BragJack 中沒有第二方核查過的部分。BleepingComputer、Cyber Security News、Cloud Security Alliance 和泰國國家 CERT 都報導了此次披露,且全都以相同方式描述其機制,但他們每一個都是在描述 Forever Security 的報告,而非對其進行測試。ThaiCERT 於 2026 年 9 月 21 日的通知引用 BleepingComputer 作為來源。因此,以下內容是 Weizman 對他自己概念驗證的敘述——披露本就是如此——而不是獨立重現的結果。

Perplexity Comet:一個仍在信任清單上的測試網域

在研究人員自己的排名中,Comet 是五者中最差的,而原因是結構性的,並非程式碼疏漏。Perplexity 打造了一款瀏覽器,其中代理程式握有瀏覽器本身的權限,因此被劫持的代理程式會繼承所有這些權限。Perplexity 也做了其他家所跳過的防禦工作:擴充功能完全被禁止在 perplexity.ai 上執行,這就是為什麼 Weizman 說廣告封鎖器在那裡無法運作。

漏洞出在代理程式擴充功能用來接受指令的來源清單上。根據技術說明,那份清單有十個項目,而不是一個——perplexity.ai 及其 www 變體,加上 perplexity.com 與 perplexity.ai 上的 testing、staging 和 preview 主機。只有正式環境主機經過強化。testing.perplexity.com 仍會接受內容腳本。剩下的障礙是,那些網域每一個都會以 302 重新導向至 perplexity.ai 來回應,因此瀏覽器從未停留在測試頁面上足夠久,讓腳本得以掛載。一條會刪除 Location 標頭的 DNR 規則可移除該障礙,接著內容腳本就能透過它暴露的執行階段訊息通道,直接與代理程式擴充功能通訊。

根據 Weizman 的說法,該代理會依請求列出瀏覽紀錄、開啟任意 URL(包括 file:/// 路徑),並對可見分頁截圖——接著,透過一個能從所提供的提示啟動代理執行的命令,幾乎做出使用者能做的任何事。他的示範提示要求 Comet 造訪 perplexity.ai、摘要最近五封電子郵件,並將摘要寄到第二個地址。他也回報,file:/// 存取曾在較早的 Comet 披露中被處理過,但修正區分大小寫,因此 FiLe:///etc/hosts 仍可運作。這些都未出現在任何 Perplexity 安全公告中;該公司支付了賞金,且根據 Forever Security 的說法,已修復向其展示的行為。

Microsoft Edge:一個行銷頁面、一次合成點擊,以及一場競速

Edge 是唯一展開反擊的目標,也是五者中最具啟發性的一個。微軟將其代理程式拆成負責接收提示的「Think」模式,以及負責在頁面上採取行動的「Do」模式,並刻意讓兩者無法同時執行——這是真正的安全機制,也從結構上阻止了提示強制。微軟還強化了 microsoft.com/edge 上展示該代理程式的行銷頁面,以三個獨立條件為其特權提示傳送功能把關:一個無法直接刪除的 Content-Security-Policy,因為標頭缺失時特權物件根本不會被建立;一個全新的使用者手勢權杖;以及一個會填入提示方塊而非送出提示的函式。

Weizman 的說法是,每個條件各靠不同的手法攻克。他沒有刪除 CSP,而是擴大其 frame-ancestors 指令的範圍,允許任何 .com 網站嵌入。至於手勢權杖,他在 manifest 中加入 debugger 權限,並發送一個合成點擊,Chromium 會將其視為自然手勢。至於競態條件,他停用 agent tools 旗標,呼叫傳送提示詞的函式,然後在代理仍在判斷自己是否被允許採取行動時重新啟用該旗標。在提示詞被強制送出的那一刻,該設定是關閉的;而在權限檢查執行的那一刻,則是開啟的。Microsoft 就是為此指派了 CVE-2026-55945。

金額與成果相稱:Forever Security 針對 Edge Chromium 的發現記錄了 3,000 美元,競態條件則記錄 2,000 美元,總計 5,000 美元——在五者中排名第三,落後於 Google 和 Perplexity 各提供的 7,000 美元。

Opera Neon 與 Chrome 中的 Claude:兩個簡單的選擇

Opera Neon 是五者中要求最少的。它的代理接受來自 opera.com 的指令,而不同於 Google 和 Perplexity 都阻止擴充功能將內容腳本附加到其代理的受信任來源,Opera 並未阻止擴充功能將內容腳本附加到該網域,因此 Weizman 的擴充功能可以在那裡注入腳本,並直接透過代理的訊息通道,用任何它喜歡的提示詞進行呼叫。移除 CSP 後,同樣的攻擊便可在任何頁面上以隱形框架嵌入。他的報告補充了一個其他報導都沒有的細節:Opera 告訴他,該公司大約在同一時間獨立發現了這個漏洞,但還是支付了 900 美元的賞金。那是研究者轉述的廠商說法,並非任一方向外公布證據的發現。

Chrome 中的 Claude 是特殊案例,因為它是擴充功能而非瀏覽器,而 Forever Security 說得很明白:一個擴充功能利用另一個擴充功能,風險比一個擴充功能利用它所運行的瀏覽器來得小。其機制是 claude.ai 上的一個行銷頁面,能將任意提示詞傳送到側邊面板,再結合一個內容腳本,該腳本會在點擊新手引導按鈕時觸發,並從資料屬性中讀取提示詞。Weizman 親自設定了頁面 body 的 id 和屬性,透過除錯工具權限發送合成點擊,側邊面板便帶著他的提示詞開啟。Anthropic 將其評為中等嚴重性,支付了賞金,且根據 Forever Security 的說法,承認該公司是首家回報這項特定發現的單位。兩篇 Forever 文章對金額略有出入——主表格中是 $600,技術附篇中是 $500。

廠商自己的紀錄實際上怎麼說

五人中只有兩人產生了公開的漏洞記錄,且兩者都比 BragJack 的報導早了數個月。Google 於 2026 年 1 月 6 日发布的穩定版發行說明列出「High CVE-2026-0628:WebView 標籤中的政策執行不足。由 Gal Weizman 於 2025-11-23 回報」,並指名 Windows 與 Mac 的 143.0.7499.192/.193,以及 Linux 的 143.0.7499.192。國家漏洞資料庫(National Vulnerability Database)於 2026 年 1 月 7 日發布的條目將該缺陷描述為允許攻擊者「說服用戶安裝惡意擴充功能,以透過特製的 Chrome Extension 將指令碼或 HTML 注入特權頁面」,將其歸類為 CWE-862(缺少授權),CVSS 3.1 分數為 8.8。這個分數並非 Google 所給:正如 The Hacker News 所指出的,它來自 CISA 對該記錄的補充,而 Google 自己的說明將此問題評為 High。

微軟的紀錄甚至更狹窄。CVE-2026-55945 於 2026 年 7 月 3 日發布,屬於 CWE-362 競爭條件,CVSS 3.1 分數為 4.2,嚴重性為 Moderate(中等)。微軟的影響陳述是「資訊揭露」,其自家 FAQ 指出所揭露的資訊是檔案內容。修正後的組建為 150.0.4078.48,於同日發布,而該紀錄的漏洞利用狀態寫著「Publicly Disclosed: No; Exploited: No」。該文件中沒有任何內容描述代理程式被驅使跨越任意網站,而這正是 Weizman 所回報的影響。這兩項陳述可以同時成立——CVE 涵蓋的是競爭條件,而行銷頁面所展示的能力則是另一項單獨付費的發現——但迄今發布的供應商文件中,沒有任何一份描述這條端到端攻擊鏈。

Timeline card titled 'Five months of fixes, then one explanation', subtitled 'Both public fixes shipped months before BragJack was published.' Five markers sit on a horizontal rail. 23 NOV 2025, 'Reported to Google', noting the date in Chrome's own release-note credit for Gal Weizman. 6 JAN 2026, 'Chrome fixed', noting that 143.0.7499.192 and .193 ship and that CVE-2026-0628 was published the next day. 3 JUL 2026, 'Edge fixed', noting that CVE-2026-55945 and build 150.0.4078.48 were published the same day. 16 SEP 2026, 'BragJack published', noting two Forever Security write-ups and that this is the date the record carries. 21 to 22 SEP 2026, 'Third-party notices', noting ThaiCERT on 21 September and the Cloud Security Alliance on 22 September. The first three markers are green and the last two amber. An amber footer strip reads 'Comet, Opera Neon and Claude in Chrome have no CVE and no published fix date.'

「零點擊」是指擴充功能安裝完成後

Forever Security 表格中的措辭準確,卻很容易被誤讀。BragJack 並非路過式(drive-by)攻擊。BleepingComputer、Cloud Security Alliance 與 ThaiCERT 都以同一個前提開頭:惡意擴充功能必須已經安裝。研究顯示的是,一旦安裝了,就不需要再點擊——擴充功能會在使用者當下所在的任何頁面上接觸到代理程式,且不顯示任何內容。對 Comet 與 Opera Neon 而言,這完全不需要互動;對 Edge 與 Claude in Chrome 而言,代理程式所要求的點擊是由擴充功能透過 debugger 權限合成出來的,因此也不是由使用者提供的。

這項區別決定了現實世界中的曝險程度。此攻擊需要的是:使用者安裝了某個惡意項目,或商店中已有信任的擴充功能後來變為惡意,而兩者都不是高門檻——這就是為什麼 CSA 的建議以擴充功能盤點為核心,並將 declarativeNetRequest 與 debugger 權限視為特權。這也是為什麼沒有人回報過攻擊:一個需要安裝惡意擴充功能的概念驗證,展示的是能力,而不是一場攻擊行動。

提示詞強制,以及附加其上的銷售論點

術語很重要,因為它描述防禦所在的位置。提示注入把指令藏在模型已經在閱讀的內容裡;模型的訓練與過濾器是預定的後備防線。Weizman 所做的,是寫下整個提示、選擇它送達的時機,並持續發送後續訊息——而且來自該代理被設計為信任的來源。模型層級的安全過濾從未變得相關,因為這段往來中沒有任何東西看起來像攻擊。Forever Security 稱此為提示強制。

該公司推得的必然結論是:端點偵測也無法察覺這種情況,因為沒有任何惡意程式碼執行:合法軟體只是被指示去做它原本就被允許做的事。這項說法附帶在一個產品推銷訊息上——Forever Security 販售一款 AI 原生端點代理程式,而兩篇報導都在結尾推薦它。「遭劫持的代理程式不會產生惡意軟體特徵」這個觀察並不取決於是否購買任何東西,但那是研究人員的論點,而非實測結果,且尚未有獨立第三方測試過任何一種端點產品能否偵測這些攻擊鏈。

哪些是已確立的,哪些僅仰賴單一研究者

檔案庫將此條目歸類為漏洞,嚴重程度:高,區域:全球,信心等級:B——已有記載,但來自單一或次要來源——沒有爭議,且未記錄到實際損害。該評級描述的是證據,而非這些程式錯誤的嚴重程度,而這項區分清晰地貫穿整件事。

已確立,意即由供應商或第一方紀錄如此記載:

• Google 於 2026 年 1 月 6 日在 143.0.7499.192 和 .193 中推出 Chrome 修正程式,並將一份日期為 2025 年 11 月 23 日的報告歸功於 Gal Weizman。這項資訊見於 Google 自家的版本說明,而非該研究人員對此的記述。

• CVE-2026-0628 存在,Google 將其評為 High,CISA 在 NVD 紀錄中的增補評分為 8.8,且被歸類為 WebView 標籤中的政策執行不足。

微軟於 2026 年 7 月 3 日發布 CVE-2026-55945,將其列為中度 4.2 的競爭條件,會導致資訊洩露,已於 Edge 150.0.4078.48 中修正,且利用情況記錄為無。

• 兩份 NVD 紀錄中,CISA 的 SSVC 評估都寫著「exploitation: none(尚未發現利用)」,而且無論是廠商、研究人員或通報者,都沒有人聲稱發生過實際環境中的攻擊。這代表的是「沒有相關通報」,與「證明並不存在」並不是同一回事,但這就是文章發布六週後的紀錄狀態。

單憑 Forever Security 的帳戶:

• 每個瀏覽器各自的漏洞利用鏈,包括 DNR 規則集、testing.perplexity.com 重新導向的移除、Edge 行銷頁面序列,以及 Claude 入門引導按鈕點擊。這些 CVE 描述了兩種機制;它們並未描述這些鏈。

• Comet 的完整影響清單——瀏覽紀錄、本機檔案讀取、個人設定檔資料、螢幕截圖——以及具體指控:遭劫持的 Comet 代理程式可被以淺白英文指示,要求其摘要並轉寄電子郵件。BleepingComputer 將其報導為研究人員的示範;Perplexity 未發表聲明證實或否認此事。

• Chrome 的相機與麥克風存取權限,BleepingComputer 稱其為「可能」可及,而 Forever 表格則將其列為已達成。

• 賞金總額。Forever Security 表示五家廠商合計約 20,000 美元;其自身各產品數字加總為 20,500 美元,這也是 The Hacker News 同樣提出的算術問題。Claude in Chrome 的數字在該公司的兩篇貼文之間有所不同。BleepingComputer 的「超過 20,000 美元」與任一種解讀都相符。

• 「提示強制」是一種新型態的攻擊,而不是某一類授權缺陷的名稱。那是一種定調性主張,而採用此說法的 Cloud Security Alliance 將背後的模式描述為跨廠商共有的架構缺口,而非具有自身機制的新技術。

五家供應商中有三家完全沒有發布任何漏洞記錄。CSA 指出,Perplexity、Opera 和 Anthropic 承認並修復了該特定概念驗證,但沒有發布可與 Google 和 Microsoft 相比擬的公告,而 Forever Security 則未提供這三家的修復日期。目前尚未有任何 BragJack 攻擊鏈的獨立重現結果被發表;Cyber Security News 和 ThaiCERT 都重述了該披露內容,而 ThaiCERT 引用了 BleepingComputer。

揭露之後有什麼改變

對 Chrome 和 Edge 使用者來說,實際答案是在 9 月 16 日當天並沒有任何需要改變的地方:修正程式已於 1 月和 7 月推出,任何使用 Chrome 143.0.7499.192 或更新版本,或 Edge 150.0.4078.48 或更新版本的人,早就已經修補完成。這個時間點值得好好細想。這些漏洞在將它們串連起來的技術還沒有一個名稱之前,就已經被關閉了好幾個月;這正是協調式揭露的常態樣貌,也是為什麼標題讀起來比實際修補狀態更糟的原因。

對於 Comet、Opera Neon 和 Claude in Chrome,情況就沒那麼明確。各家廠商都支付了賞金,而且根據 Forever Security 與 CSA 的說法,也都處理了所展示的行為。但沒有任何一家發布鎖定特定版本的公告或日期,因此使用者沒有可供核對的組建編號,只有「保持更新」這類一般性指示。CSA 對組織的建議是:盤點具備 declarativeNetRequest 或 debugger 權限的擴充功能,將代理式瀏覽器限制在未登入電子郵件、程式碼或財務服務的設定檔中使用,並詢問廠商如何區分合成輸入與真實使用者輸入。BleepingComputer 給個人的建議較為簡單:保持瀏覽器更新、移除不認識的擴充功能,並把「讀取及變更您在所有網站上的所有資料」當作它本來就是的警訊來看待。

Abstract illustration on a deep navy-black field: a long horizontal channel of frosted glass runs across the frame, lit from within by a cold pale-blue glow, and a single featureless rectangular slab of brushed aluminium slides along it from the left. A thin vertical plane of dark smoked glass stands across the channel, pierced by one small circular aperture. Through that aperture a narrow amber beam reaches the aluminium slab and lands on it, where the metal is etched with fine branching fracture lines. Behind the smoked-glass plane the room continues, empty and unlit. Volumetric haze, rim lighting, shallow depth of field. No text, numbers, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

尚未解決的問題不是那五個錯誤是否已被修正,而是它們背後的设计假設是否已被改變。這些產品每一個都把第一方網頁來源視為可讓具特權的本機代理程式接受指令的可信任場所,而所在瀏覽器中,任何已安裝的擴充功能都能改寫該來源所說的內容。Forever Security 主張修法是端點層級監控;CSA 則主張來源驗證、最小權限、隔離的指令通道,以及不可偽造的輸入溯源。在本文審閱過的任何紀錄中,這五家廠商都沒有公開表示,他們改變的是架構,而不只是 Weizman 走過的那條特定路徑。

這份紀錄上的日期,是提出解釋的日期,而不是漏洞的日期——而這個時間差正是故事所在。一個擴充功能、兩項廣告阻擋器多年來早已握有的權限,以及五家各自相信自家網站是攻擊者唯一無法立足之處的廠商。