8月4日,去中心化做市商Popsicle Finance 和收益聚合平台Wault Finance 接連遭到攻擊,分別損失2,070 萬美元和88.8 萬美元。

PeckShield「派盾」安全人員第一時間定位分析,發現在Popsicle Finance 的安全事件中,攻擊者創建了3 個合約,即合約A、B、C,並在8 個流動池中重複調用A.deposit ()、A.transfer(B)、B.collectFees()、B.transfer(C)、C.collectFees() 進行攻擊。

PeckShield「派盾」簡述攻擊過程:

第一步,攻擊者從Aave 中通過閃電貸借出3,000 萬USDT、1,300 WETH、1,400 BTC, 3,000 萬USDC、3,000 萬DAI 和200,000 UNI;

第二步,調用合約A 的deposit() 函數,在USDT-WETH PLP 流動池中添加3,000 萬USDT 和5,460 WETH,同時獲得10.52 PLP tokens;

第三步,A 將10.52 PLP tokens 轉給B;

第四步,調用合約B 的collectFees() 函數,旨在更新tokenRewards;

第五步,B 將10.52 PLP tokens 轉給C;

第六步,調用合約C 的collectFees() 函數,旨在更新tokenRewards;

第七步,C 將10.52 PLP tokens 轉給A,便於A 移除流動性;

第八步,調用合約A 的withdraw() 函數,移除流動性,A 獲得3,000 萬USDT 和5,460 WETH;

第九步,調用合約B 的collectFees() 函數,獲得獎勵215 萬USDT 和392 WETH;

第十步,調用合約C 的collectFees() 函數,獲得獎勵215 萬USDT 和402 WETH;

最後,攻擊者重複操作二至十的步驟,歸還閃電貸完成攻擊。

Peck Shield

PeckShield「派盾」安全人員第一時間定位分析,發現Wault Finance 的攻擊手段和此前損失1,000 多萬美元的yDAI 相似,即使在USDT-WEX 交易對的價格被操縱的情況下,stake() 函數仍可通過相關的USDT-WEX 交易對強制將USDT 兌換為WEX。

PeckShield「派盾」簡述攻擊過程:

第一步,攻擊者通過閃電貸從WUSD-USDT 池中藉出1,683 萬WUSD,

第二步,調用WUSDMaster 贖回1,503 萬USDT (90%)和1.065 億WEX(10%),此時WEX 的價格為0.015 USDT;

第三步,攻擊者從PancakeSwap 通過閃電貸借出4,000 萬USDT,並將其中2,300 萬USDT 兌換為WEX,此時WEX 的價格上升至0.044 USDT,攻擊者獲得5.179 億WEX;

第四步,攻擊者重複調用stake() 函數,質押68 次25 萬USDT(總計1,700 萬USDT),每次質押WUSDMaster 都會將其中10% 的USDT 強制兌換為WEX,此時WEX 的價格為0.14 USDT ;

第五步,攻擊者歸還1,688 萬WUSD 閃電貸;

第六步,攻擊者用6.24 億WEX 兌換為USDT, 獲得2,593 萬USDT,隨後歸還4,012 萬USDT 的閃電貸;此時攻擊者獲利11 萬WUSD 和84 萬USDT,並將這些代幣在PancakeSwap 上兌換為370 ETH,並通過AnySwap 跨鏈到以太坊上。

受到安全事件的影響,WEX 短時腰斬,從0.012 美元跌至0.006 美元。