在加密资产的民间信仰里,"硬件冷钱包"几乎等同于金库——私钥永不触网、设备物理隔离、助记词写在纸上锁进保险柜,黑客再厉害也摸不到边。但2026年7月底到8月初,老牌比特币硬件钱包Coldcard(制造商为加拿大Coinkite)的一起事故,把这套叙事从地基上撬开了:出事的不是网络层,而是生成助记词那一刻的"随机数"本身是假的。截至8月3日,链上分析机构测算,攻击者已从约5000个受影响钱包中卷走超1755枚BTC,按市价约1.1亿美元(约7.43亿元人民币),且资金仍在持续移动。


漏洞的根子,藏在2021年3月的一次固件更新里。Coldcard本应在生成BIP39助记词时调用STM32芯片的硬件真随机数发生器(TRNG),从电路噪声里取熵;但因为编译配置中MICROPY_HW_ENABLE_RNG被置0、而底层libngu库只检查"宏是否存在"不检查"是否启用",代码静默回退到MicroPython的Yasmarang软件伪随机数生成器。这个回退源只拿芯片UID、系统计时器、RTC寄存器做种子,没有持续注入新熵——Mk3有效熵被压缩到约40位,Mk4/Q/Mk5也远达不到128位标准。
密码学里有个朴素真理:哈希可以把米饭炒得更碎,但炒不出更多米。熵只有40位,意味着候选空间约2^40,现代GPU集群可实际枚举;即便按Mk4的约72位算,结合UID和开机时序约束,搜索空间也会大幅收缩。于是攻击完全不需要碰你的设备——攻击者离线复现固件逻辑,枚举设备标识与时钟状态,批量生成候选助记词、派生地址,再和公开UTXO集比对,命中即签走。7月30日首波攻击41分钟清空1196个地址,官方发警告前30小时主力资金已被转移。
最反直觉的地方在于:这些钱包多数从未联网、安静躺了三年以上,却照样被清空。因为弱点不在"使用环节",而在"出生环节"——种子被写下那一秒就注定可被推算。Coinkite已发布紧急固件,CEO公开致歉,但明确说升级固件救不了旧种子:旧助记词必须把币迁到新固件重新生成的钱包里才算脱险,单更新设备无效。
这件事戳破了两个误区。其一,"离线=安全"的前提是"密钥真随机",熵源造假,物理隔离毫无意义。其二,硬件钱包的安全审计不能只测功能——设备能开机、能签名、能显示地址,不代表它背后那串128位随机数不是从40位空间里挤出来的。Reddit开发者后来用Claude Code扫开源固件,8分钟就定位到这段错配宏,而它潜伏了五年。
对普通持有者,当下动作很具体:查固件版本(Mk2/Mk3在4.1.9及以下、Mk4/Mk5在5.6.0前、Q在1.5.0Q前均属风险区间);用区块浏览器核对地址有无非本人转出;若在漏洞固件期建过种子,立即换已修复固件或别家设备重生种子、小额测试后再全量迁移,旧助记词按泄露处理;有条件加BIP39 passphrase、用多签、或引入骰子熵做混合播种。
1.1亿美元买来的教训只有一句:冷钱包的信任,不该托付给一块芯片的"我以为它随机了"。随机数发生器看不见,但它一旦塌方,离线、防拆、安全元件全变成装饰。





