事件背景
问题出在 Wanchain 第三方桥的 Cardano 侧 TreasuryCheck 验证器,而不是 Midnight/Cardano 核心共识:
- 签名消息由 14 个可变长度字段 通过原始字节拼接(AppendByteString fold)生成;
- 没有 固定字段长度前缀或分隔符 → 编码 非单射(non-injective);
- 不同字段边界/取值组合可以哈希出 相同 的待签消息,从而 复用 一笔本只授权约 3,110 NIGHT 的合法 BSC 侧签名;
- 在 Cardano 端用同一签名构造恶意 redeemer,单笔提出约 203,001,692 NIGHT,放大约 65,000 倍;
- 多批次累计抽走桥金库约 5.15 亿 NIGHT(桥储备从约 5.27 亿降至约 0.12 亿量级的公开叙述)。
因此:Midnight 主网可仍安全,但 BSC 上 wrapped NIGHT 可能严重欠抵押;媒体按币价估的「千万美元」是名义敞口,不等于攻击者已全部套现。
事件经过
- 7 月 21 日 13:47(北京时间)BlockSec Phalcon 等率先报警。
- 约 13:51 Wanchain 官方确认 Cardano–BNB 桥安全事件。
- CertiK 等随后给出地址与金额分析(约 14:58)。
- 攻击者复用小额合法签名,在 Cardano 端超额提取 NIGHT 至黑客地址。
- 部分 NIGHT 兑换 ADA(公开一笔约 2.03 亿 NIGHT → 约 283 万 ADA);NIGHT 价格大幅下跌。
- 桥被下线;Midnight Foundation 强调主网/验证者未受影响;部分交易所限制关联账户。
资金流向
- 约 13:51 Wanchain 官方确认 Cardano–BNB 桥安全事件。
- 部分 NIGHT 兑换 ADA(公开一笔约 2.03 亿 NIGHT → 约 283 万 ADA);NIGHT 价格大幅下跌。
- 桥被下线;Midnight Foundation 强调主网/验证者未受影响;部分交易所限制关联账户。
金额口径
累计约5.15亿枚NIGHT;其中一笔203,001,692 NIGHT换成2,831,361 ADA;名义市值媒体有约900万—1300万美元差;已实现兑换与名义敞口必须分开写
证据边界
以公开可核验来源为界;未证实细节不写入确定结论。
处置状态
影响局限于Wanchain第三方桥,不是Midnight主链本身被攻破。多家交易所对相关账户或资产采取限制,但未公开完整冻结充值地址。