從捨入漏洞到系統性利用:Balancer 1.28 億美元攻擊的機制剖析

一、事件概覽在去中心化金融(DeFi)這一基於區塊鏈運行的鏈上金融體系中,Balancer 作為核心流動性協議之一,於2025年11月3日發生大規模資金異常提取事件。攻擊者圍繞 Composable Stable Pools 的計算邏輯,利用 scaling math 中的捨入方向錯誤(rounding direction error),結合 batchSwap 的多路徑交易能力,在短時間內反覆執行複雜交換操作,逐步扭曲流動性池的內部狀態,並在未觸發有效防護機制的情況下完成資金轉移,最終造成約 1.16 億至 1.28 億美元損失,波及主協議及多個 fork 項目,涉及 WETH、wstETH、osETH 等核心資產。 以2…

一、事件概覽

在去中心化金融(DeFi)這一基於區塊鏈運行的鏈上金融體系中,Balancer 作為核心流動性協議之一,於2025年11月3日發生大規模資金異常提取事件。攻擊者圍繞 Composable Stable Pools 的計算邏輯,利用 scaling math 中的捨入方向錯誤(rounding direction error),結合 batchSwap 的多路徑交易能力,在短時間內反覆執行複雜交換操作,逐步扭曲流動性池的內部狀態,並在未觸發有效防護機制的情況下完成資金轉移,最終造成約 1.16 億至 1.28 億美元損失,波及主協議及多個 fork 項目,涉及 WETH、wstETH、osETH 等核心資產。

以2026年的視角回看,這起事件已不再只是一次「漏洞利用」,而更接近一次對協議運行規則的系統性操控。攻擊者沒有突破權限邊界,亦未竄改合約程式碼,而是在既有機制內,透過精確構造交易路徑,持續放大微小計算偏差,最終令系統在邏輯上接受了資金歸屬的轉移。問題的關鍵不在於單一錯誤,而在於多個設計假設在對抗性環境中疊加後形成的結構性偏差。

如果用統一的銀行系統類比來理解:

  • Balancer Pool = 銀行的資金池帳戶
  • invariant = 銀行帳本的平衡規則
  • batchSwap = 客戶在銀行內部進行複雜轉帳組合
  • rounding error = 利息或匯率計算中的微小偏差
  • internal balance = 銀行內部記帳帳戶

這起事件的關鍵在於:

攻擊者並沒有「入侵銀行」,而是利用規則,令銀行系統在邏輯上「承認」這筆錢屬於他。

二、攻擊路徑:從「數學偏差」到「系統性抽水」

站在2026年回看,這次攻擊可以被清晰地拆分為四個階段,其本質不是單點漏洞利用,而是一個逐步放大的系統操控過程。

1. 起點:捨入方向錯誤帶來系統性偏差

攻擊起點來自 Composable Stable Pool 中的一個關鍵實現缺陷:在_swapGivenOut(EXACT_OUT)路徑中,對輸出資產進行_upscale時錯誤地使用了FixedPoint.mulDown(向下捨入),而非應使用的mulUp(向上捨入)。

這一捨入方向錯誤(rounding direction error)導致系統在計算所需輸入金額時產生系統性低估,從而使 invariant 在特定路徑下被持續壓低,並為後續的組合利用提供了基礎。該誤差在單次計算中影響極小,但在特定路徑下會形成穩定的價值偏移方向,並具備被重複利用的條件。

2. 利用放大:批量交換機制形成路徑級套利能力

攻擊者利用批量交換機制(batchSwap)的組合執行能力,將這一微小偏差轉化為可持續放大的套利路徑:

  • 在單筆交易中執行多步驟交換
  • 在多個流動性池之間構造循環路徑
  • 在每一步中穩定獲取 rounding advantage

關鍵在於,這些操作本身屬於協議設計允許的複雜交易能力,而 invariant 校驗僅在局部生效,使得系統將這些路徑視為「正常套利行為」。

最終結果是,攻擊者能夠在協議規則範圍內,持續累積結構性收益。

3. 狀態扭曲:人為製造系統性 deficit

隨著循環操作的持續進行,流動性池逐漸進入一種「表面平衡、實際偏移」的狀態:

  • invariant 在局部仍然成立
  • 資產分佈逐步偏離初始平衡
  • 系統內部形成隱性 deficit

這一階段標誌著系統安全假設開始失效,但仍未觸發任何有效檢測機制。

4. 收割階段:internal balance 的合法提取

在完成狀態操控後,攻擊者透過 Vault 的manageUserBalance:

  • 將帳面上「歸屬於自己」的資產轉入 internal balance
  • 再完成提取與轉移

這一過程未涉及權限繞過,本質上是一次系統在規則內認可的提款行為。其後資金被拆分,並透過跨鏈橋及新部署合約進行分散處理。

三、資金路徑與行為模式

資金流結構

  1. 初始資金(閃電貸或自有資金)進入池子
  2. 多輪 batchSwap 操作(數十至數百次)
  3. 不變量逐步偏移
  4. internal balance 累積
  5. 資金提取
  6. 跨鏈拆分與轉移

