事件概述

北京时间 2022 年 8 月 2 日,跨链资产互操作协议 Nomad Bridge 遭遇大规模攻击,WETH、WBTC、USDC 等主流资产被持续提取,总损失接近 1.8 亿美元。合约地址在事件发生后仍有约 1.26 亿美元资产处于风险状态,形成了一场"公开的链上抢劫"。

攻击路径

  1. 项目方在一次例行合约升级中,将受信任根 trustedRoot 初始化为 0x00。

  2. 该初始化使得任意未经过校验的消息都会被判定为"已证明",从而可直接触发 process() 取出锁定资产。

  3. 首位攻击者成功提取资产后,链上交易被公开复制——任何人替换其中的收款地址即可重放攻击。

  4. 短短数小时内数百个地址参与了资金提取,形成链上群体性攻击。

漏洞根因

升级脚本中受信任消息根被错误地赋值为零值,绕过了 Merkle 证明校验流程,本质上让任意消息都可通过认证。

应急响应

  • 第一时间暂停合约相关接口。

  • 发起链上公告,鼓励白帽协助转出剩余资金。

  • 配合交易所追踪攻击地址并冻结部分资产。

安全建议

  • 合约关键状态变量的初始化必须进行多次校验,严禁保留测试用零值。

  • 升级脚本需经过独立第三方审计,不得仅依赖内部审查。

  • 桥类项目应部署链上实时风险监控,在异常提款出现时能够秒级熔断。