北京时间11月14日23:36,黑客对ValueDeFi协议进行闪电贷攻击,损失将近740万美金的DAI。黑客在偷走代币后还留言“doyoureallyknowflashloan?”来挑衅开发团队。 1个小时后,ValueDeFi官方发推确认:MultiStablesvault遭到了一次复杂的攻击,净损失达600万美元。目前正在进行事后分析,并正在探索如何减轻对用户的影响。 CoinGecko行情显示,其VALUE代币自零时开始下跌,最低触及1.87美元,最高跌幅达31.75%,此后稍有回升,现报价2美元。ValueDeFi当前锁仓总额3280万美元。 本次事件与此前的Harvest攻击事件逻辑相似,PeckShield派盾对该事件进行分析认为,本次攻击得逞的原因在于,项目代码在使用基于AMM算法的价格预言机上存在漏洞。 我们基于发起攻击的交易(0x46a03488247425f845e444b9c10b52ba3c14927c687d38287c0faddc7471150a)来进行分析。攻击者的恶意攻击合约为(0x675BD0A0b03096c5ead734cFa00C7620538C7C6F)。 步骤1:通过Aave闪电贷获得8万个ETH(以460美元计约合3680万美金)。 步骤2:在UniswapV2闪电贷获得1.16亿枚DAI(空手套白狼)。接下来,0x675B恶意合约会执行如下内容。 步骤3:将步骤1获得的8万枚ETH在UniswapV2上换成3,100万枚USDT。 步骤4:在VaultDeFi上存入2,500万枚DAI并获得池子铸造的2,490万pooltokens。此时VaultDeFi协议会铸造出2,495.6万枚新3crv代币。 步骤5:在Curve上将9,000万枚DAI换成9,028万枚USDC。这一步会影响Curve上3pool(也即DAI/USDC/USDT)池子的平衡,进而抬升USDC的价格。 步骤6:在Curve上将3,100万枚USDT换成1,733万枚USDC,此时可以看到USDC兑换价格已经有很大的偏差,完成这一步后,会进一步提升Curve上3pool池子中USDC的价格。 步骤7:在ValueDeFi上销毁之前铸造的2,490万枚pooltokens,这部分pooltokens又赎回了3,308万枚3crv(算算可以知道比起铸造多了812.4万枚,这是由于DAI便宜了,所以赎回的3crv变多了)。 接下来,黑客在Curve再度反向操作,大约赚得86万DAI: 步骤8:将1,733万枚USDC在Curve上换回3,094万枚USDT。 步骤9:将9,028万枚USDC在Curve上换回9,092万枚DAI。 步骤10:销毁3pool中的3,308万枚3crv来赎回3,311万枚DAI,相比于存款时的代币数量,整整多了815.4万DAI。 Value攻击解析:为套740万美元,黑客贷了1.5亿美元最后是剩余步骤:返还Aave的闪电贷和UniswapV2上步骤2中的代币。 这次攻击之后,黑客返回给ValueDeFi开发者(0x7Be4D5A99c903C437EC77A20CB6d0688cBB73c7f)200万枚DAI,自己则保留了540万枚DAI。 (责任编辑:admin) |