损失超过5000万美元的连环攻击事件,由编程语言Vyper的故障引发。

Vyper编程语言故障引发的连环攻击事件导致超过5000万美元的损失。

事件经过

7月30日21:34,PeckShield监测到NFT借贷协议JPEG’d疑似被攻击,攻击者转移了价值约1,145万美元的6,100多枚WETH至地址0x94…A6Ab。Curve Finance确认,JPEG’d遭到了只读重入攻击。此次攻击导致Curve的pETH-ETH池中pETH的价格下跌至383美元。pETH是由JPEG’d发行的ETH衍生资产。JPEG’d发推称,pETH-ETH Curve池遭到攻击,但允许借贷NFT的保险库合约仍然安全且运行稳定,NFT和国库资产未受影响。

随后,22:50,msETH-ETH池被攻击,23:34,alETH-ETH池也被攻击。

7月31日0:44,以太坊编程语言Vyper发推表示,Vyper 0.2.15、0.2.16和0.3.0版本的重入锁失效。

0:45,Curve官方推特发文表示,由于重入锁出现故障,许多使用Vyper 0.2.15的稳定币池(alETH/msETH/pETH)遭到攻击,但其他池是安全的。

0:57,派盾的统计数据显示,受此影响的DeFi借贷协议Alchemix、NFT借贷协议JPEG’d、DeFi合成资产协议MetronomeDAO、跨链桥deBridge和采用Curve机制的BNB Chain上的DEX项目Ellipsis累计损失超过2676万美元。

2:46,Metronome发布声明称,作为预防措施,已暂停Metronome主网功能。

3:08,CRV-ETH池被攻击,导致链上CRV最低跌到0.08左右,但由于AAVE的价格取自Chainlink,后者并没有将异常价格体现出来,导致Curve创始人Michael Egorov在AAVE的仓位未被清算。

据@Super4DeFi透露,在此期间有套利者以0.1ETH购买了600alETH,并用4ETH购买了1200alETH。Alchemix官方发布声明称,alETH-ETH池损失了5000ETH,目前alETH的价格为0.7ETH。OlympusDAO脱离fraxBP,将国库稳定币转换为1800万枚DAI,并存入DSR中,其余700万枚USDC准备也换为DAI。

7:26,派盾再次统计该安全事件的损失已经超过5195万美元。

7:50,CRV/ETH池的MeV Bot部署者c0ffeebabe.eth向Curve Finance部署者返还了2,879.54ETH,价值约539万美元。

9:37,韩国最大交易所Upbit发布公告称,由于Curve部分稳定币池被攻击,导致CRV波动性较大,现已暂停Curve(CRV)充值与提币服务。

其他影响

根据defillama数据,Curve Finance的锁仓价值(TVL)在24小时内减少了43.6%,目前为18.4亿美元;Convex Finance的TVL在24小时内减少了48.5%,目前为149亿美元。

Aave以太坊v2版本已经禁用CRV借款功能,可能是为了防止交易者利用Curve漏洞事件恐慌,借币CRV恶意做空,从而促使连环清算。根据此前Aave治理通过的提案AIP-125,协议可以在面对某些突发事件时,禁用特定资产的借款功能。目前,在Aave v2中有超过3亿枚CRV供应,其中约95%来自于CRV创始人Michwill的供应,而只有约3500万枚CRV已经被借出。

当前,在Aave中诸如USDC、USDT和DAI等标的物的存借贷APY发生了显著上升,目前USDC的存借贷APY仍超过20%,USDT超过25%。由于攻击Curve的黑客(地址为0xb1…c148)从中获利了价值460万美元的7,193,402枚CRV,用户仍然对Curve创始人Michwill大规模清算他持有的CRV以及产生的连锁反应表示担忧(CRV价格一度跌至0.08美元,但Chainlink预言机没有回馈该价格信息,因此未触发清算)。

目前,Michwill在Aave v2中拥有293,020,675枚CRV作为担保物(价值1.87亿美元)和59,674,100 USDT的债务,其中清算线约为0.37美元;在Fraxlend中,他拥有71,107,195枚CRV作为担保物(价值4,4546万美元)和21,337,989枚FRAX的债务(价值2130万美元),其中清算线约为0.4美元;在Abracadabra中,他拥有63,404,437枚CRV作为担保物(价值3,190万美元)和18,787,110枚MIM的债务,其中清算线约为0.39美元;在Inverse中,他拥有25,128,033枚CRV作为担保物(价值1,600万美元)和7,689,209枚DOLA的债务,其中清算线约为0.4美元。在过去的6个小时里,Michwill已经陆续清偿了部分债务。

慢雾团队的@IM_23pds指出,Vyper官方文档推荐的实际上是一个有缺陷的版本。余弦也指出,智能合约语言层的bug导致一些知名项目的重入锁防御失效,黑白帽黑客们及MEV Bots陷入疯狂,各种重入操纵及抢跑拿走资金。这种基础层的漏洞是最令人担忧的,幸运的是这次不是Solidity语言的问题,而是不那么流行的Vyper出了问题。或者更进一步地说,这并非是EVM等更基础层面的问题。