Bitget App
交易「智」變
快速買幣市場交易合約股票理財機構AI & 更多
技術分析:Balancer遭駭1.2億美元,漏洞是什麼?

技術分析:Balancer遭駭1.2億美元,漏洞是什麼?

BlockBeatsBlockBeats2025/11/04 06:25
顯示原文
作者:BlockBeats

此次攻擊的關鍵問題在於協議處理小額交易的方式。

Original Article Title: " Balancer $120M Hack Vulnerability Technical Analysis"
Original Source: ExVul Security


前言


2025年11月3日,Balancer協議在包括Arbitrum與Ethereum等多條鏈上遭受攻擊,導致1.2億美元資產損失。此次攻擊主要源於精度損失與Invariant操控的雙重漏洞。


Chainlink的基礎設施長期以來在Web3領域維持最高標準,使其成為X Layer的自然選擇,X Layer致力於為開發者提供機構級工具。


本次攻擊的關鍵問題在於協議處理小額交易時的邏輯。當用戶進行小額兌換時,協議會調用_upscaleArray函數,該函數使用mulDown進行向下取整。當交易中的餘額與輸入金額同時達到特定取整邊界(如8-9 wei區間)時,會出現明顯的相對精度誤差。


這一精度誤差會傳導至協議的Invariant值D的計算,導致D值異常減少。D值的波動直接拉低了Balancer協議中Balancer Pool Token(BPT)的價格。攻擊者利用這一被壓低的BPT價格,通過預謀的交易路徑進行套利,最終造成巨額資產損失。


被利用的交易:


https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742


資產轉移交易:


https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f517fa5959836f5b48569


技術分析


攻擊向量


本次攻擊的切入點為Balancer: Vault合約,對應的入口函數為batchSwap函數,該函數內部調用onSwap進行代幣兌換。


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 0


從函數參數與限制的角度,可以獲得以下資訊:


1. 攻擊者必須通過Vault調用該函數,無法直接調用。


2. 該函數內部會調用_scalingFactors()獲取縮放操作所需的縮放因子。


3. 縮放操作集中在_swapGivenIn或_swapGivenOut之中。


攻擊模式分析


BPT價格計算機制


在Balancer的穩定池模型中,BPT價格是一個關鍵的參考點,決定了用戶能獲得多少BPT以及每個BPT能獲得多少資產。


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 1


在池子的兌換計算中:


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 2


其中作為BPT價格錨點的部分是一個不可變值D,這意味著要控制BPT價格就要控制D。進一步分析D的計算過程:


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 3


在上述程式碼中,D的計算過程依賴於縮放後的balances陣列。這意味著需要通過操作改變這些balances的精度,從而導致D計算錯誤。


精度損失的根本原因


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 4


縮放操作:


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 5


如上圖所示,當經過_upscaleArray時,如果餘額非常小(如8-9 wei),mulDown的向下取整會導致嚴重的精度損失。


攻擊過程詳解


第一階段:調整至取整邊界


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 6


第二階段:觸發精度損失(核心漏洞)


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 7


第三階段:利用壓低的BPT價格套利


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 8


如上,攻擊者利用Batch Swap在一筆交易中完成多次兌換:


1. 第一次兌換:BPT → cbETH(餘額調整)


2. 第二次兌換:wstETH(8)→ cbETH(觸發精度損失)


3. 第三次兌換:底層資產 → BPT(套利)


這些兌換均發生於同一筆batch swap交易中,共用同一餘額狀態,但每次兌換都會調用_upscaleArray修改balances陣列。


缺乏回調機制


主要流程由Vault發起。這如何導致精度損失的累積?答案在於balances陣列的傳遞機制。


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 9


從上圖程式碼可見,雖然Vault每次調用onSwap時都會創建新的currentBalances陣列,但在Batch Swap中:


1. 第一次swap後,餘額被更新(但由於精度損失,更新值可能不準確)


2. 第二次swap基於第一次swap的結果繼續計算


3. 精度損失不斷累積,最終導致invariant值D大幅下降


關鍵問題:


技術分析:Balancer遭駭1.2億美元,漏洞是什麼? image 10


總結


Balancer本次攻擊可總結為以下原因:


1. 縮放函數採用向下取整:_upscaleArray在縮放時使用mulDown,當餘額極小(如8-9 wei)時會造成嚴重的相對精度損失。


2. Invariant值計算對精度敏感:Invariant值D的計算依賴於縮放後的balances陣列,精度損失會直接影響D的計算,導致D下降。


3. 缺乏Invariant值變化驗證:在swap過程中,未對Invariant值D的變化範圍進行驗證,攻擊者可反覆利用精度損失壓低BPT價格。


4. 批量swap中精度損失累積:同一批量swap內,多次swap的精度損失會累積,最終導致重大資金損失。


這兩個問題——精度損失與缺乏驗證——結合攻擊者精心設計的邊界條件,導致了本次損失。


0
0

免責聲明:文章中的所有內容僅代表作者的觀點,與本平台無關。用戶不應以本文作為投資決策的參考。

PoolX: 鎖倉獲得新代幣空投
不要錯過熱門新幣,且APR 高達 10%+
立即參與

您也可能喜歡

小模型「搶走」雲端算力需求,萬億美元數據中心資本支出面臨考驗

傑富瑞報告指出,小型語言模型效能提升、成本下降,企業AI部署有可能從雲端轉向在地化,這將衝擊超大規模數據中心投資。伺服器使用率下降、科技巨頭大規模資本支出與算力需求出現錯配,部分數據中心恐將成為「閒置資產」。AI需求仍在,但集中式算力的需求規模及回報正在面臨重新評估。

华尔街见闻•2026/09/28 09:51

AI熱潮重塑晶圓代工格局!瑞銀:需求爆發推動先進製程擴產提速 成熟製程步入上行週期

瑞銀近日發佈的研究報告指出,在晶圓代工市場,N2(2奈米)節點可服務市場規模(TAM)遠超預期,A14(1.4奈米)擴產加速,成熟製程上行週期已經啟動。

智通财经•2026/09/28 07:51

1999美元摺疊屏iPhone蓄勢待發 蘋果(AAPL.US)卻遭超57億美元專利判賠

蘋果在加大可摺疊螢幕及AI業務之際,面臨一筆超過57億美元的觸覺技術專利賠償裁決。9月25日,加利福尼亞州聯邦陪審團認定,蘋果用於部分iPhone及Apple Watch的Taptic Engine侵犯了Taction Technology的兩項專利。

智通财经•2026/09/28 07:31

霍爾木茲開放前景再蒙陰,亞洲債券承壓:2Y日債收益率逼近2%、3Y韓債收益率升至2022年以來最高

由於油價高企,韓國與日本短期債券收益率上升。

智通财经•2026/09/28 07:16