值得信赖的区块链资讯!
致命残留|一场由瞬态存储引发的链上劫案
作者:九九 & 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) 将瞬态存储中的值进行清除。此外,应当对项目的合约代码加强审计与安全测试,从而避免类似情况的发生。
比推快讯
更多 >>- 巨鲸做多黄金偏好开设 xyz:GOLD,Hyperliquid 上该合约交易量约为 PAXG 的 12 倍
- xAI 正招聘加密货币金融专家,时薪 45-100 美元,聚焦量化交易、链上分析与 AI 模型训练
- 现货黄金重上 4900 美元/盎司,日内涨超 5%
- 日经 225 指数破 5.47 万点,创历史新高
- Bithumb 将上线 BIRB 韩元交易对
- 数据:监测到 4.22 亿 USDT 转入 Binance
- 纽约期银日内暴涨 12.00%,现报 86.26 美元/盎司
- 币安关于 INTCUSDT 和 HOODUSDT U 本位永续合约资金费率的重要更新
- Arthur Hayes 擅长高买低卖?链上数据揭示多笔亏损操作
- Ark Invest 在市场下跌期间持续增持加密货币相关股票
- 金银暴力修复,黄金反弹 11%,白银反弹近 20%
- 币安公布 Tria (TRIA) 空投参与门槛,需达到 232 分 Alpha 积分
- BIRB 短时涨超 46%,市值升至 1.03 亿美元
- 币安将调整多款 U 本位永续合约最小价格变动单位
- Fasanara Capital 及某地址今日买入约 1659 万美元 XAUT
- Trend Research 以太坊最新清算区间降至 1,685.63 美元-1,855.16 美元
- Coinbase 宣布 Liquifi 将更名为 Coinbase Token Manager,打造端到端代币管理平台
- 加密货币交易量跌至 2024 年低位,现货需求走弱
- 分析:金银牛市核心逻辑未变,但仓位短期过度拥挤
- Arthur Hayes 向 FalconX 转入总计约 198 万美元的 ENA、PENDLE 及 LDO
- 机构警告:美联储主席换届后,标普 500 指数平均重挫 16%
- 纽约期金突破 4900 美元/盎司,日内涨 5.34%
- 风险偏好修复,亚太股市大幅收涨
- Meme 币 PENGUIN 四大高频地址均亏损达 80 万美元,包揽亏损榜前四
- 摩根大通坚定看多黄金:年底目标上看 6300 美元,仍有 34%涨幅
- 亚利桑那州加密 ATM 诈骗激增
- Vitalik 将 211 枚 ETH 兑换为 GHO
- 币安将调整多个资产抵押率及 U 本位合约杠杆层级
- 特朗普:我是坚定的加密货币支持者,为加密行业发声最多的人
- Balancer:将评估 Aave 和 Venus 上 BAL 大额清算事件影响,协议安全未受影响
- 曾埋伏 XPL 主升浪获利超 1600 万的巨鲸再度布局,两地址共持有 730 万美元 ASTER 多仓
- 摩根士丹利:沃什领导下的美联储或将加剧美债市场波动
- Binance 将移除 KNC/BTC 等杠杆交易对
- 数据:BTC 24 小时全网现货成交额达 111.29 亿美元
- 某巨鲸平仓 398 万美元 ETH 多单,资金转向加仓黄金多单
- ING 德国向散户开放比特币、以太坊与 Solana ETP 投资渠道
- Polymarket 上线中国春晚主题预测,含李谷一是否上台、参演机器人品牌等
- 去年十月后持续扛单的疑似 HYPE 上币内幕巨鲸接近回本线,持仓均价 38.76 美元
- 数据:过去 1 小时 Binance 净流出 3,119.41 万 USDT
- 某巨鲸花费 298 万美元买入 647.15 枚 XAUT
- Moltbook 因配置问题泄露数据库,暴露 150 万个 API 授权令牌
- Zhu Su:比特币 OG 离场并非利空,反而强化比特币长期“货币属性”
- Zhu Su:比特币 OG 退出并非末日,比特币从不依赖任何单一实体
- 数据:200 万枚 TON 转入 Binance,价值约 272 万美元
- Trend Research 向币安转入 1 万枚 ETH,价值 2335 万美元
- Meme 币 KellyClaude 市值短时突破 900 万美元新高,24 小时涨幅达 60%
- Binance 合约在多资产模式下支持稳定币 U 作为保证金资产
- 爱泼斯坦从 2011 年起就关注比特币,曾与彼得·蒂尔探讨比特币本质
- Meme 币 CLAWD 市值回涨至 2000 万美元,24 小时涨幅达 94%
- MetaMask 将于本周上线第一季 LINEA 代币奖励查询功能
比推专栏
更多 >>- Challenge,risk And chances|0130 Asian
- Meta 豪赌 AI:砸钱 1350 亿美元,2026 的扎克伯格,值得相信么?
- Variables: Terrible snowstorm|0128 Asian
- 英特尔「生死线」时刻:在 ICU 门前,陈立武如何清算遗产并开启自救?
- 從1月13號到今天,提前到5100|0126Asian
- You Should work HARDER in 2026|0120 Asian
- 硅谷最聪明那群人的「终极推演」:2026,我们应该「All-In」什么?
- Notice us dollar index|0116 in us
- 我们用大模型,给 2026 年的代币化/Web3「算了一卦」
- 十年新低 金銀比將帶我們走向何方|0113
观点
比推热门文章
- Arthur Hayes 擅长高买低卖?链上数据揭示多笔亏损操作
- Ark Invest 在市场下跌期间持续增持加密货币相关股票
- 金银暴力修复,黄金反弹 11%,白银反弹近 20%
- 币安公布 Tria (TRIA) 空投参与门槛,需达到 232 分 Alpha 积分
- BIRB 短时涨超 46%,市值升至 1.03 亿美元
- 币安将调整多款 U 本位永续合约最小价格变动单位
- Fasanara Capital 及某地址今日买入约 1659 万美元 XAUT
- Trend Research 以太坊最新清算区间降至 1,685.63 美元-1,855.16 美元
- Coinbase 宣布 Liquifi 将更名为 Coinbase Token Manager,打造端到端代币管理平台
- 加密货币交易量跌至 2024 年低位,现货需求走弱
比推 APP



