研究報告拆解

Polymarket 遭劫持的 DebugBear 腳本攻擊:透過第三方 RUM 工具竊取 270 萬美元

2026 年 10 月 29 日,預測市場平台 Polymarket 載入的第三方效能監控腳本 DebugBear 遭 DNS 劫持,攻擊者將惡意程式碼注入已登入交易者的瀏覽器,在一小時內竊取約 270 萬美元加密貨幣。攻擊者沒有竊取私鑰或種子詞,而是重複使用已登入交易者在瀏覽器中的 API 金鑰與錢包簽署器,讓受害者自己的錢包簽署惡意交易。Polymarket 已退款給 726 個受影響錢包。

30 秒看懂
  • 2026 年 10 月 29 日,預測市場平台 Polymarket 載入的第三方效能監控腳本 DebugBear 遭到劫持。攻擊者透過入侵 DebugBear 的網域註冊商,將 cdn.debugbear[.]com 的 DNS 記錄指向攻擊者控制的伺服器,並在該伺服器上放置惡意 JavaScript 檔案。Polymarket 網站載入這個惡意腳本後,已登入交易者的瀏覽器就執行了攻擊者的程式碼。
  • 惡意程式碼的運作方式是重複使用已登入交易者在瀏覽器中的 API 金鑰與錢包簽署器。攻擊者沒有竊取私鑰、種子詞或密碼,而是直接呼叫 Polymarket 網站中負責下單的程式碼與負責簽署交易的簽署器,讓受害者自己的錢包簽署惡意交易。對於使用自己加密錢包登入的帳號,程式碼直接將交易者的持倉轉移到攻擊者的錢包;對於使用電子郵件登入的帳號,程式碼以越來越差的價格賣出持倉,然後將資金轉出。攻擊持續時間為 17:10 至 18:02 UTC,共約 52 分鐘,攻擊者收到約 2860 萬 POL 代幣(當時價值約 264 萬美元)與其他持倉,來自 33 個錢包。
  • Polymarket 在 17:38 UTC 發布首次狀態更新,18:05 UTC 宣布交易所進入僅取消模式並暫停 relayer 操作,並在一小時內移除惡意腳本、清除所有快取、重置所有登入 session、暫停交易直到網站清理完成。截至 10 月 30 日,Polymarket 已退款給 726 個受影響錢包中的 689 個,共約 270 萬美元,另外 37 個正在核對中。Polymarket 也賠償約 5,500 個在交易暫停期間損失的錢包或被取走持倉的錢包,共約 119 萬美元,總退款金額約 390 萬美元。DebugBear 表示 DNS 記錄透過網域註冊商遭到入侵,初步調查顯示攻擊針對單一客戶網站,尚未發現 DebugBear 自己的系統被入侵。截至 11 月 1 日,cdn.debugbear[.]com 已無 DNS 記錄,DebugBear 已要求所有 RUM 產品客戶移除嵌入程式碼。

發生了什麼

來源:本文整理自 The Hacker News 於 2026 年 11 月 1 日發布的報導,技術分析來自 Hudson Rock 與 Ohey。原文連結,原文發布日期為 2026 年 11 月 1 日。

想像你在 Polymarket 這個預測市場平台上交易,你已經登入、錢包已經連接。你開啟一個頁面,瀏覽器載入網站的程式碼,包括一個來自 DebugBear 的效能監控腳本。你不知道的是,那個腳本已經不是 DebugBear 的了,而是攻擊者的。

2026 年 10 月 29 日,Polymarket 載入的第三方效能監控腳本 DebugBear 遭到劫持。攻擊者透過入侵 DebugBear 的網域註冊商,將 cdn.debugbear[.]com 的 DNS 記錄指向攻擊者控制的伺服器。當 Polymarket 網站載入這個腳本時,已登入交易者的瀏覽器就執行了攻擊者的惡意程式碼。

在短短 52 分鐘內(17:10–18:02 UTC),攻擊者從 33 個錢包竊取約 2860 萬 POL 代幣(當時價值約 264 萬美元)與其他持倉。

Polymarket 表示正在退款給約 726 個受影響錢包,金額約 270 萬美元。

攻擊的核心:劫持 DNS 記錄

DebugBear 是一個 Real User Monitoring (RUM) 工具,用來測量網頁在真實訪客瀏覽器中的載入速度。Polymarket 的網站載入 DebugBear 的 JavaScript 檔案,讓 DebugBear 能夠收集效能資料。

攻擊者沒有入侵 DebugBear 的系統,而是入侵 DebugBear 的網域註冊商,取得 DNS 記錄的控制權。

