Wormhole 曾是以太坊与 Solana 之间最繁忙的跨链桥之一:在一侧存入 ETH,在另一侧收到封装 ETH(wETH),存入的币以 1:1 的比例作为托管储备持有。2022 年 2 月 2 日,一名攻击者为该桥信任的一条消息伪造了有效签名,并在未存入任何资产的情况下铸造了 120,000 wETH——约合 3.25 亿美元——随后从该桥的抵押资产中兑现了约 2.5 亿美元的真实以太坊。

签名验证漏洞在项目内部早已为人所知,修复代码也已写好。但该修复在攻击当天被推送到了项目的公开 GitHub 仓库,尚未进入生产环境。该提交被描述为一次常规的版本号更新,但正如开发者 Matthew Garrett 所观察到的,其差异对于这种说法来说实在太大了——而且它向任何关注者精确指出了薄弱点所在。数小时后,该漏洞即被利用。

Wormhole 宣布网络“因维护而停机”,确认了这起盗窃,并通过一条链上消息向攻击者悬赏 1000 万美元。窃贼从未接受。次日,Jump Crypto——其开发者构建了 Wormhole 的交易公司——补入了 120,000 ETH 以维持该桥的偿付能力,CoinDesk 报道了这次救助,Jump 官方也在 Twitter 上予以确认。

凭空铸造了价值 3.25 亿美元的 wETH;约 2.5 亿美元从该桥的以太坊抵押资产中被抽走;Solana 当日下跌 10%

修补后的代码存放在公开仓库中,而生产环境仍在运行存在漏洞的版本——修复本身成了漏洞利用的说明书。

该提交被标记为常规更新,但其规模与这一标签相矛盾,悄然昭示着一项安全修复正在进行中。

发布代码与运行代码被视为彼此分离的行为,而在公开区块链上,这两者永远不可能分离。

跨链桥上的签名校验是守护九位数资金的一道单点防线;数月前的一次 Neodyme 审计并未发现该缺陷。

公开仓库无论你是否有意,都是一个部署渠道。如果修复存在于攻击者可以读取的地方,就应同时提交并发布——或者先部署,待每个节点都完成修补后再公开。

Jump Crypto 注入的 120,000 ETH 使 wETH 维持 1:1 的支撑,并阻止了风险在 Solana 的 DeFi 借贷市场蔓延,其中许多市场将 wETH 用作抵押品。窃贼始终未被查明,悬赏也无人回应。这起入侵事件成为 Vitalik Buterin 警告的典型证据——跨链桥在安全性上面临“根本性限制”——并推动跨链桥团队在部署完成前暂不公开修复,同时将审计视为底线而非上限。

从这里,追溯依据

参考来源

  1. Wormhole cryptocurrency platform hacked for $325 million after error on GitHub The Verge · theverge.com ·
  2. $320 million stolen from Wormhole, bridge linking solana and ethereum CNBC · cnbc.com ·
  3. Jump Trading Backstops Wormhole's $320M Exploit Loss CoinDesk · coindesk.com ·