5年6次事故損失破億,回顧老牌DeFi協議Balancer的黑客光顧史

對於旁觀者,DeFi 是一場新奇的社會實驗;對於參與者,DeFi 被盜是一個昂貴的教訓。

作者:David,深潮TechFlow

屋漏偏逢連夜雨,駭客專挑下跌時。

在近期整個加密市場行情低迷的環境下,老牌DeFi 協議再遭重創。

11 月3 日,鏈上數據顯示,協議Balancer 疑似遭到駭客攻擊。約7,090 萬美元的資產被轉移至新錢包,其中包括6,850 枚osETH、6,590 枚WETH 及4,260 枚wstETH。

隨後根據Lookonchain 監控相關錢包位址,協議遭受攻擊的總損失金額已升至1.166 億美元。

而Balancer 團隊在事件後表示:

「已發現可能影響Balancer v2 池的漏洞攻擊,其工程和安全團隊正在高優先級調查此事件,將在獲取更多資訊後分享已驗證的更新和後續措施。」

此外,官方也嚐公開表示願意支付被盜資產的20% 作為白帽獎勵以追回資產,48 小時內有效。

回應的很及時,但也很官方。

不過,如果你是個DeFi 老玩家,肯定不會對「Balancer 被駭」這個標題感到詬異,而是有一種詭異的既視感。

作為一個成立於2020 年的老牌DeFi 協議,Balancer 5 年來甚至出現了6 次安全事故,平均每一年都會上演一次黑客光顧的保留節目,而這次只是其中被盜金額最大的。

回看歷史,當市場行情讓交易難度變成地獄級,很有可能存在DeFi 裡生息套利並不安全。

2020 年6 月:通縮代幣漏洞,損失約52 萬美元

2020 年3 月,Balancer 帶著「靈活的自動化做市商」的創新概念進入DeFi 世界。然而,僅僅三個月後,這個雄心勃勃的協議就迎來了第一個噩夢。

攻擊者利用了協議對通貨緊縮代幣(Deflationary Token)處理不當的漏洞,造成了約52 萬美金的損失。

大體的原理是,當時一個叫做STA 的代幣每次轉帳都會自動銷毀1% 作為手續費。

攻擊者從dYdX 閃電貸借出10.4 萬ETH,然後在STA 和ETH 之間反覆交易24 次。由於Balancer 沒有正確計算每次轉帳後的實際餘額,池子裡的STA 最終被耗盡至僅剩1 wei。隨後攻擊者利用價格嚴重失衡,用微量STA 換走了大量ETH、WBTC、LINK 和SNX。

2023 年3 月: Euler 事件躺槍,損失約1,190 萬美元

這次Balancer 是間接受害者。

Euler Finance 遭受1.97 億美元閃電貸攻擊,Balancer 的bb-e-USD 池因持有Euler 的eToken 而受到牽連。

當Euler 被攻擊時,約1,190 萬美元從Balancer 的bb-e-USD 池被轉移到Euler,佔該池TVL 的65%。雖然Balancer 緊急暫停了相關池子,但損失已經造成而無法挽回。

2023 年8 月:Balancer V2 池精準度漏洞,損失約210 萬美元

這次攻擊其實之前有預兆。當年8 月22 日,Balancer 主動揭露漏洞並警告用戶撤資,但5 天後攻擊還是發生了。

漏洞涉及V2 Boosted Pool 的捨入誤差(rounding error)。攻擊者透過精確操縱,使得BPT(Balancer Pool Token)的供應量計算出現偏差,從而以不正當的匯率提取池中資產。攻擊透過多筆閃電貸交易完成,不同保全公司對損失的估算從97.9 萬到210 萬美元不等。

2023 年9 月:DNS 劫持攻擊,損失約24 萬美元

這是社會工程攻擊,目標不是智慧合約而是傳統網路基礎設施。

駭客透過社會工程手段攻破網域註冊商EuroDNS,劫持balancer.fi 網域。使用者被重新導向到釣魚網站,該網站使用Angel Drainer 惡意合約誘騙使用者授權轉帳。

攻擊者再將所盜贓物款透過Tornado Cash 洗白。