研究人員 Ohey 發現,在 18:13 UTC 時,cdn.debugbear[.]com 指向一個不同的伺服器,而那個伺服器上放著惡意檔案。當天稍早,正常的腳本還是從 Google Cloud Storage 提供。

DebugBear 的每個客戶載入自己專屬的腳本副本,而被替換的檔案是 Polymarket 的那一份。

DebugBear 表示,初步調查顯示攻擊針對單一客戶網站,尚未發現 DebugBear 自己的系統被入侵。

惡意腳本如何竊取資金

Hudson Rock 下載並分析了 10 月 29 日從 Polymarket 網站載入的惡意檔案。他們沒有執行這個檔案,而是閱讀程式碼來理解它的運作方式。

重複使用已登入的存取權限

惡意程式碼的核心策略是重複使用交易者已經在瀏覽器中的存取權限。

程式碼讀取 Polymarket 存在瀏覽器中的帳號資訊,包括一組 trading API keys。

不竊取私鑰,而是重複使用簽署器

這個攻擊最特別的地方是:攻擊者不偷私鑰、種子詞或密碼。

因為單純的 API 金鑰無法在 Polymarket 下單,訂單還需要錢包簽章。所以程式碼的做法是:

  1. 搜尋 Polymarket 網站中負責下單的程式碼
  2. 搜尋負責簽署交易的簽署器

然後,程式碼依照登入方式採取不同路徑。

兩種攻擊路徑

對於使用自己加密錢包登入的帳號:程式碼直接將交易者的持倉轉移到攻擊者的錢包。

對於使用電子郵件登入的帳號:程式碼以越來越差的價格賣出持倉,然後將資金轉出。

在兩種路徑中,程式碼都是呼叫帳號自己的簽署器來簽署請求,然後將請求交給 Polymarket 的 relayer 提交。

錢包供應商可能仍會提示

Hudson Rock 提醒,簽署請求本身不能證明交易者同意,除非看到錢包供應商的提示。錢包供應商可能仍會要求交易者確認、拒絕請求、或依照 session 的規則處理。

區塊鏈記錄:52 分鐘竊取 2860 萬 POL

Ohey 追蹤寫在程式碼中的攻擊者錢包地址,發現它在 17:10 UTC 收到第一筆資金,18:02 UTC 收到最後一筆,期間共收到 2860 萬 POL 代幣與持倉,來自 33 個錢包。

在 18:19 UTC,這 2860 萬 POL 以 DefiLlama 的價格 $0.0922 計算,價值約 264 萬美元。這個數字只包含 POL,不包含持倉。

攻擊者在 18:28 至 18:38 UTC 之間將所有 2860 萬 POL 轉移到另外三個地址。

Polymarket 的應對與退款

Polymarket 在 17:38 UTC 發布首次狀態更新,提到使用者錢包中的未授權活動。

在 18:05 UTC,Polymarket 宣布交易所進入僅取消模式,relayer 操作暫停。

公司表示在「一小時內」移除惡意腳本,並清除所有快取、重置所有登入 session、暫停交易直到網站清理完成。已將案件提交給執法機關。

退款金額與範圍

截至 10 月 30 日,726 個受影響錢包中的 689 個已經全額退款,剩餘 37 個正在核對中。

Polymarket 也賠償約 5,500 個在交易暫停期間損失或被取走持倉的錢包,金額約 119 萬美元。總退款金額約 390 萬美元。

交易者不需要主動申請,Polymarket 會自動退款。如果認為金額有誤或應該收到但沒收到,可以填寫狀態頁面上的表單。

DebugBear 的應對

DebugBear 已要求所有 RUM 產品客戶移除嵌入程式碼。

截至 11 月 1 日 The Hacker News 檢查時,cdn.debugbear[.]com 已經沒有 DNS 記錄。

網站與交易者該怎麼做

給網站的建議

Polymarket 表示正在重新放置第三方腳本,並加上額外檢查:

  • 更強的 Content Security Policy (CSP)
  • 固定版本
  • 沙箱隔離

Hudson Rock 給網站的建議:

1. 在交易或簽署頁面避免載入不必要的第三方程式碼

2. 使用 Subresource Integrity (SRI)

當檔案可以固定時,使用 SRI,讓瀏覽器在檔案內容變更時拒絕載入。僅僅允許信任的 CDN 並不會檢查 CDN 提供的檔案內容。

3. 檢查已登入頁面上的程式碼能要求簽署器做什麼

