Balancer被盜$120M漏洞技術分析
前言
2025 年 11 月 3 日,Balancer 協定在 Arbitrum、Ethereum 等多條公鏈遭受駭客攻擊,造成 1.2 億美元資產損失,攻擊核心源自於精確度損失與不變值(Invariant)操控的雙重漏洞。
本次攻擊的關鍵問題出在協議處理小額交易的邏輯上。當使用者進行小金額交換時,協定會呼叫_upscaleArray 函數,該函數使用 mulDown 進行數值向下捨去。一旦交易中的餘額與輸入金額同時處於特定舍入邊界(例如 8-9 wei 區間),就會產生明顯的相對精度誤差。
精度誤差傳遞到協定的不變值 D 的計算過程中,導致 D 值被異常縮小。而 D 值的變動會直接拉低 Balancer 協議中的 BPT(Balancer Pool Token)價格,駭客利用這一被壓低的 BPT 價格,透過預先設計的交易路徑完成套利,最終造成巨額資產損失。
漏洞利用 Tx:
https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742
https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f51 7fa5959836f5b48569
技術分析
攻擊入口
攻擊的入口為Balancer: Vault 合約,對應的入口函數為 batchSwap 函數,內部呼叫 onSwap 做代幣兌換。

從函數參數和限制來看,可以得到幾個資訊:
從函數參數和限制來看,可以得到幾個資訊:
1. 攻擊者需要直接呼叫這個函數,無法通過這個函數,無法直接呼叫這個函數。
2. 函數內部會呼叫 _scalingFactors() 取得縮放因子進行縮放操作。
3. 縮放操作集中在 _swapGivenIn 或 _swapGivenOut 中。
攻擊模式分析
BPT Price 的電腦製
在 Balancer 的穩定池模型中,BPT 價格是重要的參考依據,用戶能決定用戶得到多少

在池的交換計算中:


1

上述程式碼中,D 的計算過程依賴縮放後的 balances 陣列。也就是說需要有一個操作來改變這些 balances 的精確度,導致 D 計算錯誤。
精確度損失的根源

縮放操作:


攻擊流程詳解
階段 1:調整到捨去邊界


階段 3:利用被壓低的 BPT 價格獲利

如上攻擊者透過 Batch Swap 在一個交易中執行多次兌換:
1. 第一次交換:BPT → cbETH(調整)
1. 第一次交換:BPT → cbETH(調整後)
3. 第三次交換:底層資產 → BPT(獲利)
這些交換都在同一個 batch swap 交易中,共享相同的餘額狀態,但每次交換數都會修改數組。
Callback 機制的缺失
主流程是 Vault 開啟的,是怎麼導致精確度損失累積的呢?答案在 balances 陣列的傳遞機制。




分析如上程式碼,雖然在每次啟用 onSwap.中:
1. 第一次交換後,餘額被更新(但由於精度損失,更新後的值可能不準確)
2. 第二次交換基於第一次的結果繼續計算精度
2. 第二次交換基於第一次的結果繼續計算精度 Dp>
3. 導致不變值顯著變小
關鍵問題:


總結
Balancer 的這次攻擊,總結為以下幾個原因:
1. 縮放函數使用向下捨去:_upscaleArray 使用相對
2. 不變值計算對精度敏感:不變值 D 的計算依賴縮放後的 balances 數組,精度損失會直接傳遞到 D 的計算中,使 D 變小。
3. 缺少不變值變化驗證:在交換過程中,沒有驗證不變值 D 的變化是否在合理範圍內,導致攻擊者可以重複利用精度損失壓低 BPT 價格。
4. Batch Swap 中的精度損失累積:在同一個 batch swap 中,多次交換的精度損失會累積,最終放大為巨大的財務損失。
這兩個問題精度損失 + 缺少驗證,結合攻擊者對邊界條件的精心設計,造成了這次損失。
猜你喜歡

等不來了的 V5,Uniswap 陷入創新困境

<1>穩定幣的流動性與外匯市場的溢出效應<1>

歷時兩年,香港首批穩定幣牌照終於落地:滙豐、渣打入圍

幫TAO漲了90%的人,今天又親手帶崩了價格

3分鐘了解如何在Bitget參與SpaceX IPO

如何在2026年競爭幣熱潮來臨前,利用閒置的USDT理財賺取15,000美元
想知道2026年是否會迎來競爭幣行情?獲取最新市場動態,了解如何將閒置的穩定幣轉化為最高達15,000 USDT的額外獎勵。

交易量不大也能獲得 Joker Returns 的收益嗎?WEEX Joker Returns 第二季新玩家常犯的 5 個錯誤
小額交易者能否在不進行巨額交易的情況下贏得 WEEX Joker Returns 2026?是的——只要你避免這5個代價高昂的錯誤。學習如何最大化抽牌次數,明智地使用百搭牌,並將小額存款轉化為 15,000 USDT 獎勵。

Alt賽季會在2026年到來嗎?5提示現貨未來100倍加密機會
競爭幣的季節會在2026年到來嗎?發現5個輪動階段,智能交易者關注的早期信號,以及未來100倍競爭幣機會可能出現的關鍵加密行業。

競爭幣2026賽季:盈利的4個階段(人群FOMO進入之前)
競爭幣2026季即將開始 — — 發現資本輪動的4個關鍵階段(從ETH到PEPE)以及如何在高峰前持倉。了解哪些代幣將引領每個階段,避免錯過集會。

2026年第一季度值得買入的五大加密貨幣:ChatGPT深度解析
了解2026年第一季度值得買入的五大加密貨幣,包括BTC、ETH、SOL、TAO和ONDO。了解影響下一輪市場走勢的價格展望、核心觀點及機構催化因素。

熊市了,加密 ETF 發行商也捲起來了

這位首富與他的前老闆發生了爭執

創造SBTI測試的女孩:談了場必死的賽博戀愛,一個失去電子丈夫的老鼠人

B.AI正式上線:構建AI Agent金融底層基座,驅動AGI時代商業底層邏輯

B.AI正式上線:破除A2A協作壁壘,以全景基建解鎖智能體經濟潛能

我們幫徐明星寫了一本《OK人生》

罕見的費率年化400%,TradeXYZ在向石油做多者撒錢?

a16z:永續合約正在改寫全球交易規則
等不來了的 V5,Uniswap 陷入創新困境
<1>穩定幣的流動性與外匯市場的溢出效應<1>
歷時兩年,香港首批穩定幣牌照終於落地:滙豐、渣打入圍
幫TAO漲了90%的人,今天又親手帶崩了價格
3分鐘了解如何在Bitget參與SpaceX IPO
如何在2026年競爭幣熱潮來臨前,利用閒置的USDT理財賺取15,000美元
想知道2026年是否會迎來競爭幣行情?獲取最新市場動態,了解如何將閒置的穩定幣轉化為最高達15,000 USDT的額外獎勵。
