攻击者如何针对 Safe Wallet?
一名试图从以太坊 Safe 钱包中提取约 770 万美元 rsETH 的攻击者,被一个 MEV(最大可提取价值)机器人抢先交易。这导致大部分资金暂时被困在一个地址中,随后该地址被 Kelp DAO 限制。区块链安全公司 Blockaid 将此次事件追溯到与未识别用户 Safe 连接的自定义模块,而非 Safe 核心钱包合约或 Kelp 的 rsETH 协议存在漏洞。
攻击者利用了一个公开可用的 keeper multicall,通过一个包含恶意钩子(hook)的攻击者创建的池子,路由了一个自定义的 Uniswap v4 流动性模块。该钩子允许通过钱包杠杆头寸持有的 aEth/rsETH 被解包并转换为可转移的 rsETH。大约有 2,900 枚 rsETH 从该头寸中被提取,Blockaid 最初估计受影响资产价值约为 773 万美元。
该模块已被授权通过 Safe 执行交易,因此其权限至关重要。攻击路径有效地利用了受信任的模块来移动资产,而无需获得钱包所有者的常规签名。这一区别很重要,因为此次事件似乎并未代表对 Safe 底层多签架构的妥协。相反,它展示了添加第三方模块如何扩大智能合约钱包的执行权限和攻击面。
为何原始攻击者损失了资金?
攻击并未按预期展开。该交易被一个名为 Yoink 的 MEV 机器人检测到,后者抢先交易了原始攻击者,并在同一个以太坊区块内捕获了 rsETH。MEV 搜索者监控待处理的区块链交易,并在出现有利可图的机会时尝试重新排序或插入自己的交易。在这种情况下,Yoink 在原始攻击者完成提取之前复制了提取操作。
链上数据显示,该机器人将大约 2,882 枚 rsETH(代表主要提取量的绝大部分)转移到了一个单独的地址。部分交易价值也被转换,同时约有 18.93 ETH(当时价值约 46,000 美元)被转移到被认定为区块构建者的地址。因此,这种干预阻止了原始攻击者直接控制大部分 rsETH,但这本身并不意味着受害者已经收回了资产。控制权转移到了另一个链上行为者手中,其意图尚未公开确立。
投资者启示
此次事件主要是钱包模块的安全故障,而非 rsETH 协议的漏洞。对于 DeFi 用户而言,更大的风险在于,即使底层的多签和代币合约保持安全,已授权的自动化或策略模块也可能继承强大的钱包权限。
Kelp 能阻止 rsETH 移动吗?
Kelp 回应称,将对持有大部分被拦截 rsETH 的地址实施临时 24 小时暂停,以防止在调查期间这些代币移动。Kelp 表示:“这仅是一项预防性的钱包级别措施。Kelp 合约是安全的,rsETH 仍有全额支持。”该协议指出,铸造、提取和集成仍在正常进行,rsETH 用户无需采取更广泛的行动。暂停期为最大的资产块创造了有限的隔离窗口。
链上追踪表明,在 MEV 提取之后,主要交易中的约 2,882 枚 rsETH 仍停留在受限的接收地址中。相关交易中涉及的部分价值已被路由到其他地方,这意味着钱包级别的限制并不一定涵盖与该事件相关的每笔资产。下一个问题是 MEV 运营商是否会配合返还捕获代币的努力,以及当 Kelp 的临时限制到期时会发生什么。
此次漏洞对智能钱包安全的意义是什么?
此次攻击说明了可编程钱包周围日益增长的安全问题。Safe 账户可以通过模块扩展其功能,以自动化交易、流动性管理和其他 DeFi 策略,但这些扩展可能会获得绕过正常“所有者逐个”交易批准权限的能力。这意味着多签钱包的安全性不仅取决于私钥和签名阈值。一个保护不当但拥有执行交易权限的模块可能成为进入钱包的替代途径。
对于运行自动化 DeFi 策略的协议和机构用户来说,审查可调用的函数、访问控制和委托执行权利,可能与保护签名密钥同样重要。当前的 rsETH 风险主要集中在钱包层面,而 Kelp 表示其代币仍有全额支持。尚未解决的问题是,Yoink 拦截的大约 770 万美元最终能否在临时限制解除前退还给受影响的 Safe 钱包。