一、攻击交易分析
攻击者地址:0x841dDf093f5188989fA1524e7B893de64B421f47
攻击者共发起了3笔攻击交易:
-
攻击交易1:0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
-
攻击交易2:0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
-
攻击交易3:0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
以攻击交易1为例,进行分析:
-
攻击合约:0x21c58d8f816578b1193aef4683e8c64405a4312e
-
目标合约:UwU Lend金库合约,包括:
-
uSUSDE:0xf1293141fc6ab23b2a0143acc196e3429e0b67a6
-
uDAI:0xb95bd0793bcc5524af358ffaae3e38c3903c7626
-
uUSDT:0x24959f75d7bda1884f1ec9861f644821ce233c7d
攻击过程如下:
-
闪电贷借出多种代币:
-
闪电贷平台:AaveV3、AaveV2、Spark、Morpho、Uniswap V3、Balancer、Maker
-
借出代币:WETH, WBTC, sUSDe, USDe, DAI, FRAX, USDC, GHO
-
接收地址:0x4fea76b66db8b548842349dc01c85278da3925da
-
转移Token至攻击合约:
-
合约地址:0xf19d66e82ffe8e203b30df9e81359f8a201517ad
-
操纵sUSDe价格:
-
通过多个兑换操作降低sUSDe价格。
-
兑换操作包括:USDe/rvUSD, USDe/DAI, FRAX/USDe, GHO/USDe, USDe/USDC。
-
创建借贷头寸:
-
存入其他资产(WETH, WBTC, DAI),借贷sUSDe。
-
抬高sUSDe价格:
-
清算借贷头寸:
-
偿还贷款,提取资产:
-
提取标的资产WETH, WBTC,DAI和sUSDe。
-
再次抵押sUSDe:
-
兑换代币,偿还闪电贷:
二、漏洞分析
攻击者利用闪电贷操纵sUSDe的价格,通过降低价格借出大量sUSDe,再抬高价格清算借贷头寸获利。具体方法如下:
-
价格操纵:
-
通过控制Curve Finance的5个交易池(USDe/rvUSD, USDe/DAI, FRAX/USDe, GHO/USDe, USDe/USDC)的代币数量来操纵价格。
-
价格读取函数:
-
sUSDe价格由Curve Finance的交易池和Uniswap V3提供的价格计算得到。
-
价格影响:
-
价格操纵影响借出资产的数量和借贷率,进而影响清算系数。