L2BEAT 研究员 Sergey Shemyakov 于 6 月 25 日在 X 发文,警告称 Tornado Cash DAO 出现可疑治理提案:目标合约未经验证,提案者地址通过 Railgun 获得资金。安全联盟研究员分析,提案旨在使攻击者控制持有约 US$ 23 milhões 的 TORN 代币的治理地址。
可疑提案的技术特征:未验证目标合约、Railgun 资金来源
(来源:Sergey Shemyakov)
Shemyakov 在帖文中列出三项具体警示:
第一,目标合约未在 Etherscan 验证,这在 Tornado Cash DAO 提案中「极不寻常」;
第二,若提案通过,治理合约将通过 delegatecall 调用目标合约(delegatecall 允许在调用者的上下文中执行任意代码,是高危操作);
第三,提案创建者地址在 4 天前通过 Railgun 获得资金,而 Railgun 是 Tornado Cash 的竞争性隐私协议。
提案表面声称旨在定义新的费用结构和「建立全新的动态通缩经济模式」,但安全研究员认为这只是掩护。
Caversaccio 的分析:伪造地址替换、US$ 23 milhões 的 TORN 目标
Pascal Caversaccio 详细分析了提案的真实意图:
· 提案会将 DAO 治理合约中的关键地址替换为攻击者控制的伪造地址,前 15 个字符与现有地址完全相同(视觉上难以区分);
· 替换后,攻击者将控制目前持有约 US$ 23 milhões 的 TORN 代币的 DAO 治理地址;
· 类似替换也将应用于质押治理代理合约;
· 伪造的治理地址还能「随意将任何中继器的余额清除」。
Caversaccio 敦促所有 TORN 持有者拒绝该提案。
Tornado Cash 治理攻击历史:2023 年的前车之鉴
这并非 Tornado Cash 首次遭遇恶意治理提案。2023 年,一项恶意提案成功通过,使攻击者获得了多数投票控制权;攻击者将约 US$ 800 mil 价值的 TORN 代币兑换成 ETH 后,试图再次提案将 TORN 投票权重置为零,并将所得款项通过 Tornado Cash 洗白。
此外,Tornado Cash 的多个 IPFS 前端曾被注入恶意 JavaScript 代码,导致敏感存款信息外泄。
法律方面,Tornado Cash 于 2022 年遭美国财政部制裁,相关制裁已于去年撤销;开发商 Roman Storm 去年因共谋经营无证汇款业务被起诉,今年 4 月的无罪释放动议未获裁决,命运仍悬而未决。
常见问题
「未验证目标合约」为何在 Tornado Cash DAO 中是重大警示?
根据 Shemyakov 的说明,Tornado Cash DAO 的提案历来使用已验证(公开源代码)的合约,这让社区和研究员能够审查提案的实际功能。未验证合约意味着其代码无法直接查看,只能通过反编译(逆向工程)分析,大幅增加了识别恶意逻辑的难度,因此在正常治理流程中极为罕见。
delegatecall 攻击的危险性为何?
delegatecall 是以太坊智能合约中的一种低级调用方式,它允许被调用合约的代码在调用者(本例中为治理合约)的存储上下文中执行。这意味着若目标合约包含恶意代码,执行后可以修改治理合约持有的所有状态,包括代币余额和关键地址,而且这种修改是不可逆的。
Tornado Cash 的资金池本身是否安全?
根据 Shemyakov 的说明,Tornado Cash 的混币资金池本身不受此提案影响,资金池安全。此次提案的目标是 Tornado Cash DAO 治理合约本身——即管理组织决策的合约,而非用户访问的匿名化功能合约。