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