雖然這事本身並不是Balancer 的鍋,但樹大招風,利用協議的品牌進行釣魚,也讓人防不勝防。

2024 年6 月:Velocore 被黑,損失約680 萬美元

雖然Velocore 是獨立項目,它被盜本來和Balancer 沒有啥關係。但作為Balancer 的分叉,Velocore 使用了相同的CPMM(恆定乘積做市商)池設計,某種程度上可謂一脈相承,更像是盜在別處,但機制在Balancer。

這次的始末,大概是攻擊者利用Velocore 的Balancer 式CPMM 池合約中的溢出漏洞,透過操縱費用乘數(feeMultiplier)使其超過100%,導致計算錯誤。

攻擊者最終透過閃電貸配合精心建構的提取操作,盜取了約680 萬美元。

2025 年11 月:最新攻擊,損失過億

這次攻擊的技術原理已經初步明確。根據安全研究員分析,漏洞位於Balancer V2 協定裡的manageUserBalance 函數的存取控制檢查中,而這也對應著使用者權限的檢查。

根據安全監控機構Defimon Alerts 和Decurity 的分析,系統在驗證Balancer V2 的提款權限時,本應檢查呼叫者是否是帳戶的真正擁有者,但程式碼錯誤地檢查了msg.sender(實際呼叫者)是否等於使用者自己提供的op.sender 參數。

由於op.sender 是使用者可控的輸入參數,攻擊者可以隨意偽造身份,繞過權限驗證,執行WITHDRAW_INTERNAL(內部提款)操作。

說人話就是,這個漏洞讓任何人都可以冒充任何帳戶的所有者,直接提取內部餘額。這種基礎的存取控制錯誤更像是低階失誤,在一個運作5 年的成熟協定中出現,讓人非常詬異。

駭客光顧史讀後談

我們能從這段「駭客光顧史」裡學到什麼?

筆者的感受是,加密世界裡的DeFi 協議,更像是「可觀觀而不可褻玩」,遠看風平浪靜,而如果真要細細研究,有很多敘事之外的技術債恐怕需要償還。

例如Balancer 這個老牌DeFi 協議,仔細看它的創新之一,那自然繞不過允許最多8 種代幣的自訂權重而組成混合池。

相較於Uniswap 的簡潔設計,Balancer 的複雜性呈指數級增長。

每增加一種代幣,池子的狀態空間就會急遽膨脹。當你試圖在一個池子裡平衡8 種不同代幣的價格、權重和流動性時,攻擊面也隨之擴大。 2020 年的通貨緊縮代幣攻擊和2023 年的捨入誤差漏洞,本質上都是複雜性帶來的邊界條件處理不當。

更要命的是,Balancer 選擇了一個快速迭代的發展路徑。從V1 到V2,再到各種Boosted Pool,每次升級都在舊程式碼上疊加新功能。這種「技術債」的累積,讓程式碼庫變成了一個脆弱的積木塔;

例如最近這次因為權限問題而導致的攻擊,如此基礎的設計錯誤不應該是一個運行5 年的協議所產生的問題,或許某種程度上也說明專案的程式碼維護已經失控。

又或許,在敘事、利潤和情緒大於科技的現在,底層程式碼是否有漏洞,已經不重要了。

Balancer 當然不會是最後一個,你永遠都不知道因為DeFi 各種可組合性所堆疊的黑天鵝到底何時到來。 DeFi 世界裡各種複雜的依賴網絡,讓風險評估變得幾乎不可能。

即使你信任Balancer 的程式碼,你能信任它所有的整合與合作夥伴嗎?

對於旁觀者,DeFi 是一場新奇的社會實驗;對於參與者,DeFi 被盜是一次昂貴的教訓;對於整個行業,DeFi 健全是走向成熟必須付出的學費。

只是這個學費,希望不要太貴了。

分享至:

作者:深潮TechFlow

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:深潮TechFlow如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
推薦閱讀
15分鐘前
30分鐘前
43分鐘前
2小時前
13小時前
13小時前

熱門文章

行業要聞
市場熱點
精選讀物

精選專題

App内阅读