AIDEFEND in Action AIA-0077 實證研究 發布於 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
4 項對應的 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,也不是廠商確認。

適用的 4 項 AIDEFEND 防禦手法

AID-H-018.002
Policy-Based Access Control
極高
每筆從網頁送往 Content Script、以及從 Content Script 送往背景程式的請求,都要驗證呼叫者與來源。合成 DOM 事件、共用 Message ID 或網頁可設定的 JavaScript 屬性,都不能證明呼叫者是擴充功能本身。無法驗證來自擴充功能或可信使用者操作的請求,兩項產品都必須直接拒絕。
AID-H-003.010
Deployed AI Software Vulnerability Remediation Lifecycle
高
Sider 與 MaxAI 必須建立不同的修正紀錄。Sider 要核對實際部署版本,並在結案前動態重測合成拖曳、iframe、點擊與輸入路徑;MaxAI 在廠商確認移除通用橋接且獨立回歸測試通過前,應由管理政策暫時移除或限制在允許清單內,並為補強措施設定期限。
AID-H-017.002
Least-Privilege Tool Architecture
中
針對 MaxAI,重新設計擴充功能控制的派送器,移除任意選擇瀏覽器 API 的能力,只保留必要、型別明確的操作,並獨立限制資源與操作效果。這符合最小權限架構,但屬於產品專用實作,不是指引公開的 PostgreSQL 客戶資料讀取範例。重設後仍須驗證發送者身分、所有派送路徑與拒絕測試;來源沒有證實這項設計已部署。
AID-H-018.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
中
把截圖、分頁中繼資料(metadata)、已登入頁面內容、Gemini 回覆與分享 URL 標記為機敏值。這項分類跨過 Content Script 與背景 Worker 訊息後仍須保留,再阻擋資料流入攻擊者網頁或未核准的位址。這需要可控的執行環境,為每個衍生值維持可驗證的來源及內容綁定,涵蓋所有出口;標記不明時須拒絕。只在入口加標籤,無法追蹤模型任意改寫。本機程序、瀏覽器請求及允許的目的地須另行驗證涵蓋範圍,不能假定原版 SaaS 已落實。

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

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

結論

Spyder 與 MaXSS 透過不同機制跨越瀏覽器擴充功能的權限邊界。Sider 接受網頁合成的操作事件,控制已登入的跨來源介面;MaxAI 則暴露通用的高權限 API 派送器。防守方應驗證擴充功能收到的請求來自誰、移除不必要的高權限操作,並保護回傳的機敏資料。本案不計入 AI 瀏覽器寫入確認指引:受害者使用一般已安裝擴充功能的瀏覽器,不是該方法要求的全新 Playwright 受控執行環境。

最後更新: