2021 年02 月05 日,據慢霧區情報,知名的鏈上機槍池yearn finance 的DAI 策略池遭受攻擊,慢霧安全團隊第一時間跟進分析,以下是慢霧的簡要分析:
1. 攻擊者首先從dYdX 和AAVE 中使用閃電貸借出大量的ETH
2. 攻擊者使用從第1 步借出的ETH 在Compound 中藉出DAI 和USDC
3. 攻擊者將第2 步中的所有USDC 和大部分的DAI 存入到Curve DAI/USDC/USDT 池中,這個時候由於攻擊者存入流動性巨大,其實已經控制Curve DAI/USDC/USDT 的大部分流動性
4. 攻擊者從Curve 池中取出一定量的USDT,使DAI/USDT/USDC 的比例失衡,及DAI/ (USDT&USDC) 貶值
5. 攻擊者第3 步將剩餘的DAI 充值進yearn DAI 策略池中,接著調用yearn DAI 策略池的earn 函數,將充值的DAI 以失衡的比例轉入Curve DAI/USDT/USDC 池中,同時yearn DAI 策略池將獲得一定量的3CRV 代幣
6. 攻擊者將第4 步取走的USDT 重新存入Curve DAI/USDT/USDC 池中,使DAI/USDT/USDC 的比例恢復
7. 攻擊者觸發yearn DAI 策略池的withdraw 函數,由於yearn DAI 策略池存入時用的是失衡的比例,現在使用正常的比例提現,DAI在池中的佔比提升,導致同等數量的3CRV 代幣能取回的DAI 的數量變少。這部分少取回的代幣留在了Curve DAI/USDC/USDT 池中
8. 由於第3 步中攻擊者已經持有了Curve DAI/USDC/USDT 池中大部分的流動性,導致yearn DAI 策略池未能取回的DAI 將大部分分給了攻擊者
9. 重複上述3-8 步驟5 次,並歸還閃電貸,完成獲利。
參考攻擊交易:
https://etherscan.io/tx/0xb094d168dd90fcd0946016b19494a966d3d2c348f57b890410c51425d89166e8
