值得信赖的区块链资讯!
致命残留|一场由瞬态存储引发的链上劫案
作者:九九 & Lisa
编辑:Sherry
背景
2025 年 3 月 30 日,根据慢雾 MistEye 安全监控系统监测,Ethereum 链上的杠杆交易项目 SIR.trading (@leveragesir) 遭攻击,损失价值超 30 万美元的资产。慢雾安全团队对该事件展开分析,并将结果分享如下:
(https://x.com/SlowMist_Team/status/1906245980770746449)
相关信息
攻击者地址:
https://etherscan.io/address/0x27defcfa6498f957918f407ed8a58eba2884768c
存在漏洞的合约地址:
https://etherscan.io/address/0xb91ae2c8365fd45030aba84a4666c4db074e53e7#code
攻击交易:
https://etherscan.io/tx/0xa05f047ddfdad9126624c4496b5d4a59f961ee7c091e7b4e38cee86f1335736f
前置知识
Solidity 0.8.24 版本(2024 年 1 月发布)引入了基于 EIP-1153 的瞬态存储(transient storage) 特性。这是一种新的数据存储位置,旨在为开发者提供一种低成本、交易期间有效的临时存储方式。
瞬态存储是一种与存储(storage)、内存(memory) 和调用数据(calldata) 并列的新数据位置。其核心特点是数据仅在当前交易执行期间有效,交易结束后会被自动清除。访问和修改瞬态存储通过两个新的 EVM 指令实现:
-
TSTORE(key, value):将 256 位的值 value 存储到瞬态存储的指定键 key 对应的内存中。
-
TLOAD(key):从瞬态存储的指定键 key 对应的内存中读取 256 位的值。
该特性主要有以下特点:
-
低 gas 成本:TSTORE 和 TLOAD 的 gas 成本固定为 100,相当于热存储访问(warm storage access)。相比之下,常规存储操作(SSTORE) 在首次写入(从 0 到非 0)时可能高达 20,000 gas,更新时也至少需要 5,000 gas。
-
交易内持久性:瞬态存储的数据在整个交易期间保持有效,包括所有函数调用和子调用,适合需要跨调用共享临时状态的场景。
-
自动清除:交易结束后,瞬态存储自动重置为零,无需手动清理,减少了开发者维护成本。
根本原因
本次被黑事件的根本原因是,在函数中调用 tstore 进行瞬态存储的值在函数调用结束后并没有被清空,导致攻击者可以利用这个特性构造特定的恶意地址来绕过权限检查转出代币。
攻击步骤
1. 攻击者首先创建两个恶意代币 A 和 B,之后在 UniswapV3 上为这两个代币创建池子并注入流动性,其中 A 代币为攻击合约。
2. 接着攻击者调用 Vault 合约的 initialize 函数,以 A 代币为抵押品代币,B 代币为债务代币创建一个杠杆交易市场 APE-21。
3. 紧跟着攻击者调用 Vault 合约的 mint 函数,存入债务代币 B 铸造杠杆代币 APE。
跟进到 mint 函数中,我们发现当需要存入债务代币 B 去铸造杠杆代币时,需要传入的 collateralToDepositMin 参数的值不能等于 0,之后会通过 UniswapV3 先将 B 代币兑换成抵押品代币 A 并转入 Vault 中,其中会将攻击者先前创建的 UniswapV3 池子的地址进行第一次瞬态存储。
当 UniswapV3 池子进行兑换操作时,会回调 Vault 合约的 uniswapV3SwapCallback 函数。可以看到:该函数首先会用 tload 从先前瞬态存储的指定键 1 对应的内存中取出值,来验证调用者是否是 UniswapV3 池子,接着从铸造者地址转出债务代币 B 并铸造杠杆代币 APE,最后将铸造的数量 amount 进行第二次瞬态存储,保存在指定键 1 对应的内存中,用作 mint 函数的返回值。这里需要铸造的数量是攻击者提前计算控制好的,其值为 95759995883742311247042417521410689。
4. 攻击者之后调用 Keyless CREATE2 Factory 合约的 safeCreate2 函数来创建一个恶意的合约,其合约地址 0x00000000001271551295307acc16ba1e7e0d4281,与第二次瞬态存储的值相同。
5. 接着攻击者通过该恶意合约去直接调用 Vault 合约的 uniswapV3SwapCallback 函数转出代币。
因为 uniswapV3SwapCallback 函数是通过 tload(1) 来获取验证调用者是否是 UniswapV3 池子,然而在先前的铸造操作中,指定键 1 对应内存中的值被保存为铸造的数量 95759995883742311247042417521410689,并且该内存中的值在 mint 函数调用后并没有进行清空,所以使得此刻 uniswapPool 的地址被获取为 0x00000000001271551295307acc16ba1e7e0d4281,导致对调用者的身份检查被错误地通过。
并且攻击者提前计算好了需要转出的代币数量,将最终铸造的数量 amount 构造为指定的值:1337821702718000008706643092967756684847623606640。同样的,在这一次调用 uniswapV3SwapCallback 函数的最后,会进行第三次的瞬态存储,将该值保存到指定键 1 对应内存中。这是需要让该值与攻击合约(A 代币)的地址的值 0xea55fffae1937e47eba2d854ab7bd29a9cc29170 相同,才能让之后对调用者的检查通过。
6. 最后,攻击者就可以直接通过攻击合约(A代币)去调用 Vault 合约的 uniswapV3SwapCallback 函数,将 Vault 合约中的其他代币(WBTC、WETH) 转出获利。
MistTrack 分析
据链上反洗钱与追踪工具 MistTrack 的分析,攻击者 (0x27defcfa6498f957918f407ed8a58eba2884768c) 盗取了约 30 万美元的资产,包括 17,814.8626 USDC, 1.4085 WBTC 和 119.871 WETH。
其中 WBTC 被兑换为 63.5596 WETH,USDC 被兑换为 9.7122 WETH:
接着,共 193.1428 WETH 被转入 Railgun:
此外,攻击者的初始资金来源于 Railgun 转入的 0.3 ETH:
总结
本次攻击的核心在于攻击者利用项目中瞬态存储不会在函数调用后将保存的值立即清空,而是会在整个交易期间中一直保存的特性,从而绕过了回调函数的权限验证来获利。慢雾安全团队建议项目方应该根据相应的业务逻辑在函数调用结束后立即使用 tstore(key, 0) 将瞬态存储中的值进行清除。此外,应当对项目的合约代码加强审计与安全测试,从而避免类似情况的发生。
比推快讯
更多 >>- 以军占领黎巴嫩南部要塞
- 股神特朗普套牢股 TOP5:埃森哲、寿司品牌上榜,或存自救行情
- 阿根廷开展打击投资诈骗的执法行动,缴获超 800 万 USDT 和近 6000 万美元现金
- Santiment:比特币多空比飙升至 2.23 创今年新高,或预示着短期回调
- 股神特朗普再发力:12 月预测 IBM 上涨,5 月政府投 10 亿美元助力股价起飞
- 比特币 7 万美元关键节点引发市场分歧,支撑位能否守住或决定涨跌方向
- 拉哪 AI 启动第二阶段测试,新增美股资产策略
- 特朗普公布智商检测满分成绩,称这是罕见成就
- 数据:当前加密恐慌贪婪指数为 27,处于恐慌状态
- 越南拟允许中小企业以数字资产和虚拟资产作为银行贷款抵押物
- 观点:比特币出现买入信号,或可升至 7.5 万美元
- 伊朗革命卫队今晨击落一架美国无人机
- 特朗普:美伊若无法达成协议战争部将介入
- Backpack 创始人谈Binance 或将开放股票交易:部分美股散户投资者或将涌入加密
- 加密 6 月展望:世界杯加剧流动性与注意力分流,历史表现亦不容乐观
- OpenAI 首席营收官大幅扩权,率 Salesforce 军团对决 Anthropic
- RootData:IN 将于一周后解锁价值约 374 万美元的代币
- 微软下周将发自研编程模型,反击 Cursor 与 Claude 对 Copilot 的蚕食
- 知名交易员:HYPE 飙升走势与此前 BNB 高度相似,或仍有 50 美元附近上车机会
- OpenClaw v2026.5.28 发布,强化 Codex 恢复并上线 iOS Pro UI
- Anthropic 创始人与 OpenAI 总裁旧日恩怨:Dario 曾因插手项目排挤研究员禁止 Brockman 参与 ChatGPT 前身开发
- 数据:过去 24 小时全网爆仓 1.16 亿美元,多单爆仓 5,369.71 万美元,空单爆仓 6,227.14 万美元
- 麻吉追涨以太坊多单,持仓价值升至 1036 万美元,距清算价不足 2%
- 大模型实现小时级自我进化,开源 SkyRL 并发训练栈带来 2.8 倍效率跃升
- 数据:Hyperliquid 平台鲸鱼当前持仓 47.84 亿美元,多空持仓比为 0.97
- 考普斯总统奖得主苏炜杰加盟 OpenAI 参与模型训练,并晋升宾大正教授
- Aave 发布 4 月 18 日 rsETH 事件复盘
- Binance 股票板块潜在合作方 Alpaca 速览:1 月融资 1.5 亿美元,已为 Kraken 提供美股支持
- BNB、HYPE 引领加密全面反弹,比特币再次突破 7.4 万美元,BSC 生态代币拉升
- 美媒:特朗普对美伊协议的修改建议涉及核材料获取与霍尔木兹海峡
- 数字资产公司 Laser Digital 获美国货币监理署初步有条件批准,拟设立联邦监管信托银行
- 数据:鲸鱼 Loracle 平仓 BTC、TON 等空头头寸,HYPE 空头亏损超 3600 万美元
- Loracle空转多进行中,平仓 HYPE、BTC 等空单,开启 ZEC 等多个新多单
- 特朗普:与伊朗的协议非常接近,如果协议对美国不公平,将再次使用军事手段
- 某中国籍男子在柬埔寨遭绑架勒索 200 万美元加密货币未果后遇害
- 中国籍房地产公司老板遭绑架,因家属未支付 200 万美元加密货币赎金遇害
- Binance 明日或新增真实美股交易及 bStocks 链上证券代币化
- 分析师:Bitcoin 处于关键价位,若守不住可能跌至 6.5 万美元以下
- 某巨鲸向 HyperLiquid 存入 312 万美元 USDC,买入 4.59 万枚 HYPE
- 美媒:特朗普收紧对伊协议条款,修改建议已提交伊方
- 被困船只提供录音,美伊继续就商船通行对峙
- 美国 SEC 就 Privvy 创始人涉嫌 1230 万美元加密货币骗局提起诉讼
- 提前开香槟享受比赛,豪掷千万巨鲸lovelystuff主要参与市场已定格盈利 440 万美元
- 欧冠决赛激战正酣,Polymarket 上决赛平局概率超 60%,累计成交额已超 3500 万美元
- 数据:现货+合约双端净流入助推 BNB 重回 700 美元上方
- 多方密集看好 HYPE,年内突破 100 美元概率升至 36%,灰度盛赞 Hyperliquid 为未来金融巨头
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0035%
- 美国政府拟将对伊赔款改称投资基金,为绕过特朗普政治红线
- 特朗普体检报告公布:80 岁前夕健康状况极好,认知评估满分
- 美股散户涌入太空主题 ETF,SpaceX 引领太空投资热潮复刻早期 AI 浪潮
比推专栏
更多 >>观点
比推热门文章
- 阿根廷开展打击投资诈骗的执法行动,缴获超 800 万 USDT 和近 6000 万美元现金
- Santiment:比特币多空比飙升至 2.23 创今年新高,或预示着短期回调
- 股神特朗普再发力:12 月预测 IBM 上涨,5 月政府投 10 亿美元助力股价起飞
- 比特币 7 万美元关键节点引发市场分歧,支撑位能否守住或决定涨跌方向
- 拉哪 AI 启动第二阶段测试,新增美股资产策略
- 特朗普公布智商检测满分成绩,称这是罕见成就
- 数据:当前加密恐慌贪婪指数为 27,处于恐慌状态
- 越南拟允许中小企业以数字资产和虚拟资产作为银行贷款抵押物
- 观点:比特币出现买入信号,或可升至 7.5 万美元
- 伊朗革命卫队今晨击落一架美国无人机
比推 APP


