Balancer遭50萬美元黑客攻擊 DeFi合約漏洞再敲警鍾

robot
摘要生成中

DeFi平台Balancer遭受黑客攻擊事件分析

6月29日凌晨,DeFi平台Balancer的兩個ERC20通縮代幣池遭到黑客攻擊,造成超50萬美元損失。安全分析人員介入調查後發現,問題的根源在於Balancer上的通縮型代幣與其智能合約在某些特定場景下存在不兼容性,使攻擊者能夠創建價格偏差的代幣流通池並從中獲利。

黑客攻擊分爲四個主要步驟:

  1. 從某借貸平台獲取104,331個WETH的閃電貸。

  2. 反復執行swapexactMountin()調用,直到Balancer持有的STA代幣幾乎耗盡,僅剩0.000000000000000001個STA。

  3. 利用STA代幣與Balancer智能合約的不兼容性,即記帳和餘額的不匹配,耗盡資金池中的其他資產,最終獲利523,616.52美元的數字資產。

  4. 償還閃電貸,並轉移攻擊所得的數字資產。

在攻擊的關鍵階段,黑客通過swapExactAmountIn()函數將極少量的STA發送到BPool,以極高的價值差換取了大量WETH。由於STA轉帳時會燒掉1%的手續費,實際上BPool無法收到任何STA,導致實際餘額與內部記帳產生不匹配。攻擊者隨後通過調用gulp()函數不斷重置_records[STA],維持BPool中極少量的STA餘額,從而持續以高價兌換其他資產。

這次事件再次暴露了DeFi可組合性存在的兼容性風險。爲防範類似攻擊,可考慮以下優化方案:

  1. 當轉帳數額不足以支付手續費時,STA/STONK在執行transfer()或transferFrom()時應直接回滾或返回False。

  2. Balancer應在每次transferFrom()函數調用後檢查BPool的實際餘額。

然而,最佳解決方案仍是事前預防。DeFi項目開發者應採用良好的代碼規範,尋求第三方安全公司協助進行全面的攻防測試,並對各種代幣標準和DeFi項目的組合行爲進行周密排查。

此次Balancer攻擊事件造成的具體損失包括:

  • 601.3 WETH
  • 11,031.4 SNX
  • 22,593.2 LINK
  • 116,107.8 STA
  • 53.4 COMP

總計損失約523,616.52美元的數字資產。

這一事件無疑會對DeFi社區產生重要影響,同時也警示所有DeFi項目開發者必須高度重視智能合約的安全性。

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