瞬态存储漏洞导致以太坊项目遭30万美元攻击 安全团队解析关键细节

robot
摘要生成中

瞬态存储漏洞引发30万美元链上攻击事件分析

2025年3月30日,某以太坊链上杠杆交易项目遭受攻击,导致超30万美元资产损失。安全团队对此事件进行了深入分析,现将结果分享如下:

背景知识

Solidity 0.8.24版本引入了瞬态存储(transient storage)特性,这是一种新的数据存储位置。其主要特点包括:

  1. 低gas成本:TSTORE和TLOAD操作的gas成本固定为100。
  2. 交易内持久性:数据在整个交易期间保持有效。
  3. 自动清除:交易结束后,瞬态存储自动重置为零。

致命残留:一场由瞬态存储引发的30万美元链上劫案

攻击原因

本次事件的根本原因是,函数中使用tstore进行瞬态存储的值在函数调用结束后并未被清空。攻击者利用这一特性,构造特定的恶意地址绕过权限检查,从而转出代币。

致命残留:一场由瞬态存储引发的30万美元链上劫案

攻击步骤

  1. 攻击者创建两个恶意代币A和B,并在某DEX上为这两个代币创建池子注入流动性。

  2. 攻击者调用Vault合约的initialize函数,以A代币为抵押品代币,B代币为债务代币创建杠杆交易市场。

  3. 攻击者调用Vault合约的mint函数,存入债务代币B铸造杠杆代币。在此过程中,DEX池子地址被第一次瞬态存储。

  4. 当DEX池子进行兑换操作时,会回调Vault合约的uniswapV3SwapCallback函数。该函数使用tload从瞬态存储中取值验证调用者身份,并将铸造的数量进行第二次瞬态存储。

  5. 攻击者创建一个恶意合约,其地址与第二次瞬态存储的值相同。

  6. 攻击者通过该恶意合约直接调用Vault合约的uniswapV3SwapCallback函数转出代币。由于瞬态存储中的值未被清空,导致身份验证被错误通过。

  7. 最后,攻击者通过攻击合约(A代币)调用Vault合约的uniswapV3SwapCallback函数,将Vault合约中的其他代币(如WBTC、WETH)转出获利。

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

资金流向分析

据链上反洗钱与追踪工具分析,攻击者盗取了约30万美元的资产,包括:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

随后,攻击者将WBTC和USDC兑换为WETH,共计193.1428 WETH被转入某混币工具。攻击者的初始资金来源于该混币工具转入的0.3 ETH。

致命残留:一场由瞬态存储引发的30万美元链上劫案

致命残留:一场由瞬态存储引发的30万美元链上劫案

安全建议

  1. 项目方应根据业务逻辑在函数调用结束后立即使用tstore(key, 0)清除瞬态存储中的值。

  2. 加强合约代码审计与安全测试,避免类似漏洞。

  3. 谨慎使用新引入的特性,充分了解其潜在风险。

  4. 建立多重验证机制,不要仅依赖单一的身份验证方法。

  5. 定期进行安全评估和漏洞扫描,及时修复发现的问题。

本次攻击事件再次强调了区块链项目在使用新技术特性时需要格外谨慎,同时也凸显了持续性安全审计的重要性。开发者应当时刻关注最新的安全最佳实践,并在代码实现中严格遵循。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 7
  • 分享
评论
0/400
Degen Whisperervip
· 18小时前
割韭菜的一天又开始了
回复0
养老金毁灭者vip
· 18小时前
30w又润了
回复0
AirDropMissedvip
· 18小时前
又被割了一波韭菜
回复0
ruggedNotShruggedvip
· 18小时前
格局小了 现在这点攻击都不算事
回复0
笨蛋鲸鱼vip
· 19小时前
又有小项目被割韭菜了
回复0
RugPull预警机vip
· 19小时前
又一个合约擦屁股没擦干净被爆
回复0
摇摆的小韭菜vip
· 19小时前
近期以太坊3000+上方游走!未来会继母3000+以上
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)