DeFi项目Yearn Finance闪电贷攻击事件分析 

一、事情概览

北京时间2021年2月5日,【链必安-区块链安全态势感知平台(Beosin-OSINT)】舆情监测到,DeFi闻名项目Yearn Finance产生闪电贷进犯事情。

简言之,本次进犯事情的具体手法为进犯者运用闪电贷借取巨额资金,而后进行循环套利。依据成都链安(Beosin)安全团队的响应和剖析,本次进犯事情的合约为yValut+Curve Pool。

二、事情剖析

1.进犯者在yVault合约中存入DAI,并调用earn触发yValut向流动性池运用DAI增加流动性,如下图所示:

DeFi项目Yearn Finance闪电贷攻击事件分析上图红框显示,在进行铸币时,需求读取合约中的DAI余量,但由于战略合约中的DAI已经抵押至curve合约进行盈余,所以要核算DAI代币的量,只能通过价值换算,核算出所持有的Curve代币能够兑换的DAI的量。

2.进犯者运用借来的资金向流动性池运用USDT增加流动性,取得Curve代币,如下图所示:

DeFi项目Yearn Finance闪电贷攻击事件分析

这儿值得注意的是,进犯者向池中注入的是单一的USDT,由于池子的特性,我们知道,当一种代币的含量上升,其相对价格也就下降。

3.进犯者取出yValut合约中存入的DAI,如下图所示:

DeFi项目Yearn Finance闪电贷攻击事件分析

依据#2可知,此刻的池子中由于USDT的含量增加,所以DAI的相对价格是上升的,这也就导致进犯者所持有的Curve代币兑换出的DAI相对下降,池子中将会余留少数DAI。

4.进犯者指定与增加流动性时持平的USDT数量,进行流动性移除,注意这儿由于#3时将一部分DAI取走,所以USDT的相对#2时价格下降,所以这儿将余下一部分Curve代币.

DeFi项目Yearn Finance闪电贷攻击事件分析

不断进行上述循环,这使得进犯者耗费DAI从而获取Curve代币。

通过屡次循环之后,进犯者套取了大量的Curve代币,而将DAI代币打入了Curve合约中。在整个进犯流程结束时,进犯者运用Curve代币,兑换出DAI/USDC

这次兑换,由于不是USDT的兑换,即使此刻的DAI相对进犯前含量较高,也会按照同等份额进行兑换,也便是进犯者打入Curve池子中多出的DAI代币,也会分发给进犯者。

这儿,我们再来看进犯者在进行进犯时的第一步操作,如下图所示:

DeFi项目Yearn Finance闪电贷攻击事件分析

进犯者运用闪电贷向池子中增加了巨量的流动性,这就导致这些多出的DAI,最终将会大部分分给进犯者。

而除掉这一部分丢失,进犯者还取得了更多的Curve代币,从而获利。

三、安全主张

针对本次事情,成都链安(Beosin)安全团队以为,很大程度上源于项目方潜在的合约漏洞未得到全面的安全排查,从而导致闪电贷进犯事情的产生。

在此,成都链安需求提醒区块链各生态项目方,切不可因项目上线完结之后就漫不经心,做好日常的安全排查和安全加固等工作,寻求第三方安全公司的力量,建立一整套的安全防护机制,防备于未然。

视野开拓

the study of ecoomics does ot seem to equie ay specialized gifts of a uusually high ode. Is it ot, itellectually egaded, a vey easy subject compaed with the highe baches of philosophy o pue sciece?-《哈佛极简经济学》

发表回复

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