ZetaChain 的漏洞經白帽駭客回報,卻被誤判為「預期行為」,最終導致 33.4 萬美元的駭客攻擊
ZetaChain 的漏洞經白帽駭客回報,卻被誤判為「預期行為」,最終導致 33.4 萬美元的駭客攻擊
2026 年 4 月底,跨鏈基礎設施再次證明了微小的設計假設可能會導致巨大的風險。ZetaChain 證實,一個攻擊者利用了一系列橫跨訊息發起、目標鏈執行規則及長期存在的 ERC-20 授權的漏洞,從協議控制的錢包中盜取了約 33.4 萬美元。用戶資金並未受到影響,但此事件仍是個嚴峻的警示:在跨鏈系統中,「低風險」組件在相互作用時,很少能保持其低風險的狀態。
此案例特別具啟發性的是其技術失敗背後的流程故障。ZetaChain 承認,核心問題先前已透過其漏洞賞金管道回報,但最初被視為預期行為,而非需要緩解或更嚴格限制的事項。關於此披露和事後細節的報導,可參見 Cointelegraph 的報導,其中回顧了該被駁回的報告及後續的駭客攻擊:ZetaChain 駁回了可能阻止駭客攻擊的漏洞報告。
以下是方便操作者理解的詳細說明,涵蓋了事件經過、駭客攻擊為何能成功、ZetaChain 所做的更改,以及對開發者與用戶在 2026 年應該汲取的教訓——屆時跨鏈活動將比以往任何時候都更廣泛,攻擊者的劇本也日益「預設為多向量攻擊」。
事件快照:跨鏈設計債務到期
攻擊者的行為最終涉及跨越 以太坊、Arbitrum、Base 和 BNB 智慧鏈 的 9 筆交易,被盜資產來自 ZetaChain 控制的錢包,而非終端用戶。ZetaChain 在事件得到控制後暫停了跨鏈操作;當事件首次公開時,最初的暫停已廣泛報導(參見:The Block 關於暫停與緩解的報導)。
雖然損失金額未達到「橋樑級別的超級駭客攻擊」規模,但其 模式 才是關鍵:一個跨鏈閘道若能被操縱以在外部鏈上產生 協議簽署的呼叫,即使直接受害者範圍有限,也將成為高槓桿目標。
令人不安的教訓:「預期行為」仍可能被利用
漏洞賞金計劃旨在將對抗性的好奇心轉化為防禦性的改進——但前提是其審核機制能夠識別 可組合性風險。
ZetaChain 先前與 Immunefi 合作推出了其賞金計劃(背景資料:ZetaChain 漏洞賞金計劃公告)。然而,此事件凸顯了一個業界持續面臨的挑戰:即使單個組件獨立來看似乎無關緊要,一份報告仍可能「正確」。Immunefi 本身強調,實際影響和範圍定義至關重要(參見:Immunefi 關於計劃規則和影響的指南)。
對於跨鏈協議而言,標準應該更高:如果一項功能允許任何路徑「協議被欺騙簽署其不該簽署的內容」,那麼它就值得進行深度防禦——即使該功能在技術上是按照設計運行的。
三個「小」問題如何串聯成一個大駭客攻擊
獨立研究人員已發布了關於呼叫流程和合約行為的詳細技術演練;其中一個最清晰的分步分析是:ZetaChain 閘道駭客攻擊分析。
從安全設計的角度來看,駭客攻擊鏈可以概括為三個環節:
1) 閘道層上允許任何人發起跨鏈指令
一個核心問題是,閘道端的路徑可以被調用,從而允許攻擊者注入跨鏈意圖(即,「將此訊息/呼叫發送到目標鏈」),而系統未能強制執行預期的信任邊界,來限制誰可以發起這類指令。
在跨鏈系統中,誰可以發出「應遠程執行」的信號 是第一道也是最重要的防線。
2) 目標執行規則過於寬鬆(且過度依賴狹窄的拒絕列表)
在接收端,執行路徑允許了實際上是「任意」的呼叫,其限制不足以阻止危險的代幣操作。當 EVM 的表面積龐大時,僅僅阻止幾個選擇器的拒絕列表通常不足以應對——而攻擊者只需要一個允許的基礎構造(如 transferFrom)來獲利。
這是一種常見的故障模式:拒絕列表在對抗性環境中會迅速過時。
3) 過期的 ERC-20 授權將「執行」變為「資產轉移」
最後一個環節是操作層面的,而非純粹的代碼問題:某些錢包對閘道合約持有 無限授權(或過多的授權),並且在不再需要時並未撤銷。
在 ERC-20 中,授權實際上是一種持續的權限。一旦合約獲得以「自身身份」執行代幣呼叫的能力,任何剩餘的授權都將成為一把上膛的武器。有關標準層級授權如何工作的背景資訊,請參見:OpenZeppelin 的 ERC-20 文件。
研究也已顯示,遠遠超出任何單一協議的範圍,無限授權有多麼普遍——以及為何它們會造成系統性風險(參見:「撿了芝麻丟了西瓜」的授權風險研究)。
攻擊者手法:非趁機而為,而是精心策劃
ZetaChain 描述此次駭客攻擊明顯有預謀的跡象,包括:
- 提前數天透過 Tornado Cash 預先儲值
- 部署專門的「吸管」合約
- 執行地址毒化攻擊
地址毒化值得特別關注,因為它越來越多地融入廣泛的駭客攻擊行動中——不僅僅是作為一種針對散戶的詐騙,也作為在事件響應期間製造混亂的一種方式。如果您想深入了解該技術及其為何如此頻繁奏效,卡內基梅隆大學的研究人員在此維護了一個專門的資源:區塊鏈地址毒化概述。
ZetaChain 的改進:移除「易出錯點」,而不僅是修補漏洞
事後補丁最重要的意義在於,它們能減少 類別風險,而不僅僅是阻止單一已觀察到的攻擊載荷。根據 ZetaChain 所披露的補救方向(如公開報導和技術分析總結),關鍵改進包括:
- 發布主網基礎設施補丁 以封堵被利用的路徑。
- 永久禁用允許任意呼叫的功能,該功能導致了「協議簽署任意 calldata 並執行」的結果。
- 用精確金額授權取代存款流程中的無限授權模式,以免單次授權在數月後仍可默默使用。
最重要的一個主題是從「強大但危險的普遍性」轉向「狹窄、可驗證的意圖」。想要在 2026 年安全擴展的跨鏈協議,將越來越需要預設為 允許列表目標、類型的訊息 和 能力有限的執行。
開發者教訓:2026 年的跨鏈安全關乎 組合,而非 組件
即使在 ZetaChain 之外,跨鏈系統不斷遭到攻擊,因為它們處於以下幾點的交匯點:
- 複雜的狀態機
- 分佈式簽署/驗證
- 且極具獲利潛力的代幣接口
行業損失報告持續顯示,駭客攻擊的嚴重性仍然很高,而長尾風險事件主導了結果(例如,您可以參考中聚合的行業追蹤資料:Immunefi 的「2025 年第一季加密貨幣損失」報告 (PDF))。
如果您正在設計或整合跨鏈訊息傳遞,請考慮以下實用防護措施:
- 使訊息發起明確且經過身份驗證:「任何人都可以請求跨鏈呼叫」絕不應等同於「協議將簽署並執行」。
- 避免對執行入口使用拒絕列表:偏好使用允許列表和最小化接口。
- 將授權視為您威脅模型的一部分:金庫/操作員錢包應有嚴格的授權政策、監控和定期清理。
- 規劃緊急協調:像 SEAL 911 這樣的事件響應網絡之所以存在,是因為在涉及簽名和跨鏈執行時,時間至關重要。
用戶檢查清單:在任何跨鏈事件發生後該做什麼(即使「用戶未受影響」)
即使協議聲稱用戶資金未受影響,花 10 分鐘減少個人暴露範圍也是合理的——尤其如果您曾與受影響的閘道合約互動過。
1) 撤銷您不再積極需要的授權
兩個可靠的選項:
- 使用授權管理工具,例如 Revoke.cash 代幣授權指南
- 或使用區塊瀏覽器內建的檢查器,例如 Etherscan 的代幣授權檢查器
2) 在日常行為中防範地址毒化
- 請勿從交易歷史記錄中複製接收者地址。
- 盡可能使用地址簿/信任的聯絡人。
- 驗證的字元數應超過僅僅前幾個/後幾個——毒化攻擊旨在匹配錢包 UI 截斷的地址。
3) 對高價值轉帳使用基於硬體的地址驗證
硬體錢包無法阻止您未控制協議上的智能合約漏洞——但它 可以 在地址毒化或剪貼板操作場景中,減少您個人授權錯誤接收者的機會。
這正是 OneKey 自然而然能發揮作用的地方:通過將簽署隔離並強調設備上的驗證,它有助於確保「您所簽署」更接近「您的意圖」——尤其是在攻擊者試圖利用混亂進行攻擊的緊張時刻。
結語
ZetaChain 的駭客攻擊是一個現代加密安全現實的精煉案例研究:
- 一個先前已回報的問題,
- 因「按設計」的假設而被駁回,
- 加上寬鬆的執行和剩餘的授權,
- 並由一個預先準備了資金、工具和社交層噪音的攻擊者執行。
如果 2025-2026 年教會了業界任何事情,那就是跨鏈系統必須針對對抗性組合進行設計。最安全的功能是那個即使在一切「按預期工作」時,您也無法意外將其變成簽署預言機的功能。



