7月30日,一名攻击者利用某些Coldcard硬件钱包生成的弱种子,从数百个地址中盗取了价值约数千万的比特币。
冷卡漏洞解析:谁丢失了比特币?谁面临风险?

要点:
- 7月30日,与Coldcard相关的盗窃事件导致数百个钱包中的比特币被清空。
- Coinkite表示,Mk3型号的助记词熵值仅约40比特,而非128比特。
- Coldcard用户在转移资金前,必须安装修复版固件并生成新的种子。
根据Galaxy Research的深度分析,此次核心盗窃事件以高度协调的突发方式展开,持续约25分钟;而后续更广泛的分析将约1,196个地址及多达1,083枚比特币(价值近7,000万美元)与持续约41分钟的活动联系起来。 随着调查人员继续在比特币公共区块链上追踪交易,最终数据可能会发生变化。
一个存在5年的漏洞波及全球比特币钱包
受影响的钱包主要属于长期持有者,他们使用运行2021年3月及之后发布的存在漏洞固件的Coldcard设备生成了恢复种子。Coldcard是由加拿大制造商Coinkite生产的一款物理隔离硬件钱包,旨在将比特币(BTC)密钥与联网设备隔离。
许多被清空的地址已闲置多年。攻击者行动迅速,支付了较高的固定交易手续费,且未留下找零输出,这意味着每个地址都被彻底清空。这种模式表明这是一次利用预先准备好的私钥列表进行的自动化操作,而非用户独立转移资金。
此次盗窃并非由网络钓鱼、用户电脑上的恶意软件、实体设备被盗或传统远程入侵所致。而是由于固件错误,导致部分Coldcard设备生成钱包种子时所使用的随机性被削弱。这些种子看似正常,但其可能的组合范围远小于此前向用户承诺的范围。
Coldcard的随机数生成器悄然失效
比特币钱包种子是一个秘密,通常以 12 或 24 个单词的形式显示,钱包据此生成地址和私钥。一个正确生成的 12 词种子包含 128 位的熵,这是一种技术指标,描述了海量的可能组合,使得猜出种子实际上是不可能的。
Coldcard设备本应通过设备微控制器内的硬件随机数生成器获取这种随机性。该组件利用物理电噪声作为随机源,外部观察者原则上无法预测。
然而,在 2021 年的软件库迁移过程中,Coinkite 披露称,两个接口相同的随机数函数被混淆了。其中一个访问的是设备正确的硬件生成器,另一个则是针对没有合适硬件的电路板而设计的弱软件备用方案。
由于 Coinkite 提供了自有的硬件封装,因此有一项配置设置禁用了默认的 MicroPython 硬件路径。该软件仅检查该设置是否存在,而未检查其是否已启用。由于该设置虽然存在但被赋值为零,构建过程仍成功完成,而种子生成却在无声无息中切换到了性能较弱的软件生成器。
出厂数据和时序取代了真正的随机性
该备用方案高度依赖可预测的设备信息,包括类似序列号的芯片标识符以及与启动时序相关的内部时钟值。如果攻击者能够缩小这些输入范围,其搜索范围将远小于安全生成种子所预期的 128 位范围。
Coinkite 估计,在当前假设条件下,易受攻击的 Mk3 种子有效搜索空间约为 40 位。虽然这仍然意味着大量可能性,但借助专用计算设备仍可进行搜索,特别是当攻击者能够将候选种子与区块链上可见的比特币地址进行比对时。

