實證研究 發布於 AIA: 2026年8月25日

Spyder 與 MaXSS 讓一般網頁沿用 AI 擴充功能的高權限

Rebora 揭露兩個不同的瀏覽器擴充功能權限邊界問題。Spyder 影響 Sider(可在瀏覽器側欄使用多種 AI 模型的擴充功能):攻擊者網頁可用程式合成的拖曳事件,跨來源操作已登入的 Gemini 頁面。MaXSS 影響 MaxAI(另一款讓使用者在瀏覽網頁時使用 AI 的側欄擴充功能):攻擊者可偽造由網頁送往擴充功能的訊息,再利用可呼叫高權限背景功能的通用橋接。研究發表時,Rebora 統計這兩項產品在 Chrome 與 Edge 的安裝次數合計約 1,100 萬次;不過,兩者的漏洞機制與修正狀態不同,必須分開審查。

Permission BypassData ExfiltrationClient SecurityTool AuthorizationExtension Security
5 項對應的 AIDEFEND 防禦手法
來源: MaXSS & Spyder: How two Chrome extensions allow websites to compromise over 10 million browsers 
作者: Gal Weizman and Gal Bashan (Rebora Security Research)
原文發布: 2026年6月10日

威脅分析

  • 兩條攻擊鏈都從一般網頁開始。受害者只要已安裝受影響的 AI 側欄擴充功能,並在瀏覽器中保持登入。網頁本身並沒有擴充功能權限。
  • Spyder 把合成拖曳事件轉換成跨來源控制。攻擊者網頁觸發 dragstart 事件,啟動 Sider 的連結預覽路徑與 disable-iframe-restrictions 訊息。Sider 移除回應限制後,把 Gemini 嵌入 iframe。
  • Sider 路徑接著模擬使用者操作。攻擊者網頁利用 open 模式的 Shadow DOM(頁面腳本可直接存取的封裝 DOM)與 iframe 的 WindowProxy,向已登入的 Gemini 來源送出點擊與輸入命令。Rebora 的展示中,攻擊者要求 Gemini 取出近期資訊、建立分享連結,再把連結外傳。
  • MaXSS 跨越的是另一個訊息邊界。網頁提供符合預期的 Service ID,並設定可由頁面控制的標記,使訊息通過 MaxAI Content Script(擴充功能注入網頁、負責與網頁互動的腳本)的來源檢查。Content Script 再把 RUN_BACKGROUND_FUNCTION 請求連同攻擊者指定的瀏覽器 API 名稱與參數,轉交高權限的背景 Worker(擴充功能中可呼叫瀏覽器 API 的背景程式)。
  • MaxAI 的通用橋接讓網頁能呼叫多項高權限瀏覽器功能。Rebora 展示了查詢分頁、暗中開啟已登入網站與擷取截圖等操作;研究也展示,修改 Declarative Net Request 規則後會形成通用型跨網站指令碼攻擊(UXSS)。原文討論了讀取本機檔案的可能性,但沒有把它列為已展示攻擊鏈的結果。
  • 現況不能只沿用 6 月揭露時的說法。AIDEFEND Labs 在 8 月 25 日對擴充功能商店上架的版本做了靜態檢查:Sider 5.32.2 已在研究所用的拖曳入口要求 isTrusted,也找不到原先的 clickAt 處理器;MaxAI 8.37.3 仍保留由頁面可設定的標記來判斷來源的邏輯,以及 RUN_BACKGROUND_FUNCTION 橋接結構。這些觀察不等同動態重跑 PoC,也不是廠商確認。

適用的 5 項 AIDEFEND 防禦手法

AID-H-018.002
Policy-Based Access Control
極高
每筆從網頁送往 Content Script、以及從 Content Script 送往背景程式的請求,都要驗證呼叫者與來源。合成 DOM 事件、共用 Message ID 或網頁可設定的 JavaScript 屬性,都不能證明呼叫者是擴充功能本身。無法驗證來自擴充功能或可信使用者操作的請求,兩項產品都必須直接拒絕。
AID-H-017.002
Least-Privilege Tool Architecture
極高
移除 MaxAI 的通用瀏覽器 API 橋接,只保留單一用途操作,並限制參數、分頁範圍、目的位址與副作用。即使訊息已到達背景 Worker,呼叫者仍不能任意選擇 API 類別與函式。
AID-I-008.002
Cross-Origin Read/Write Segmentation with Step-Up Confirmation
極高
針對 Sider 的嵌入網站路徑,每次跨來源寫入都要綁定確切來源與穩定可操作元素,並在執行前重新觀察。來自網頁的座標與輸入命令要直接拒絕;敏感的跨來源操作必須由真實且可信的使用者動作啟動。
AID-H-018.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
高
把截圖、分頁中繼資料、已登入頁面內容、Gemini 回覆與分享 URL 標記為機敏值。這項分類跨過 Content Script 與背景 Worker 訊息後仍須保留,再阻擋資料流入攻擊者網頁或未核准的位址。
AID-H-003.010
Deployed AI Software Vulnerability Remediation Lifecycle
高
Sider 與 MaxAI 必須建立不同的修正紀錄。Sider 要核對實際部署版本,並在結案前動態重測合成拖曳、iframe、點擊與輸入路徑;MaxAI 在廠商確認移除通用橋接且獨立回歸測試通過前,應由管理政策暫時移除或限制在允許清單內,並為補強措施設定期限。

身為資安防禦者,我們應該這麼做

  • 盤點 Chrome 與 Edge 上的 Sider 和 MaxAI,包括擴充功能 ID、版本、更新管道、受管理政策、登入設定檔及資料存取範圍。
  • 從受管理瀏覽器移除或停用尚未驗證的版本。Sider 與 MaxAI 要分開建立修正紀錄,因為其中一項產品的程式碼變更,不能證明另一項產品也已安全。
  • 針對 Sider,動態重測合成與真實拖曳事件、iframe 回應標頭移除、Shadow DOM 可達性、跨來源點擊與輸入、Gemini 分享,以及資料是否會回到父頁面。
  • 針對 MaxAI,使用偽造 Service ID 與標記,嘗試從網頁呼叫 RUN_BACKGROUND_FUNCTION。確認背景 Worker 會驗證呼叫者,而且沒有暴露通用瀏覽器 API 分派。
  • 把擴充功能限制在確實需要的最少網站與瀏覽器 API。除非特定產品工作流程真的需要,否則禁止暗中開啟分頁、擷取截圖、修改網路規則及自動操作已登入的跨來源頁面。
  • 每次高權限橋接呼叫都要記錄網頁來源、擴充功能呼叫者身分、要求的函式、正規化參數、目標分頁或來源、政策判斷與回傳資料。

結論

Spyder 與 MaXSS 共用瀏覽器擴充功能的信任邊界,卻不是同一種漏洞。Sider 把合成操作事件視為控制跨來源 UI 的權限;MaxAI 則讓網頁接觸通用的高權限函式分派。

AIDEFEND  以 AID-H-018.002 處理兩者共同的呼叫者驗證失效,再用 AID-I-008.002 保護 Sider 的跨來源寫入,並以 AID-H-017.002 縮減 MaxAI 過度寬廣的橋接能力。AID-H-018.005 則保護跨越任一路徑後會暴露的機敏值。兩項漏洞都必須通過各自的回歸測試,才能結案。