1. 首页
  2. 快讯
  3. 慢雾:Value DeFi 协议闪电贷攻击简要分析

慢雾:Value DeFi 协议闪电贷攻击简要分析

据慢雾区消息,11 月 15 日,Value DeFi 的 Value DeFi MultiStables 保险库遭遇闪电贷攻击,慢雾安全团队于第一时间跟进并进行相关分析,
1. 攻击者首先从 Aave 中借出 80000 个 ETH,为攻击做准备;
2. 攻击者使用 80000 个 ETH 在 Uniswap WETH/DAI 池中用闪电贷借出大量的 DAI 和 在 Uniswap WETH/DAI 兑换出大量的 USDT;
3. 用户调用 ValueMultiVaultBank 合约 的 deposit 合约使用第 2 步中小部分的 DAI 进行充值,ValueMultiVaultBank 合约中一共有 3 种资产,分别是 3CRV、bCRV、和 cCRV。ValueMultiVaultBank  合约在铸币的时候会将合约中的 bCRV, cCRV 转换成以 3CRV 进行计价,转化的途径为 bCRV/cCRV -> USDC -> 3CRV。其中 USDC -> 3CRV 使用的是 DAI/USDC/USD 池中 USDC/3CRV 的价格。转换完成后,Value Defi 合约根据合约中总的 3CRV 的价值和攻击者充值的 DAI 数量计算 mVUSD 铸币的数量;

4. 攻击者在 Curve DAI/USDC/USDT 池先使用第二步中剩余的大部分 DAI 和 USDT 兑换 USDC,拉高 DAI/USDC/USDT 池中的 USDC/3CRV 的价格
5. 攻击者在 ValueMultiVaultBank  合约中发起 3CRV 提现,此时 ValueMultiVaultBank  合约和第 3 步一样,会先将合约中的 bCRV, cCRV 转换成以 3CRV 计价,由于在第 4 步中,USDC/3CRV 的价格已经被拉高,导致换算的过程中,ValueMultiVaultBank  合约中的 bCRV, cCRV 能换算成更多的 3CRV,也就是说使用同等份额的 mVUSD 可以换取更多的 3CRV;
6. 拿到 3CRV 后,攻击者到 Curve 的 DAI/USDC/USDT 池中使用 3CRV 换回 DAI,并在 Uniswap 中兑换回 ETH,然后归还 Aave 的闪电贷 。

总结:由于 Value Defi 合约在铸币过程中将合约资产转换成 3CRV 时依赖 Curve DAI/USDC/USDT 池 中 USDC/3CRV的价格,导致攻击者可以通过操控 Curve DAI/USDC/USDT 池 中 USDC/3CRV 的价格来操控 mVUSD/3CRV 的价值,从而获利。

分析样本可点击查看原文。「查看原文」

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注