2021 年 02 月 05 日,链上机枪池 Yearn Finance 的 DAI 策略池遭受攻击。 攻击者连续发动了 11 次攻击(11 笔交易),每次攻击的收益在十几万美元到三十几万美元不等,累计获益约二百余万美元,造成 Yearn 损失近一千万美元。 烤仔分析了其中一笔攻击交易的转账细节,来看看这期间的账单流转。 在这个攻击中,攻击者首先从闪电贷合约 dYdX 和AAVE 获取了约 20 万个 ETH,价值三亿美元。然后将大部分存入了 Curve 池。
然后,攻击者从 Curve 池取出大量 USDT,导致 Curve 池中的 USDT 数量显著下降,Curve 池出现“价格异常”,DAI 和 USDC 变得廉价。 此时,攻击者让 Yearn 向 Curve 充入大量 DAI.
之后,攻击者将大量 USDT 放回 Curve 池,价格恢复正常。此时,攻击者再让 Yearn 赎回 DAI。 由于 Yearn 在 DAI 的最低点充入了大量的 DAI,蒙受了损失。根据 Yearn 的内部机制,这些损失由所有人均摊。而放回 USDT 的攻击者,则是这些损失的受益者。
此时,攻击者损失了 DAI,但获得了 3Crv,而且,有一部分损失是被所有 Yearn 用户平分了。 重复这个过程,攻击者获得了大量的 3Crv。 最后,攻击者用收益的 3Crv 填补 DAI 上的损失,最后可以结余几十万美元到三十万美元。
攻击者地址参见:https://etherscan.io/address/0x14ec0cd2acee4ce37260b925f74648127a889a28