损失超5000万美元,一文梳理编程语言Vyper故障引发的连环攻击事件
编辑 | 吴说区块链
事件经过
7 月 30 日 21:34,PeckShield 监测到 NFT 借贷协议 JPEG'd 疑似被攻击,在 21:10,6,100 多枚 WETH(价值约 1,145 万美元)被转移至地址:0x94…A6Ab 中。Curve Finance 指出,JPEG'd 遭到只读重入攻击。目前 Curve 上 pETH-ETH pool 中 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 购买了 600 alETH 和用 4 ETH 购买了 1200 alETH,Alchemix 官方发布声明称 alETH -ETH 池子损失 5000 ETH,当前 alETH = 0.7ETH。OlympusDAO 脱离 fraxBP,将国库稳定币转换成 1800 玩枚 DAI,存入 DSR 中,其余 700 万枚 USDC 准备也换为 DAI。
7:26 派盾再次统计该安全事件损失已超 5195 万美元。
7:50 CRV/ETH Pool 抢跑的 Mev Bot 部署者 c0ffeebabe.eth向 Curve Finance 部署者返还了 2,879.54 ETH,价值约 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 等等更基础层的问题。