文章来源:matataki
作者:小岛美奈子Memento te hominem esse:谨记你不过只是一个人。—— 《世界语言简史》,常被引用的拉丁语名言这已经不是 Andre 第一次翻车了,今年早些时候,Andre 在刚开始构建 yCrv 的时候,就发生过一次事故,使得一个早期用户损失了 14w 美金。
Medium, Andre Cronje, Post mortem 28–02–2020
Medium, Andre Cronje, Post Mortem of the Post Mortem
这件事件之后,Andre 的置顶推文就是那则著名的 Disclaimer。
而就在本月中旬,YFI 的社区项目 SAFE 也发生了内幕交易,提前买入了大额保单。虽然不是 Andre 的直接责任,但依然对 YFI 的社区造成了一定影响。
昨天发生的事故无论是损失金额,还是波及的人数,都比前几次事故要远远严重。而且事故原理也更加简单,简直可以作为 Flashloan 的入门教程了。以至于 Andre 都写不出像样的 Postmortem 来进行说明。
事故原理
Flashloan 大家一定已经不陌生了,在今年 EtherDenver 期间,DeFi 项目 bZq 就曾连续发生数次事故。其中第二次攻击并不是合约代码的漏洞,而是利用了合约设计的缺陷 —— 所有合约都按照预定的设计在执行工作,但当这些合约组合时却形成了无风险套利的可能。因为攻击者需要在一笔 tx 内同时完成「借款」和「还款」的操作,因而这种攻击方法被称之为闪电贷??(Flashloan)。DragonFly 的研究员 Haseeb Qureshi 就曾撰文,称这种类型的攻击将会成为 DeFi 开发中的「新常态」(New Normal)。
事故合约
https://etherscan.io/address/0x5ade7ae8660293f2ebfcefaba91d141d72d221e8
https://etherscan.io/address/0xc08f38f43adb64d16fe9f9efcc2949d9eddec198#code
黑客地址
https://etherscan.io/tx/0x3503253131644dd9f52802d071de74e456570374d586ddd640159cf6fb9b8ad8
我们可以看到黑客一共发起了三次 Create Contract 操作,并且再得手之后,还还回去一半。(好活当赏)
再看一些具体的受害者 Case,比如这位老哥 花了 390 个 ETH 去买 EMN,一个小时之后只卖回了 1 个。
再比如这位 推上的老哥 @spzcrypto。。。前几个小时还在转推 @eminencefi 的状态。。下一则推就 got rekt 了 = =。。。。
看上去也根本不像是演的。类似的受害者想必不在少数。(不过 u1s1,这位老哥的 Instagram 上的摄影作品还是相当不错的!!!)
虽然攻击合约没有开源。。但是死观察这些 tx 的内联转账可知。。。这是一个标准的闪电贷??过程。。。。很容易把攻击原理还原出来,下面这则 thread 详细的描述了攻击经过:如果你困惑于黑客是如何成功榨干 $EMN 合约的,这里是具体的机制。EMN 合约允许你用 DAI 作为储备金,铸造 EMN。它使用标准的类似 Bancor 的曲线 —— DAI 被用作 EMN 的储备货币,EMN 代币的价格由 EMN 的数量与储备货币中的数量决定。
第二种代币,eAAVE 也类似,但有一个小而重要的不同 —— 它是用 EMN 作为储备货币,但却是「虚拟的」—— 如果你通过向它发送 EMN代币来铸造 eAAVE,而不是将你的 EMN 存储在储备中,eAAVE 合约实际上会销毁 EMN。这种相互作用使得攻击者可以进行以下交易(所有交易都是在一个交易中原子地进行 —— 也就是闪电贷??)。下面是完整的攻击过程:
从 Uniswap 中闪电贷?? 出 15m 的 DAI。
用你的 DAI 铸造尽可能多的 EMN(忽略价格)。
用一半的 EMN 铸造 eAAVE。这将消耗 EMN,减少总供应量,从而抬高EMN 的价格。
以 10m 的价格卖出你的后一半 EMN(注意,这比 7.5m 的 DAI 的本金多得多)。
现在卖出你的 eAAVE,取回你的前一半 EMN,降低 EMN 的价格。
以 6.649m 的价格卖回你的前一半 EMN。
向 Uniswap 归还 15m 的闪电贷??,享受 1.67m 的利润。
重复以上策略三次。黑客能在如此短的时间里发现合约的漏洞,因而社区猜测也是一次内线作案。虽然说 Test in Prod 是 Andre 的标准做法。但是今天的 Andre 头顶 YFI 之父的光环,其对社区的影响以不可同日而语。正所谓力量越大责任也越大,发生这样的事故,Andre 本人其实难辞其咎。
后续
YFI 的币价受此事故牵连,昨日大跌 16%。
Andre 本人也表示收到了许多受害者的私信人身威胁(DeFi 虚渊玄?)。随后 Andre 表示将会永久封存自己使用已久传奇账号 Yearn.Deployer 。并不再使用 Twitter Shill 自己的新项目。
同时 Andre 也失去了他的左膀右臂。。。YFI 社区 KOL,第一时间 shill 并目睹了被骇全过程 的 @Bluekirby。。。。蓝色星之卡比表示自己 将从 YFI 社区中辞职。
截止目前,该事件的影响依然在发酵中。
本文链接:https://www.8btc.com/article/652468转载请注明文章出处