Vyper 是一种基于 Python 的智能合约语言,与 EVM 网络兼容。
原文作者:Mlixy
原文来源:W3C DAO
DeFi 生态遭遇重大安全危机
7月30日,一场严重的安全事件震动了 DeFi 生态。多个使用 Vyper 编写的 DeFi 项目遭到了重入攻击,导致超过 7000 万美元的加密货币被窃取或转移。
Vyper 是一种基于 Python 的智能合约语言,与 EVM 网络兼容。当天,Vyper 团队在 Twitter 上披露,其智能合约编译器的最新版本(0.2.15、0.2.16 和 0.3.0)没有正确实现防止重入攻击的保护措施。
什么是重入攻击?
重入攻击是一种恶意行为,攻击者在智能合约的一个函数调用完成之前,反复调用该函数,利用合约的逻辑来窃取资金或操纵数据。例如,如果一个合约在更新余额之前就发送资金给用户,那么攻击者就可以多次调用该函数,从而获得比实际余额更多的资金。
哪些项目受到影响?
Curve Finance 是一个自动化做市商平台,专注于稳定币和其他低波动性资产的交易。Curve 的部分流动性池使用了 Vyper 编写的智能合约,因此受到了该漏洞的影响。
据MetaMask开发者Taylor Monahan 估计,Curve 的 CRV/ETH 池被盗走了价值约 2500 万美元的资金 。
此外,Alchemix、Metronome、JPEG等其他使用 Curve 池机制的 DeFi 项目也遭到了类似的攻击,损失了价值约 4500 万美元的流动性 。
事件影响
这些攻击引发了社区对 Curve DAO 的 CRV 代币价格波动和清算风险的担忧。CRV 是 Curve 平台上治理和奖励代币,在去中心化交易所上一度暴跌了86%,从 $4.5 跌至 $0.6。
然而,在链上数据显示,攻击者还没有开始出售他们盗取的价值约 450 万美元的 CRV,因此价格可能还会进一步下跌。
这次事件也重新引起了人们对 Curve 创始人 Michael Egorov 巨额借贷行为的关注。
Egorov 在 Aave、Fraxlend、Abracadabra 和 Inverse Finance 等顶级借贷协议上,使用了价值超过 1 亿美元的 CRV 作为抵押物,借入了大量的稳定币 。
如果 CRV 的价格跌破清算线,Egorov 的仓位将被清算,这将对 Aave 和其他借贷协议造成巨大的坏账损失,因为 CRV 的链上流动性不足以清算 Egorov 的仓位。
Egorov 在事件发生后,迅速偿还了部分债务,并增加了抵押物,将他在 Aave 上的清算线降低到了 $0.37。
DeFi 借贷平台 Aave 和其他协议为了防止 CRV 的价格波动导致连锁清算,暂停了 CRV 的借款功能,并提高了借贷费用 。
目前,在 Aave v2 中有超过 3 亿枚 CRV 供应(约 95% 来自 Egorov 的供应),仅有约 3500 万枚 CRV 已借出。当前,Aave 中诸如 USDC、USDT 和 DAI 等标的物的存借贷 APY 发生显著上升,当前 USDC 存借贷 APY 仍超过 20%,USDT 超过 25%。
白帽黑客和 MEV 机器人的作用
值得一提的是,并非所有的攻击者都是恶意的。部分白帽黑客和 MEV 机器人将盗取的资金返还给了受影响的项目,以减轻他们的损失 。
例如,CRV/ETH 池被攻击后,一个 MEV 机器人部署者 c0ffeebabe.eth 向 Curve 部署者返还了价值约 539 万美元的 2879.54 ETH。另一个 MEV 机器人部署者也向 Alchemix 返还了价值约 1000 万美元的 ETH。
结论
Curve Vyper Bug 是一场严重的安全事件,影响了许多 DeFi 项目和用户。它暴露了 Vyper 编译器的缺陷,以及 Curve 平台和生态系统的脆弱性。它也提醒了我们,在 DeFi 领域,风险无处不在,需要谨慎投资和管理资产。