
2026年6月25日,Tornado Cash DAO的治理页面上出现了一份编号为67的提案,标题是「建立0.5%费率标准与90%动态通缩销毁方案」。
提案正文写得非常专业,声称要升级中继者注册表架构,把协议手续费的90%永久销毁、10%分给质押者,还附上了一套「财富正向循环」的经济模型推演。提案人甚至申请从国库领取50枚TORN来补偿部署合约的Gas费——这个细节让整份提案看起来像是一个认真负责、自掏腰包的社区贡献者写的。
Tornado官网为你还原这次攻击的完整细节。
但有一个关键细节出卖了它:提案的合约代码没有在Etherscan上进行验证。
Tornado Cash历史上的正常提案都会做这一步,让社区能够审查代码逻辑。而这份提案跳过了验证,社区成员看到的只是一堆无法直接审查的机器码。
1. 攻击者的真实目的
L2BEAT研究员Sergey Shemyakov首先注意到了异常。他联系安全研究员Pascal Caversaccio请求独立审查。
Caversaccio用反编译工具还原了提案合约的字节码,发现了一个名为「governance」的函数,功能是返回一个地址,告诉协议「谁才是真正的管理员」。而这个函数里写死的地址,是攻击者自己的钱包。
一旦提案通过执行,协议的最高权限地址就会被悄悄替换成攻击者的地址。真实的治理地址是0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce,而攻击者伪造的地址是0x5efda50f22d34f272c7077689d6abc42f15e285f——两个地址前15个字符完全一样,从第16位才开始出现差异,普通人用肉眼几乎无法分辨。
如果提案通过,攻击者可以:
- 盗取治理合约中约2300万美元的TORN代币——这笔钱是社区成员质押进来参与投票用的,约占TORN代币全流通市值的48%
- 把协议内所有中继者的余额强制清零,让整个协议瘫痪
想了解更多关于Tornado Cash治理攻击的历史背景,可以阅读我们的文章:2023年治理攻击始末。
2. 攻击者是谁?
提案创建者的钱包地址是0x4eca8c9242b9f9faa3cf19a78defc21dc97a925。Caversaccio追溯资金来源发现,它在提案提交前4天刚刚收到一笔转账,转账方是Railgun——另一个链上隐私混币协议,也是Tornado Cash的直接竞争对手。
通过Railgun转账意味着资金来源被混淆,无法溯源到真实身份。

3. 社区的反应
截至报道时,投票结果是:赞成0票,反对27,163枚TORN。社区迅速识破了攻击意图,压倒性反对。由于未达到10万TORN的法定投票数,提案预计将自动失效。
想了解更多关于Tornado Cash治理攻击的深度分析,可以阅读我们的文章:治理攻击与社区金库风险。
4. 对用户的启示
这是Tornado Cash第二次遭遇类似的治理攻击。对普通用户而言,这提醒我们:
- 关注安全预警:对未经验证的治理提案保持警惕
- 考虑委托投票权:如果你持有TORN但不熟悉技术细节,可以考虑将投票权委托给可信的社区成员
- DAO治理的风险:去中心化治理并非没有漏洞,攻击者可以通过社会工程学和代码混淆来试图盗取社区资产
这次事件再次证明了社区审查在DAO治理中的核心重要性。一个活跃、警惕的社区,是抵御这类攻击的最强防线。
想了解更多Tornado Cash治理攻击事件,可以阅读我们的相关文章:
💡 常见疑问解答
Tornado Cash DAO在2026年6月遭遇了什么攻击?
2026年6月25日,攻击者提交了一份编号为67的恶意治理提案,声称要升级协议架构,实则试图将协议最高权限地址替换为攻击者自己的钱包。如果提案通过,攻击者可盗取约2300万美元的社区金库。
攻击者是如何隐藏恶意代码的?
攻击者没有在Etherscan上验证提案合约代码,社区成员看到的只是一堆无法直接审查的机器码。安全研究员反编译后发现,合约中有一个写死攻击者钱包地址的governance函数,一旦执行就会替换协议管理员权限。
社区是如何应对这次治理攻击的?
L2BEAT研究员首先发现异常并联系安全研究员独立审查。投票结果显示赞成0票、反对27,163枚TORN,社区压倒性反对。由于未达到10万TORN的法定投票数,提案预计将自动失效。
这次攻击事件对普通用户有什么启示?
用户应对未经验证的治理提案保持警惕,持有TORN但不熟悉技术细节的用户可考虑将投票权委托给可信社区成员。DAO治理并非没有漏洞,社区审查在抵御此类攻击中至关重要。
