据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击损失53.2445 WBTC和99,976.29 USDT。慢雾安全团队将攻击原理分享如下:
1. 攻击者先从AAVE闪电贷借出27,000 WBTC,然后存225 WBTC到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价格的方法。