前言

2023年7月31日,因使用的Vyper版本存在功能失效的重入鎖漏洞,已導致JPEG'd、Curve部分穩定幣池損失約5200萬美元,嚴重影響了DeFi 生態系統的安全性和可信度。比特叢林接下來會從涉案資金流向入手,分析幣池被攻擊的原因,並從本次攻擊事件中總結規避風險的方法。

涉案資金流向

攻擊者(0xb752DeF3a1fDEd45d6c4b9F4A8F18E645b41b324)竊取了7,680枚WETH、7,19 3,401枚CRV,並轉移到了另一個地方(0xb1c33b391c2569b737ec387e731e88589e8ec148) 。

比特叢林:JPEG'd、Curve等部分穩定幣池因攻擊共計損失約5200萬美元

被攻擊原因分析

對攻擊地址(0xb752DeF3a1fDEd45d6c4b9F4A8F18E645b41b324)進行分析後發現,攻擊發生在多個穩定幣池。 https://etherscan.io/address/0xb752def3a1fded45d6c4b9f4a8f18e645b41b324

比特叢林:JPEG'd、Curve等部分穩定幣池因攻擊共計損失約5200萬美元

Curve Finance官方發文稱是由於遞歸鎖出現故障,此前以太坊編程語言Vyper也曾發佈公告稱,Vyper 0.2.15、0.2.16和0.3.0版本的遞歸鎖失效。結合上述信息,進而對Vyper進行分析。

https://github.com/vyperlang/vyper/commits/046ea166d93b8da7c5d74115893eea2f60d76/vyper/semantics/validation/data_positions.py?browsing_name_history=true&new_path=vyper/semantics/analysis/data_postios.py&original_branch=76f1cc5a8b288696446ac08d9099bf643d132c73

比特叢林:JPEG'd、Curve等部分穩定幣池因攻擊共計損失約5200萬美元

https://github.com/vyperlang/vyper/comit/eae0eaf86b462746e4867352126f6c1dd43302f#diffbbb2d32046e0a7305ca9e7d0b871e3765826115fc9f0c0228ddf08f171dde6

比特叢林:JPEG'd、Curve等部分穩定幣池因攻擊共計損失約5200萬美元

根據這段代碼可以看出在對storage_slot進行賦值時,沒有提前驗證variable_name是否已經賦值,當函數再次使用時,就會導致slot+1,進而導致重入鎖無法生效。

造成的影響

本次攻擊事件會導致用戶和投資者的信心受損,這些攻擊和漏洞可能會讓一些DeFi 用戶和投資者感到擔憂,並對DeFi 協議和生態系統的可靠性和安全性產生懷疑,從而有可能導致他們撤出投資或者暫停使用DeFi 協議。

與此同時,這次攻擊事件也可能會引發其他項目方以及更多的審查機構和監管機構增加對DeFi 協議的審查和監管,對DeFi 生態系統產生影響。

鑑於這一情況,建議使用Vyper的其他項目進行自查,以排除類似漏洞的存在。

規避風險的措施

  • 加強安全審計

DeFi 協議的開發者和社區應該加強對協議的安全審計和測試,以發現和修復潛在的漏洞和安全問題。

  • 採取安全措施

DeFi 協議的開發者和社區應該採取各種安全措施,例如多重身份驗證、智能合約審查、漏洞報告和獎勵計劃等,以促進協議的安全性和穩定性。

  • 分散風險

DeFi 用戶和投資者應該分散他們的資產和風險,避免將所有的資本都投入到某個DeFi 協議中,從而降低受到攻擊和損失的風險。

如有發生數字資產被盜案件,可盡快聯繫比特叢林公司,我們將第一時間幫您挽回被盜數字資產。