SharkTeam:UwU Lend攻击事件分析
字数 2130 2025-08-19 12:40:55

UwU Lend攻击事件技术分析与防范教学文档

1. 事件概述

2024年6月10日,UwU Lend遭受攻击,损失约1930万美元。攻击者通过操纵sUSDe代币价格,利用借贷和清算机制漏洞获利。

2. 攻击技术细节分析

2.1 攻击者信息

  • 攻击者地址:0x841dDf093f5188989fA1524e7B893de64B421f47
  • 攻击合约:0x21c58d8f816578b1193aef4683e8c64405a4312e
  • 目标合约:UwU Lend金库合约(uSUSDE、uDAI、uUSDT)

2.2 攻击交易流程

攻击者共发起3笔攻击交易,以第一笔为例(0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b):

2.2.1 闪电贷准备阶段

从多个平台借入大量代币:

  • AaveV3:159,053.16 WETH和14,800 WBTC
  • AaveV2:40,000 WETH
  • Spark:91,075.70 WETH和4,979.79 WBTC
  • Morpho:301,738,880.01 sUSDe, 236,934,023.17 USDe和100,786,052.15 DAI
  • Uniswap V3:60,000,000 FRAX和15,000,000 USDC
  • Balancer:4,627,557.47 GHO和38,413.34 WETH
  • Maker:500,000,000 DAI

总计约:

  • 328,542.2 WETH
  • 19,779.79 WBTC
  • 600,786,052.15 DAI
  • 301,738,880.01 sUSDe
  • 236,934,023.17 USDe
  • 4,627,557.47 GHO
  • 60,000,000 FRAX
  • 15,000,000 USDC

2.2.2 价格操纵阶段

通过兑换(exchange)操作控制5个Curve Finance交易池中的USDe价格:

  1. USDecrvUSD池:8,676,504.84 USDe兑换成8,730,453.49 crvUSD
  2. USDeDAI池:46,452,158.05 USDe兑换成14,389,460.59 DAI
  3. FRAXUSDe池:14,477,791.69 USDe兑换成46,309,490.86 FRAX
  4. GHOUSDe池:4,925,427.20 USDe兑换成4,825,479.07 GHO
  5. USDeUSDC池:14,886,912.83 USDe兑换成14,711,447.94 USDC

这些操作导致5个资金池中的USDe价格降低,最终导致sUSDe价格大跌。

2.2.3 借贷与清算阶段

  1. 创建借贷头寸:存入WETH、WBTC和DAI,借贷sUSDe(因价格大跌,可借出更多sUSDe)
  2. 反向操作拉高sUSDe价格
  3. 借贷头寸价值超过抵押价值,触发清算条件
  4. 批量清算借贷头寸,获得清算奖励uWETH
  5. 偿还贷款,提取标的资产(WETH, WBTC, DAI和sUSDe)
  6. 将sUSDe再次存入LendingPool,借出更多其他资产(DAI和USDT)
  7. 兑换代币偿还闪电贷,最终获利1,946.89 ETH

2.3 价格操纵机制

sUSDe价格由11个价格计算得到:

  • 前10个由Curve Finance提供
  • 最后1个由Uniswap V3提供

攻击者操纵的5个Curve交易池:

  1. USDe/rvUSD
  2. USDe/DAI
  3. FRAX/USDe
  4. GHO/USDe
  5. USDe/USDC

价格计算涉及三个来源:

  1. Chainlink提供的price(不可操纵)
  2. Curve Finance交易池的price_oracle(0)
  3. Curve Finance交易池的get_p(0)

攻击者通过操纵交易池的代币数量来影响get_p(0)返回值,进而操纵最终价格。

3. 漏洞本质分析

攻击利用了以下关键漏洞:

  1. 价格预言机依赖问题:过度依赖可操纵的链上价格源
  2. 借贷机制设计缺陷:允许短时间内大额价格波动影响借贷和清算逻辑
  3. 缺乏价格异常检测:没有对异常价格波动进行监控和阻断

4. 安全防范建议

4.1 价格预言机改进

  1. 采用混合预言机方案,结合链下数据源
  2. 设置价格波动阈值,超出范围时暂停相关操作
  3. 使用时间加权平均价格(TWAP)而非即时价格

4.2 借贷机制优化

  1. 引入借贷冷却期,防止短时间内大额借贷
  2. 设置最大借贷比例,防止过度杠杆
  3. 实现动态清算阈值,考虑市场波动性

4.3 系统审计与监控

  1. 项目上线前必须进行第三方专业审计
  2. 实现实时交易监控系统,检测异常模式
  3. 建立应急响应机制,发现攻击可快速暂停系统

4.4 开发实践建议

  1. 遵循安全开发框架和最佳实践
  2. 进行全面的测试,包括极端情况测试
  3. 实现模块化设计,便于安全升级

5. 总结

