一、事件概览
北京时间2021年2月5日,【链必安-区块链安详态势感知平台(Beosin-OSINT)】舆情监测到,DeFi知名项目Yearn Finance产生闪电贷进攻事件。
简言之,本次进攻事件的详细手法为进攻者操作闪电贷借取巨额资金,尔后举办轮回套利。按照成都链安(Beosin)安详团队的响应和阐明,本次进攻事件的合约为yValut+Curve Pool。
二、事件阐明
1.进攻者在yVault合约中存入DAI,并挪用earn触发yValut向活动性池利用DAI添加活动性,如下图所示:
上图红框显示,在举办铸币时,需要读取合约中的DAI余量,但因为计策合约中的DAI已经抵押至curve合约举办盈利,所以要计较DAI代币的量,只能通过代价换算,计较出所持有的Curve代币可以或许兑换的DAI的量。
2.进攻者操作借来的资金向活动性池利用USDT添加活动性,得到Curve代币,如下图所示:
这里值得留意的是,进攻者向池中注入的是单一的USDT,因为池子的特性,,我们知道,当一种代币的含量上升,其相对价值也就下降。
3.进攻者取出yValut合约中存入的DAI,如下图所示:
按照#2可知,此时的池子中因为USDT的含量增加,所以DAI的相对价值是上升的,这也就导致进攻者所持有的Curve代币兑换出的DAI相对下降,池子中将会余留少量DAI。
4.进攻者指定与添加活动性时相等的USDT数量,举办活动性移除,留意这里因为#3时将一部门DAI取走,所以USDT的相对#2时价值下降,所以这里将余下一部门Curve代币.
不绝举办上述轮回,这使得进攻者耗损DAI进而获取Curve代币。
颠末多次轮回之后,进攻者套取了大量的Curve代币,而将DAI代币打入了Curve合约中。在整个进攻流程竣事时,进攻者利用Curve代币,兑换出DAI/USDC。
这次兑换,因为不是USDT的兑换,纵然此时的DAI相对进攻前含量较高,也会凭据同等比例举办兑换,也就是进攻者打入Curve池子中多出的DAI代币,也会分发给进攻者。
这里,我们再来看进攻者在举办进攻时的第一步操纵,如下图所示:
进攻者操作闪电贷向池子中添加了巨量的活动性,这就导致这些多出的DAI,最终将会大部门分给进攻者。
而撤除这一部门损失,进攻者还得到了更多的Curve代币,从而赢利。
三、安详发起
针对本次事件,成都链安(Beosin)安详团队认为,很洪流平上源于项目方潜在的合约裂痕未获得全面的安详排查,进而导致闪电贷进攻事件的产生。
在此,成都链安需要提醒区块链各生态项目方,切不行因项目上线完成之后就掉以轻心,做好日常的安详排查和安详加固等事情,寻求第三方安详公司的气力,成立一整套的安详防护机制,防御于未然。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。