事件背景
该记录更新 2026 年 7 月 23 日发生的 Verus–Ethereum 桥攻击,不创建第二起事件。初报把重点放在跨链导入、经济支持及证明验证逻辑;窗口内 BlockSec 的进一步分析指出,攻击提交的源链 TxID 在 Verus 上不存在,恶意 confirmedStateRoot 却携带 15 名配置公证人中的 11 名有效签名并满足法定人数。
根因修正
checkProof/checkBranch 未强制最小 nSize,合约也未验证 branchType,属于证明验证弱点;攻击证明只有 3 个证明段,每段最小 nSize 为 2,而对比的合法证明遍历 17 个 Merkle 层。但这些缺陷不足以让恶意证明单独匹配诚实 StateRoot。当前更强证据指向公证人私钥泄露或被恶意使用;该结论来自安全机构链上分析,尚不是项目方最终取证报告。
事件经过
- 攻击执行 EOA 先后调用 setLatestData(),设置并提升与恶意证明匹配的 StateRoot。
- 桥接受由 15 名配置公证人中的 11 名签名授权的恶意 StateRoot。
- 攻击交易从桥储备抽取 ETH、tBTC、USDC、USDT、EURC、MKR、scrvUSD 等资产。
- 资产进入 0xCFd0…2D54 后兑换为约 3,916.1 ETH。
- 既有链上复核显示,这些 ETH 通过 47 笔交易进入 Tornado Cash Router,多数为 100 ETH 批次;兑换与混币动作发生在本报告 18:00 起点之前。
资金流向
Ethereum 受影响桥合约 0x715185…7f63 → 攻击执行 EOA 与接收地址 0xCFd0…2D54 → 兑换约 3,916.1 ETH → Tornado Cash Router 0xd90e…f31b。进入混币器后公开追踪难度提高;Router 是基础设施,不是攻击者地址。
金额口径
原攻击多资产损失采用约 754 万美元的中间口径,公开估算区间约为 753 万至 760 万美元;兑换所得约 3,916.1 ETH。资产估值与兑换后的 ETH 描述同一损失,不能重复相加。本次只是根因更新,不新增 7 月 24 日损失。
地址与交易
攻击执行 EOA:`0xbda71b58cec0b1c20a8f87ccd52fa0679747855c`。
受影响桥合约:`0x71518580f36feceffe0721f06ba4703218cd7f63`。
被盗资产接收地址:`0xCFd0A20703cD11E0b9f665e1C3F1Ef989C142D54`。
第一次恶意 StateRoot 设置 Tx:`0x8f21bd8f0fce72ac959caa93a9923d85f902dfc6eddac2785ac5bc49c3b28d8f`。
第二次 setLatestData Tx:`0x51b1c8341da4092b7d1e0e4865f7b318de4e96245358b05b2bff2df50adaf0c9`。
攻击与资产抽取 Tx:`0xa1f1e65c1cea4dba4ae439cd4dcdba6cc2dbda0ed1228e61f29ae9c9324eb099`。
证据边界
“公证人密钥泄露或被恶意使用”是 BlockSec 根据签名、StateRoot 与证明结构提出的技术结论,尚非 Verus 最终取证报告。截断的 Verus 源链 TxID 只作线索,不进入正式地址账本。不能把证明验证缺陷单独写成已经能够绕过诚实 StateRoot,也不能把 Tornado Cash Router 标成攻击者。
处置状态
原攻击已经完成,约 3,916.1 ETH 已进入 Tornado Cash。未确认冻结、返还、追回、攻击者真实身份或完整赔偿;项目尚未发布足以关闭所有技术争议的最终复盘。recoveredUsd 保持为 0。