AnchorVaultCoin
← 所有文章

Coldcard漏洞:助记词生成并非随机

2026-08-05

2026年7月30日,25分钟内,约五百个比特币钱包中消失了594 BTC——按当时价格约合3800万美元。这些钱包的主人没有点击过钓鱼链接,没有在陌生网站上输入过助记词,也没有把设备连过网。其中一些人几个月都没打开过钱包。存放密钥的设备是Coldcard——市场上最受尊重的硬件钱包之一,设计初衷就是永不触碰网络。

一次物理掷骰——这种随机性,不是一行代码能攻破的。 一次物理掷骰——这种随机性,不是一行代码能攻破的。

当天傍晚,事情已经明朗:这不是孤例。到8月初,受影响金额升至8900万美元,涉及超过4500个地址。原因不是盗窃。原因是这些钱包的助记词从来就不是真正随机的。

技术层面发生了什么

创建钱包时,设备必须选出一组随机的12或24个单词——即助记词。这个选择有多“随机”,决定了一切:如果选项可以被预测或穷举,钱包就是脆弱的,哪怕它从未联网、主人每一步都做对了。

2021年3月,Coldcard固件中一行代码出了错。这个错误让设备悄悄从专用的硬件随机数生成器切换到了软件生成器——后者更快,但只要你清楚它的起点,就能预测输出。而它的起点并非秘密:芯片的唯一标识符加计时器读数。

Coldcard开发者估算:本该有128位熵(组合数量大到全世界的电脑都穷举不完),这批固件实际只产生约40位熵。这不是数量级的差别,而是“全世界电脑一起算也破不了”和“一台普通游戏电脑花合理时间就能破解”之间的差别。攻击者显然用了自动化代码分析,在公司自己发现之前就找到了漏洞——制造商Coinkite声称代码一直是开源的。

谁受影响

受威胁的是固件版本4.0.1–4.1.9的Coldcard Mk3,前提是助记词创建时没有使用额外的掷骰子选项(一种增加独立随机性的功能)也没有设置BIP-39密码短语。更新型号——Mk4、Mk5、Q——使用不同固件,据公司称不受此特定错误影响。其他品牌的钱包(Trezor、Ledger)也不受影响——它们的代码不同,随机性来自多个独立源而非单一来源。

关键要理解:这不是“硬件钱包不行”的故事。这是一个关于“就算持有者行为完全正确——离线存储、从不在网上输入助记词、不给任何人看——只要助记词本身从一开始就不是随机的,一切防护都白搭”的故事。用户这边根本没法自查:无论助记词是从多少个真实候选中选出来的,它看起来都一样随机。

现在该做什么

如果你在用Coldcard——三个可执行的步骤:

更新固件。 Mk3升级到4.2.0或更高,Mk4/Mk5升级到5.6.0+,Q升级到1.5.0Q+。更新固件不会修复已有的助记词——它只修复未来生成助记词的随机源。

更新后生成新的助记词,并把资产转过去。 把旧助记词“搬”到新固件上没有用——漏洞不在固件本身,而在助记词当初是怎么被选出来的,这没法事后补救。

如果记不清创建时是否用了掷骰子或密码短语——就当没用过。 公司明确表态:不确定就转移资产,这比猜来猜去靠谱。

如果你用的是Ledger、Trezor或其他品牌——这个特定漏洞与你无关。

问题的本质

这个故事有个令人不安的特点:这个弱点悄无声息地存在了五年,毫无征兆,直到有人开始有针对性地在开源代码里找漏洞。没有任何一份“如何正确存储加密货币”的清单提醒过这件事——因为发现bug之前,根本无从提醒。

说句实在话:这不是密钥被偷的故事,而是密钥从一开始就不是真正随机的故事——而且如果第二个密钥也是用同样损坏的方式生成的,那多一把也救不了。但加密资产存储还有另一个更常见的问题:哪怕密钥生成得完美无缺,只要它是唯一能授权任何操作的东西,它依然是单点故障。这第二个问题有简单的解法——大额操作需要另一个独立保管的密钥来确认,这样单个秘密的丢失或泄露不会意味着全盘皆输。


AnchorVaultCoin — сервис хранения и переводов криптовалюты, где каждая операция подтверждается двумя отдельными ключами. Подробнее.