UwU Lend攻击事件展示了DeFi项目中价格预言机操纵的严重风险。开发者必须重视:

  1. 价格源的安全性和多样性
  2. 系统对极端市场条件的鲁棒性
  3. 持续的安全监控和应急响应能力

通过多层次的防御措施和严格的安全实践,可以有效降低类似攻击的风险。

UwU Lend攻击事件技术分析与防范教学文档 1. 事件概述 2024年6月10日,UwU Lend遭受攻击,损失约1930万美元。攻击者通过操纵sUSDe代币价格,利用借贷和清算机制漏洞获利。 2. 攻击技术细节分析 2.1 攻击者信息 攻击者地址:0x841dDf093f5188989fA1524e7B893de64B421f47 攻击合约:0x21c58d8f816578b1193aef4683e8c64405a4312e 目标合约:UwU Lend金库合约(uSUSDE、uDAI、uUSDT) 2.2 攻击交易流程 攻击者共发起3笔攻击交易,以第一笔为例(0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b): 2.2.1 闪电贷准备阶段 从多个平台借入大量代币: AaveV3:159,053.16 WETH和14,800 WBTC AaveV2:40,000 WETH Spark:91,075.70 WETH和4,979.79 WBTC Morpho:301,738,880.01 sUSDe, 236,934,023.17 USDe和100,786,052.15 DAI Uniswap V3:60,000,000 FRAX和15,000,000 USDC Balancer:4,627,557.47 GHO和38,413.34 WETH Maker:500,000,000 DAI 总计约: 328,542.2 WETH 19,779.79 WBTC 600,786,052.15 DAI 301,738,880.01 sUSDe 236,934,023.17 USDe 4,627,557.47 GHO 60,000,000 FRAX 15,000,000 USDC 2.2.2 价格操纵阶段 通过兑换(exchange)操作控制5个Curve Finance交易池中的USDe价格: USDecrvUSD池:8,676,504.84 USDe兑换成8,730,453.49 crvUSD USDeDAI池:46,452,158.05 USDe兑换成14,389,460.59 DAI FRAXUSDe池:14,477,791.69 USDe兑换成46,309,490.86 FRAX GHOUSDe池:4,925,427.20 USDe兑换成4,825,479.07 GHO USDeUSDC池:14,886,912.83 USDe兑换成14,711,447.94 USDC 这些操作导致5个资金池中的USDe价格降低,最终导致sUSDe价格大跌。 2.2.3 借贷与清算阶段 创建借贷头寸:存入WETH、WBTC和DAI,借贷sUSDe(因价格大跌,可借出更多sUSDe) 反向操作拉高sUSDe价格 借贷头寸价值超过抵押价值,触发清算条件 批量清算借贷头寸,获得清算奖励uWETH 偿还贷款,提取标的资产(WETH, WBTC, DAI和sUSDe) 将sUSDe再次存入LendingPool,借出更多其他资产(DAI和USDT) 兑换代币偿还闪电贷,最终获利1,946.89 ETH 2.3 价格操纵机制 sUSDe价格由11个价格计算得到: 前10个由Curve Finance提供 最后1个由Uniswap V3提供 攻击者操纵的5个Curve交易池: USDe/rvUSD USDe/DAI FRAX/USDe GHO/USDe USDe/USDC 价格计算涉及三个来源: Chainlink提供的price(不可操纵) Curve Finance交易池的price_ oracle(0) Curve Finance交易池的get_ p(0) 攻击者通过操纵交易池的代币数量来影响get_ p(0)返回值,进而操纵最终价格。 3. 漏洞本质分析 攻击利用了以下关键漏洞: 价格预言机依赖问题 :过度依赖可操纵的链上价格源 借贷机制设计缺陷 :允许短时间内大额价格波动影响借贷和清算逻辑 缺乏价格异常检测 :没有对异常价格波动进行监控和阻断 4. 安全防范建议 4.1 价格预言机改进 采用混合预言机方案,结合链下数据源 设置价格波动阈值,超出范围时暂停相关操作 使用时间加权平均价格(TWAP)而非即时价格 4.2 借贷机制优化 引入借贷冷却期,防止短时间内大额借贷 设置最大借贷比例,防止过度杠杆 实现动态清算阈值,考虑市场波动性 4.3 系统审计与监控 项目上线前必须进行第三方专业审计 实现实时交易监控系统,检测异常模式 建立应急响应机制,发现攻击可快速暂停系统 4.4 开发实践建议 遵循安全开发框架和最佳实践 进行全面的测试,包括极端情况测试 实现模块化设计,便于安全升级 5. 总结 UwU Lend攻击事件展示了DeFi项目中价格预言机操纵的严重风险。开发者必须重视: 价格源的安全性和多样性 系统对极端市场条件的鲁棒性 持续的安全监控和应急响应能力 通过多层次的防御措施和严格的安全实践,可以有效降低类似攻击的风险。