給交易者的建議

Hudson Rock 給交易者的建議是:拒絕任何非預期的簽署請求。

為什麼這起攻擊特別危險

1. 供應鏈攻擊的隱蔽性

攻擊者沒有入侵 Polymarket 的伺服器或資料庫,而是入侵第三方服務的 DNS。網站開發者很難偵測這種攻擊,因為:

  • 載入的網址沒變(仍是 cdn.debugbear[.]com)
  • DNS 記錄的變更發生在第三方的註冊商
  • 網站本身沒有被入侵

2. 不竊取私鑰,而是重複使用簽署器

傳統的加密貨幣竊盜攻擊會試圖竊取私鑰或種子詞。但這個攻擊不需要:

  • 不竊取私鑰
  • 不竊取種子詞
  • 不竊取密碼

而是直接重複使用受害者已經在瀏覽器中的簽署器,讓受害者的錢包自己簽署惡意交易。這種攻擊更難偵測,因為簽署請求看起來就是來自受害者自己的 session。

3. 攻擊窗口短,但影響大

攻擊只持續 52 分鐘,但在這段時間內竊取約 264 萬美元。攻擊者必須在 Polymarket 發現並移除惡意腳本之前盡可能竊取資金。

4. 每個第三方腳本都是潛在攻擊點

現代網站載入大量第三方腳本:分析工具、效能監控、廣告、社群媒體整合等。每一個第三方腳本都是潛在的供應鏈攻擊點。如果那個腳本的 DNS 被劫持,所有載入該腳本的網站都會受影響。

你可以學到什麼

站在攻擊者的角度:我不需要入侵 Polymarket 的伺服器或資料庫,我只要劫持他們載入的第三方腳本。我透過 DebugBear 的網域註冊商拿到 DNS 控制權,把 cdn.debugbear[.]com 指向我的伺服器,放上我的惡意 JavaScript。當 Polymarket 的已登入交易者載入網頁時,他們的瀏覽器就會執行我的程式碼。我不偷私鑰或種子詞,我直接重複使用他們已經在瀏覽器中的 API 金鑰與錢包簽署器。我呼叫 Polymarket 的下單程式碼,讓他們的錢包自己簽署把資金轉給我的交易。在一小時內,我從 33 個錢包收到 2860 萬 POL,價值約 264 萬美元。

lessons本案的 6 個教訓
  1. 01
    第三方腳本是供應鏈攻擊的高風險點:每個第三方 CDN 都是潛在的攻擊點,特別是效能監控、分析工具等非核心功能的腳本。
  2. 02
    DNS 劫持可以繞過網站本身的防禦:攻擊者劫持第三方服務的 DNS,網站開發者很難偵測,因為載入的網址沒變。
  3. 03
    不竊取私鑰,而是重複使用簽署器:攻擊者直接重複使用受害者已經在瀏覽器中的 API 金鑰與錢包簽署器,讓受害者的錢包自己簽署惡意交易。
  4. 04
    Subresource Integrity (SRI) 可以防止檔案被竄改:SRI 讓瀏覽器檢查載入的檔案內容是否與預期一致,只要檔案被竄改就拒絕執行。
  5. 05
    Content Security Policy (CSP) 可以限制第三方腳本權限:CSP 可以限制第三方腳本存取敏感頁面或錢包簽署器。
  6. 06
    快速應對可以減少損失:Polymarket 在一小時內移除惡意腳本並暫停交易,限制了攻擊的影響範圍。
keywords重點學習:最需要學習的 10 個關鍵字8 個
  1. 01
    供應鏈攻擊(Supply Chain Attack)
    攻擊者透過入侵第三方服務(DebugBear)來攻擊目標網站(Polymarket)。
  2. 02
    DNS 劫持(DNS Hijacking)
    攻擊者透過 DebugBear 的網域註冊商入侵 DNS 記錄,將 cdn.debugbear[.]com 指向攻擊者控制的伺服器。
  3. 03
    Real User Monitoring (RUM)
    DebugBear 是一個 RUM 工具,用來測量網頁在真實訪客瀏覽器中的載入速度。
  4. 04
    Subresource Integrity (SRI)
    一種安全機制,讓瀏覽器檢查載入的檔案內容是否與預期一致,檔案被竄改時拒絕執行。
  5. 05
    Content Security Policy (CSP)
    一種安全政策,可以限制第三方腳本的權限,避免存取敏感頁面或錢包簽署器。
  6. 06
    POL 代幣
    Polymarket 使用的加密貨幣,攻擊者竊取約 2860 萬 POL(當時價值約 264 萬美元)。
  7. 07
    Hudson Rock
    下載並分析惡意腳本的安全研究團隊。
  8. 08
    Ohey
    追蹤攻擊者錢包地址與區塊鏈交易的研究團隊。
