前言

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 协议中,从而降低受到攻击和损失的风险。

 

  如有发生数字资产被盗案件,可尽快联系比特丛林公司,我们将第一时间帮您挽回被盗数字资产。