行為特徵

  • 高頻、結構化交易(非隨機行為)
  • 強腳本化執行(高度自動化)
  • 多鏈分散(降低追蹤難度)

多家分析機構基於行為模式認為,攻擊者具備成熟 DeFi 攻擊經驗,可能屬於專業化攻擊組織,但目前尚無明確歸因結論。

四、範式升級:從捨入漏洞到機制性利用

業界對該事件的復盤已相對充分,但更關鍵的問題在於:

攻擊的利用方式,正在從單點漏洞擴展為對系統規則的組合性操控。

1. 從 Bug Exploit → Economic Manipulation

  • 傳統攻擊路徑通常是:發現漏洞 → 繞過權限 → 直接獲取資金
  • 本次攻擊:未突破權限 → 未竄改程式碼 → 完全利用既有規則

這意味著:程式碼層面可以是「正確的」,但系統層面仍然可能是「可被操控的」。

2. DeFi 的核心假設被挑戰

Balancer V2 的設計隱含一個重要前提:參與者行為以理性套利為主,而非對抗性攻擊。

但現實情況是:

  • 攻擊者是主動對抗系統的參與者
  • 會組合多個機制構造最優攻擊路徑
  • 會系統性利用規則邊界

類比銀行系統業務:這就像是系統假設客戶只是正常交易,但現實中有人在專門設計規則套利路徑。

3. invariant 不再是安全邊界

過去,invariant 被視為核心安全保障;但此次事件表明:

  • invariant 可以在多步操作中被逐步削弱
  • 局部正確不等於整體安全

這意味著:安全邊界不再是單一公式,而是整個執行路徑與行為組合。

五、官方回應與效果評估

1. 有效性分析

Balancer 團隊及生態方在事件後迅速採取措施,包括暫停受影響池、協調流動性撤出、修復 rounding 邏輯,以及推進 V3 架構改進。

這些措施在短期內有效,主要因為:

  • 直接切斷已知攻擊路徑
  • 降低系統中可被利用的流動性規模
  • 修復導致偏差累積的關鍵計算問題

從效果來看:

  • 短期:有效阻止進一步損失,穩定市場預期
  • 長期:為後續架構升級提供方向,尤其是在數學一致性與校驗機制方面

2. 局限性分析

然而,這些措施更多是針對已暴露問題的修復,而非對機制本身的重構。

  1. 修復 rounding ≠ 修復機制
    雖然消除了直接觸發點,但 batchSwap 的組合利用空間仍然存在。
  2. invariant 校驗仍是局部的
    系統依舊以單步正確性為核心,難以防禦路徑級攻擊。
  3. 缺乏行為級風控能力
    協議仍缺乏對異常交易模式(如循環路徑、高頻套利)的識別能力。

總結來看:當前回應解決了「這個漏洞」,但尚未覆蓋「這一類攻擊方式」。

六、防禦建議

  1. 引入 Path-level Invariant 校驗
    在交易層面驗證整個執行路徑的淨效果,防止多步合法操作累積異常結果。
  2. 強制 rounding 一致性
    統一所有計算路徑的捨入邏輯,從源頭消除可被放大的偏差。
  3. 引入經濟攻擊模擬(Adversarial Simulation)
    透過對抗性測試模擬極端攻擊路徑,提前發現機制風險。
  4. 限制複雜交易組合能力
    對 batchSwap 的路徑複雜度與執行深度設定約束,降低攻擊可行性。
  5. 構建行為級風控系統
    識別異常交易模式(如循環套利、高頻路徑),並實施動態限制。
  6. internal balance 提取隔離機制
    對內部餘額提取引入延遲或額外驗證,阻斷最終價值提取路徑。

總結來看:這些措施的核心在於,將安全邊界從「程式碼正確性」擴展到「系統行為正確性」。在對抗性環境中,攻擊者往往不會違反規則,而是組合利用規則,因此防禦體系必須具備識別路徑異常與行為異常的能力。

七、結論

Balancer V2 Exploit 不僅是一次大規模資金損失事件,更揭示了 DeFi 安全範式正在發生的變化。從表面看,這是一次由計算誤差引發的攻擊;但從本質上看,它暴露的是協議在對抗性環境中的結構性脆弱。

攻擊者並未突破系統,而是透過構造路徑,令系統在自身規則內逐步偏離安全狀態,最終完成資金轉移。這種方式表明,單純依賴程式碼正確性已不足以保障安全,系統設計本身必須具備對抗性思維。

因此,未來 DeFi 安全的核心,將從「智能合約是否正確」轉向「機制在對抗環境中是否穩定」。Balancer 事件,正是這一轉變的典型案例。

References

  1. Certora –Breaking Down the Balancer Hack[Technical Analysis]
  2. SlowMist –When Small Flaws Collapse a Giant[Technical Analysis]
  3. Trail of Bits –Balancer Hack Analysis and Guidance[Incident Report]
  4. PeckShield – On-chain Alert Reports [On-chain Analysis]
  5. Cyvers – Real-time Threat Detection Reports [On-chain Analysis]
  6. Balancer Official X Postmortem [Incident Report]

洞察報告來源: 全球網絡安全聯盟https://www.gcsa.org