2021年,一名ColdCard工程师在编译固件时,被一个错误拦住了。他没深究原因,只是随手禁用芯片上的硬件随机数生成器,改成用软件生成伪随机数。测试通过,代码就这么留了下来。这个偷懒的决定,在5年后,让大批用户的比特币钱包被洗劫一空。
漏洞的机制简单得可怕。ColdCard本该调用硬件真随机数生成器来产生私钥种子,但那段有问题的代码一直跑着软件版的伪随机数生成器。这意味着种子空间非常有限,远比理论上的安全范围小得多。攻击者可以在极短时间内,用暴力方式生成大量种子、地址和对应私钥,再拿它们去链上扫描。只要匹配到有余额的地址,私钥就能直接清空钱包。
根据链上追踪数据,黑客通过这个漏洞已经划走了价值近1亿美元的比特币。更棘手的是,不是所有用户都收到了漏洞提醒,很多人的资产可能还处于“随时被抽走”的状态。随着时间推移,只要漏洞没完全堵上,损失还会继续扩大。
让整个事件变得荒诞的,是AI参与进来的方式。有网友用Claude Code审计ColdCard的开源固件代码,模型只花了8分钟就直接定位到问题:固件生成私钥时调用的,是软件伪随机数,而不是芯片上的硬件真随机数。换句话说,一个非专业黑客如今也能靠AI工具,快速搭建测试环境并发起攻击。安全边界被进一步压低。
ColdCard一直标榜自己只支持比特币,并且以开源固件来争取社区的信任。现在回头看,这套开源承诺更像一层脆弱的包装。一个本可以在代码审查中一眼看出的低级错误,竟然藏在仓库里整整5年。有开发者指出,只要工程团队认真读过相关逻辑,就能发现随机数来源被错误替换。但5年过去,没人发现,审计程序形同虚设。
BTCPP网站发布的技术报告详细还原了这段事故的来龙去脉。报告指出,工程师最初可能只想做一个临时测试,看看不同的编译配置下会不会复现错误,但那段临时代码被永久保留,并一路走到了生产环境。从编译错误到禁用硬件随机数,再到5年无人察觉,最终酿成一场将近1亿美元的灾难。这背后没有高深的攻击手法,全是工程纪律的溃败。
热门跟贴