后来的 Coldcard 型号,包括 Mk4、Q 和 Mk5,通过安全元件增加了一些随机性。然而,只有其中有限的部分传到了受影响的生成器,导致在安装修正后的固件之前生成的种子,其有效熵估计仅为 72 位。 虽然这比 Mk3 的生成路径更强,但仍低于预期的 128 位标准。 这种差异类似于将一个真正的随机锁密码,替换为根据锁的序列号和首次开启时间推导出的密码。 生成的组合看似随机,但只要掌握计算公式并能推测初始信息,任何人都能重现该组合。许多用户正在迁移,不仅包括Mk3设备用户,还包括Mk4、Q和Mk5的用户。
Coinkite 建议用户生成全新的种子
Coinkite 在意识到这一活跃威胁后,发布了安全公告并修正了固件。该公司表示,在受影响固件上生成种子句子的用户,应使用已修复的版本创建一个全新的种子句子,并将比特币转入由该种子句子控制的地址。
仅安装更新是不够的。在存在缺陷的系统下生成的助记词将永久处于不安全状态,因为固件更新无法为已存在的单词添加随机性。
Coinkite建议用户更新设备、生成新助记词、验证备份和钱包指纹、确认收款地址、发送一笔小额测试交易,然后转移剩余余额。用户应在转移确认前保留旧备份,但不应再将旧助记词视为安全。
该公司确认已修复的版本包括:Mk3 4.2.0 及以上版本、Mk4 和 Mk5 5.6.0 及以上版本,以及 Q 1.5.0Q 及以上版本,以及相应的 Edge 版本。 Tapsigner、Opendime 和 Satscard 产品采用不同的代码,据报道未受影响。
额外的安全措施保护了部分 Coldcard 用户
在生成种子时添加了足够多独立骰子掷骰次数的用户得到了实质性保护,因为他们自身生成的随机性压倒了存在缺陷的软件输入。Coinkite表示,至少50次公平骰子的私有掷骰次数可提供针对此问题的充分保护,尽管增加掷骰次数能提供更宽裕的安全余量。
强度的 BIP-39 密码短语还会创建一个独立的钱包,仅凭种子词无法重建该钱包。多签名钱包在进行比特币转账前需要来自多个设备或位置的密钥,当存在漏洞的 Coldcard 种子仅作为签名方案的一部分时,这类钱包在很大程度上或完全得到了保护。
然而,这些安全措施并非强制要求。许多受害者似乎都遵循了当时可获得的标准安全建议:购买一款信誉良好的硬件钱包,离线生成种子,保护好备份,并且绝不在联网设备上输入种子。
Coinkite 承认责任,争议转向 AI
Coinkite 首席执行官 Rodolfo Novak(广为人知的 NVK)于 7 月 31 日公开致歉,并表示公司对固件故障承担全部责任。“我很抱歉,我感到非常沮丧。 我们的团队对昨天传出的消息感到心碎,”诺瓦克写道。他承认,该热修复补丁虽然能保障新创建的助记词安全,但无法修复在存在漏洞的软件下生成的助记词。

诺瓦克解释称,Coinkite将在核实细节后发布完整的技术报告,并协助受影响用户办理警方报案、保险理赔或独立调查事宜。他还警告开发者,如今人工智能(AI)工具扫描旧版公开代码以发现隐藏漏洞的速度,已超过传统审查流程的检测速度。
Coinkite强调,尽管尚无证据证实该漏洞是如何被发现的,但必须假设攻击者使用了AI来检查其开源固件。该公司还承认,近期使用一款领先的AI模型进行的审查未能发现该问题。多家竞争对手的硬件钱包制造商已通过社交媒体声明,其产品未受影响。
“Ledger 未受近期发布的 Coldcard Mk3 安全通告影响,”该公司在 Coldcard 事件发生后向 X 平台用户表示。 “Ledger设备采用直接内置于安全元件芯片中的经过认证的真随机数生成器(TRNG),每24个单词的秘密恢复短语都能生成完整的256位熵。”
“Trezor用户:你们的资金是安全的,”硬件钱包制造商Trezor于周五解释道。“最近的Coldcard问题仅限于其自定义固件以及部分设备生成随机数的方式。Trezor并未采用该代码。” Trezor的X账号补充道:
“我们一直将多个独立的随机数源混合使用(设备硬件 + 主机 + 新款机型上的安全元件)。对于所有丢失比特币的用户,我们深表歉意。”
Coldcard用户接下来应关注什么
攻击者的身份仍不明,被盗的比特币可能随时从其汇总地址转移。调查人员仍在努力确定实际生成了多少个存在漏洞的种子、还有多少比特币处于风险中,以及攻击者是否已经锁定了其他高价值钱包。 不过,Coinkite可能无法获取早期用户的详细信息。 “这真是把双刃剑:为了防范数据泄露,Coinkite会在120天后清除所有客户记录,”Casa联合创始人詹姆斯·洛普(Jameson Lopp)在X平台发文称。 “这意味着他们无法联系过去5年内购买了存在漏洞冷卡的客户,以提醒他们注意这一安全隐患。”

此次事件还将考验 Coinkite 能否重振人们对 Coldcard 的信心,以及硬件钱包制造商是否会对助记词生成过程采用更严格的独立审查机制。 对用户而言,当务之急很简单:任何在受影响固件上生成种子时未采用强独立骰子熵、未设置密码短语或未启用多签名保护的用户,都应将其视为已遭泄露,并谨慎地将资金转移至新生成的钱包中。
除了这场毁灭性的盗窃事件外,整个社区的比特币用户都在敲响警钟,并敦促其他人广而告之,以免更多易受攻击的钱包被清空。
本文由人工智能从英文翻译而来。英文原版为权威来源;自动翻译可能存在不准确之处,尤其是在法律和监管术语方面。
















