摘要:2026年9月15日,一个以太坊Safe多签钱包因启用的定制模块遭利用,导致2882.37个rsETH被清空。攻击者通过DELEGATECALL与Uniswap v4钩子结合完成资金转移,MEV机器人“yoink”在区块内抢先截获。本文深度解析事件技术路径、模块权限机制及五分钟自查方法。

币圈界报道:
2026年9月15日以太坊多签钱包失窃案:模块权限滥用引发巨额损失
2026年9月15日,一个基于Safe架构的以太坊多签钱包在未触发所有者签名的情况下,遭遇约2,882.37个rsETH的非授权转出。该事件暴露出智能合约钱包中模块权限管理的重大隐患——一旦启用,其自主执行能力可绕过常规安全阈值,成为攻击入口。
模块权限本质:合约代行权与永久性授权的双重风险
Safe模块是嵌入钱包的独立智能合约,经授权后可无需所有者集体签名即发起交易。这种设计本为支持自动化策略,如定期再平衡或工资发放,但其永久激活特性与隐蔽性使其极易被滥用。技术上,模块通过调用execTransactionFromModule函数实现指令执行,而系统仅验证调用来源,不复核签名要求。
官方文档明确指出,任何未经审计或不可信的模块均可能完全接管钱包控制权。由于模块运行时状态不显于常规界面,用户难以察觉其存在,形成“静默威胁”。一旦被恶意利用,其行为等同于钱包自身发出指令。
攻击路径还原:从开放接口到链上资金提取
事件发生于区块25980525,UTC时间04:38:47。目标钱包持有由Kelp DAO发行的rsETH杠杆头寸,且启用了用于Uniswap v4流动性策略的定制模块。攻击者利用该模块中一个未设访问控制的入口点,将数据直接传递至execTransactionFromModuleReturnData函数,并设置操作标志为1——即触发DELEGATECALL。
DELEGATECALL使外部代码在钱包上下文中执行,仿佛由钱包自身编写,从而绕过所有者身份验证。由于模块已获长期授权,系统不再检查签名数量或地址合法性,攻击者得以完全控制钱包。
攻击链条拆解:多调用、钩子与解包三步走
攻击流程分三阶段展开。首先,攻击者调用公开可用的Keeper多调用函数,引导钱包进入其控制的Uniswap v4池。该池配置了由攻击者部署的钩子(hook),可在特定事件触发自定义逻辑。
其次,钩子将钱包持有的计息包装资产aEthrsETH解包为可自由转移的裸rsETH。该形式原受协议锁定,无法直接转出,解包后才具备可移动性。
最后,资金被迅速转移至攻击者控制地址。整个过程在单个区块内完成,且未留下明显痕迹。
MEV机器人介入:谁真正拿走了资金?
攻击交易最初发布于公共内存池,被名为“yoink”的MEV机器人捕获。该机器人重建完整序列并抢先执行,最终将2,882.37个rsETH转入其自有地址,估值约780万美元。
此现象揭示两个关键事实:一是漏洞利用序列一旦公开,即面临“复制攻击”风险;二是恢复可能性极低,因损失源于钱包内部权限滥用,而非协议缺陷。尽管Kelp DAO确认其合约未受损,且代币仍具全额支持,但问题根源在于用户自行启用的模块。
历史重演:2026年5月SquidRouterModule攻击事件警示
此次事件并非首例。2026年5月25日,名为SquidRouterModule的模块曾被用于攻击,影响至少86个以太坊与Base网络上的Safe钱包,总损失估计达320万至400万美元,持续时间超过两小时。
攻击方式虽异,结果一致:攻击者利用模块已拥有的广泛权限,伪造代理调用,绕过身份校验。尽管提供商声明其产品无关,但暴露了第三方模块集成中的深层风险。
案例共同表明,当前多签安全的核心弱点已从“签名人数”转向“权限边界”——任何允许绕过签名机制的合约,皆构成潜在攻击面。
五分钟自查指南:如何检查并清理你的模块列表
检查模块状态无需成本,也不需签名。可通过两种途径快速验证:
界面路径:进入Safe钱包设置,查看Modules列表。若存在不明来源的合约地址,应逐一核查:你是否记得为何启用?是否仍在使用相关服务?能否追溯其提供方及审计报告?任一疑问即应列入移除清单。
合约路径:通过区块浏览器或SDK调用只读函数getModules获取全部启用模块地址,或使用isModuleEnabled查询特定地址状态。该方法不受前端渲染限制,确保链上真实状态可见。
举证责任在用户。无明确用途的模块,无论是否来自知名项目,都应视为潜在威胁。
关闭模块:为何需要签名与注意链表结构
禁用模块需调用disableModule函数,属于正式交易,需支付Gas费并满足所有者签名阈值。在Safe界面中,可在模块列表中启动移除流程,由各所有者正常确认。
值得注意的是,模块在合约中以链表形式存储,关闭操作需提供前驱节点地址。若手动构建交易,必须准确填写,否则调用将失败。建议在低Gas时段批量处理多个模块,提升效率。
模块权限与代币授权:两类权限不可混淆
Token授权(approve)仅限于特定代币的扣款权限,而模块权限则赋予外部合约在钱包内任意操作的能力,涵盖所有资产。两者独立,缺一不可。
即使撤销了所有代币授权,若仍保留高权限模块,账户依然处于风险之中。因此,模块审查应作为独立步骤,不可替代。
多重包装加剧风险:aEthrsETH为何放大损失
受害者钱包资产经过两层包装:首先为液态质押代币rsETH,其次为Aave计息包装aEthrsETH。每一层合约引入新的执行逻辑与潜在漏洞。
对用户而言,这意味着必须厘清每笔收益头寸背后的合约层级。越深的包装,需检查的合约越多。我们提供的质押平台概览可帮助识别每个方案中的中间合约数。
需强调:本次事件中,包装本身未造成损失,而是攻击者获得权限后,才使包装资产变为可转移形态。
监管新动向:欧盟《网络弹性法案》强化披露义务
自2026年9月11日起,欧盟《网络弹性法案》生效,要求具有数字功能的产品制造商在发现主动利用漏洞后24小时内向ENISA及各国应急团队通报初步警告,72小时内提交详细通知。
钱包软件纳入监管范畴,未来用户有望更及时获得漏洞预警。然而,本案中问题模块系用户自建或定制,非厂商产品,因此不适用强制报告机制。合规保护在此类场景下存在盲区。
核心行动建议:立即检查,主动防御
请立即打开你的智能合约钱包,进入设置查看模块列表。任何无法解释用途、不再使用的模块,应尽快通过disableModule函数移除。安排在低Gas时段进行,一次处理多个条目以提高效率。
同时评估你的收益头寸层级:每增加一层包装,就增加一条潜在攻击路径。若收益不足以覆盖风险,应考虑简化持仓结构。
本事件并非否定智能合约钱包的价值,而是提醒:真正的安全不在于签名数量,而在于你对每一个授权模块的知情与掌控。信息透明度是自我保护的第一道防线。
声明:本站所有文章内容,均为采集网络资源,不代表本站观点及立场,不构成任何投资建议!如若内容侵犯了原著者的合法权益,可联系本站删除。
