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

撰文: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事件躺槍,損失約1190萬美元

這次Balancer是間接受害者。

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

當Euler被攻擊時,約1190萬美元從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 健全是走向成熟必須付出的學費。

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

BAL-9.31%
DYDX-1.9%
ETH-10.5%
WBTC-6.05%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)