瞬态存储漏洞致杠杆交易项目损失30万美元 攻击者转移WBTC和WETH

robot
摘要生成中

瞬态存储缺陷导致链上项目损失30万美元

2025年3月30日,一个以太坊上的杠杆交易项目遭受攻击,造成超过30万美元的资产损失。安全团队对此事件进行了深入分析,揭示了攻击的技术细节和根本原因。

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

事件背景

攻击针对的是一个名为SIR.trading的杠杆交易项目。攻击者成功利用了该项目合约中的一个漏洞,从而非法转移了大量资产。

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

技术原因分析

这次攻击的核心问题源于Solidity 0.8.24版本引入的瞬态存储(transient storage)特性。瞬态存储是一种新的数据存储位置,旨在提供低成本、交易期间有效的临时存储方式。然而,在这个案例中,瞬态存储的使用不当导致了严重的安全漏洞。

攻击的根本原因是,合约中使用tstore进行瞬态存储的值在函数调用结束后没有被正确清空。这使得攻击者能够构造特定的恶意地址,绕过权限检查,非法转出代币。

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

攻击过程

  1. 攻击者创建两个恶意代币A和B,并在某DEX上为这两个代币创建流动性池。
  2. 攻击者利用这两个代币在目标项目中创建一个新的杠杆交易市场。
  3. 通过精心设计的交易,攻击者在瞬态存储中留下了特定的值。
  4. 攻击者创建一个恶意合约,其地址与之前存储的值相匹配。
  5. 利用这个恶意合约,攻击者成功绕过了项目合约中的权限检查。
  6. 最终,攻击者成功将项目合约中的其他代币(如WBTC、WETH)转出获利。

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

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

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

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

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

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

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

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

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

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

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

资金流向分析

根据链上数据分析,攻击者共盗取了约30万美元的资产,包括:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

这些被盗资产随后被兑换成WETH,总计约193.1428 WETH,并被转入某个隐私性交易协议中。

值得注意的是,攻击者的初始资金(0.3 ETH)也来自于同一个隐私性协议,这可能暗示了攻击者试图隐藏其身份和资金来源。

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

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

安全建议

为防止类似事件再次发生,安全专家建议:

  1. 在使用瞬态存储时,应当在函数调用结束后立即使用tstore(key, 0)清除存储的值。
  2. 加强对合约代码的审计和安全测试,特别是对新引入的特性要格外谨慎。
  3. 在实现关键的权限检查时,避免过度依赖可能被操纵的存储机制。

这次事件再次强调了在采用新技术特性时,必须充分考虑其潜在的安全影响。对于区块链项目而言,持续的安全审计和风险评估至关重要。

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

WBTC-0.21%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 3
  • 分享
评论
0/400
StableGeniusDegenvip
· 07-28 00:16
又出事咯
回复0
韭当割vip
· 07-28 00:12
又来收韭菜了
回复0
社区打工仔vip
· 07-28 00:09
又是0审计项目被割
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)