慢雾:Inverse Finance遭遇闪电贷攻击简析
据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击,损失 53.2445 WBTC和 99,976.29 USDT.慢雾安全团队以简讯的形式将攻击原理分享如下:
1.攻击者先从AAVE闪电贷借出27,000 WBTC,然后存 225WBTC到 Curve USDT-WETH-WBTC的池子 获得 5,375.5个 crv3crypto 和 4,906.7 yvCurve-3Crypto,随后攻击者把获得的2个凭证存入Inverse Finance获得245,337.73个存款凭证 anYvCrv3Crypto。
2.接下来攻击者在Curve USDT-WETH-WBTC的池子进行了一次swap, 用 26,775个WBTC兑换出了75,403,376.18 USDT,由于anYvCrv3Crypto的存款凭证使用的价格计算合约除了采用Chainlink的喂价之外还会根据Curve USDT-WETH-WBTC的池子的WBTC,WETH,USDT的实时余额变化进行计算所以在攻击者进行swap之后anYvCrv3Crypto的价格被拉高从而导致攻击者可以从合约中借出超额的10,133,949.1个DOLA。
3.借贷完DOLA之后攻击者在把第二步获取的75,403,376.18 USDT 再次swap成26,626.4个WBTC,攻击者在把10,133,949.1 DOLA swap成 9,881,355个3crv,之后攻击者通过移除3crv的流动性获得10,099,976.2个 USDT。
4.最后攻击者把去除流动性的10,000,000个 USDT swap 成 451.0个WBT,归还闪电贷获利离场。
针对该事件,我们给出以下防范建议:
本次攻击的原因主要在于使用了不安全的预言机来计算 LP 价格,慢雾安全团队建议可以参考 Alpha Finance 关于获取公平 LP 价格的方法。