try today今天就可以來試試約 15 分鐘

全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。

  1. 檢查你的網站載入的所有第三方腳本
    看到什麼代表什麼:列出所有第三方 CDN、分析工具、效能監控工具、廣告、社群媒體整合等腳本來源。
  2. 評估每個第三方腳本是否真的需要
    看到什麼代表什麼:特別是效能監控、分析工具等非核心功能的腳本,評估是否能移除或改用更安全的整合方式。
  3. 對無法移除的第三方腳本啟用 Subresource Integrity (SRI)
    <script src="https://cdn.example.com/script.js" integrity="sha384-..." crossorigin="anonymous"></script>
    看到什麼代表什麼:確保載入的檔案內容與你預期的一致,只要檔案被竄改就拒絕執行。
  4. 檢視 Content Security Policy (CSP) 設定
    看到什麼代表什麼:限制第三方腳本的權限,避免存取敏感頁面或錢包簽署器。
  5. 監控第三方服務的 DNS 記錄變更
    看到什麼代表什麼:使用 DNS 監控工具,當第三方服務的 DNS 記錄變更時收到通知。

如果你的網站載入第三方腳本

  1. 列出所有第三方腳本:分析工具、效能監控、廣告、社群媒體整合等。
  2. 評估是否真的需要:特別是非核心功能的腳本。
  3. 啟用 Subresource Integrity (SRI):確保檔案內容未被竄改。
  4. 設定 Content Security Policy (CSP):限制第三方腳本的權限。
  5. 監控 DNS 記錄變更:當第三方服務的 DNS 記錄變更時收到通知。
  6. 在敏感頁面避免載入第三方腳本:交易、簽署、登入等頁面應該盡量減少第三方腳本。

Polymarket 在一小時內應對並移除惡意腳本,但攻擊者仍然竊取約 264 萬美元。每個第三方腳本都是潛在的供應鏈攻擊點,今天就檢查你的網站。

來源

分享
精選拆解直送信箱

每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。

延伸閱讀

事件拆解

Cursor 市集的官方 Claude Code 擴充套件被植入 SSH 後門:最多 5000 名使用者受影響

Cursor 市集上的 Claude Code 擴充套件(由 Anthropic 官方發布)在 2026 年 10 月 29 日遭到入侵,攻擊者以官方身分發布 2.1.313 惡意版本,試圖在受影響系統上安裝持久的 SSH 後門。惡意擴充套件會新增攻擊者控制的 SSH 金鑰、建立反向隧道至 134.209.82.225、安裝持久化機制,並回傳主機偵察資料。Cursor 已移除惡意版本並暫時關閉市集,Anthropic 發布 2.1.314 版本。

  • 2026/10/30
  • 每日拆解
新聞稿拆解

主金鑰洩漏 155 天後:攻擊者劫持發布流程推毒版套件

LiteLLM 於 2026 年 5 月 27 日將主金鑰意外提交到公開的 GitHub 儲存庫,commit 雖然立即被 force-push 覆蓋,但主金鑰未被撤銷。攻擊者在 155 天後使用這個金鑰取得 Agent Platform 的存取權,竊取 GitHub CLI OAuth token,進而取得組織擁有者級別的存取權,修改發布流程指向偽裝儲存庫,於 10 月 21 日推送惡意版本 1.107.0 到 PyPI 與 Docker Hub。這個惡意套件會在 Python 啟動時自動執行,竊取開發者工具、AI 應用、雲端環境與瀏覽器的憑證,並每小時從攻擊者控制的伺服器取得並執行任意程式碼。

  • 2026/10/24
  • 每日拆解
新聞稿拆解

替你保管所有 AI 金鑰的那一層,被換成了竊密程式

2026 年 10 月 21 日,開源 LLM 閘道 LiteLLM 的 1.107.0 版在 PyPI 與 Docker 上架約兩小時,裡面多了三個檔案:每次 Python 啟動就跑的竊密程式,和一個每小時回頭拿指令的載入器。官方說入口是一套對外開放的內部 LiteLLM,攻擊者從它的日誌裡撿到工程師的 GitHub CLI 權杖。這篇拆開能證明的、只能推的、還沒人知道的,以及你今天該換哪幾把鑰匙。

  • 2026/10/22
  • 每日拆解