跳到主内容
精选90吴说区块链(RSS)加密货币多源精选 ×4

Coldcard 漏洞复盘:随机数缺陷致四轮攻击

Coldcard 漏洞事件复盘:随机数错误、四轮攻击与比特币自托管争议

原文
推荐理由

加密安全事件,涉及硬件钱包漏洞、链上攻击与资产损失,对自托管用户有直接警示意义,建议关注受影响固件版本并评估自身风险。

编辑 | 吴说区块链

TL;DR:

· 五年随机数漏洞: Coldcard 在 2021 年迁移代码时,误将钱包种子生成路径接入软件伪随机数生成器,而非预期的硬件随机数生成器,导致部分固件生成的助记词实际搜索空间显著低于设计目标。

· 四轮疑似攻击仍在扩大: Galaxy Research 此前识别出三轮疑似攻击,涉及 4,585 个地址和 1,367.05 枚 BTC。8 月 3 日出现第四轮,最新观察值约为 448.7 枚 BTC、709 个潜在受害地址。若假设各轮不存在重叠,四轮合计约为 1,815.75 枚 BTC、5,294 个地址,但这些数字均来自链上特征分析,不能视为已经逐一确认的 Coldcard 受害地址或最终损失。

· 升级固件不能修复旧种子: 风险取决于创建助记词时使用的设备和固件版本。将受影响助记词导入其他钱包,或者仅升级 Coldcard 固件,均不能恢复已经缺失的随机性。用户需要在修复后的固件或其他可信环境中生成新种子,再迁移资金。

· 社区测试显示 AI 可能定位漏洞,但无法完成攻击归因: 漏洞公开后,有社区用户称 Claude Code 和 GLM-5.2 分别在约 8 分钟和 20 分钟内指出随机数路径问题,但相关测试没有经过独立复现,也未完整披露代码版本、模型配置和运行环境。Coinkite 承认此前使用 AI 审查代码却未发现漏洞。目前没有证据证明攻击者借助 AI 发现或利用该问题。

· 事件引发托管方式争议:漏洞披露后,比特币活跃地址、长期未动用 BTC 转账和中心化平台资金流入同步上升,部分分析师认为其中可能包含用户迁移资金,但链上数据无法证明因果关系。此次事件暴露的是特定硬件钱包的密钥生成风险,不代表比特币底层密码学或所有自托管方案失效。

2026 年 7 月 30 日 UTC 时间 01:10 至 01:51,一批比特币地址在约 41 分钟内被一次性转空,共涉及 1,082.65 枚 BTC,按当时价格计算约为 7,020 万美元。Galaxy Research 最初将涉及地址数量统计为 1,196 个,后续汇总三轮活动时改为 1,195 个。本文采用其较新的 1,195 个地址口径,同时保留这一统计差异。

Galaxy 根据 Block 工程师和安全研究人员提供的特征分析称,这一核心交易集大多使用固定的 30 sat/vB 手续费,且没有产生找零输出,显示相关操作可能由自动化工具批量完成。Galaxy 后续也识别出少量手续费约为 4 sat/vB 的例外交易,因此不能将固定费率描述为所有相关交易的共同特征。资金随后主要被归集至 4 个地址。

这轮转账发生在 Coldcard 制造商 Coinkite 公开披露 Mk3 固件风险约 30 小时前。此后,多轮具有相似程序化特征的资金转移陆续出现。Galaxy 在识别前三轮活动后,将观察范围上调至 4,585 个地址和 1,367.05 枚 BTC,价值约为 8,860 万美元。8 月 3 日,该机构研究主管 Alex Thorn 又监测到第四轮疑似有组织攻击。

这起事件没有涉及比特币底层密码学被破解。Block 和 Coinkite 的调查均将问题指向 Coldcard 固件的随机数生成路径:部分设备在创建钱包种子时,没有按设计使用硬件随机数生成器,而是错误调用了可预测的软件伪随机数生成器。

攻击者理论上可以在不接触具体设备的情况下,根据设备标识符、启动时间、计时器状态和随机数调用历史枚举候选输出,再生成对应助记词和地址,与公开链上地址进行比对。不过,公开报告尚未展示从零重建某一受害者助记词并匹配被盗地址的完整端到端实验。

7 月 30 日:约 500 个地址首先被集中转移

7 月 30 日,链上研究人员最初发现,约 500 个比特币单签名地址在约 25 分钟内被集中转移,涉及约 594 枚 BTC,价值约为 3,800 万美元,其中约 562 枚 BTC 随后汇入同一地址。受影响地址余额多数超过 0.15 枚 BTC,部分 UTXO 已多年没有活动。

当时,一名疑似受害者表示自己使用 Coldcard 设备,市场由此开始猜测事件可能与该硬件钱包有关。Coinkite 联合创始人兼 CEO Rodolfo Novak(NVK)最初否认已经出现明确的设备级漏洞,认为相关用户可能导入了此前已经泄露或随机性较弱的助记词,并指出这些转账涉及来自不同钱包的私钥。

比特币安全研究员 Jameson Lopp 当时表示,部分用户似乎只有特定 UTXO 被转走,而不是整个钱包余额,因此攻击者可能只掌握了部分私钥,而非完整助记词。但这一判断发生在漏洞根因公开之前,只能视为当时基于有限样本提出的假设。

Galaxy 后续将同一轮活动的观察范围扩大至 1,195 个地址和 1,082.65 枚 BTC。因此,早期约 500 个地址和 594 枚 BTC 的数字属于第一轮事件的较早统计范围,不能与后续数据重复相加。

Coinkite 发布预警,受影响设备范围随后扩大

首次大规模转账约 30 小时后,Coinkite 发布 Coldcard 安全公告。公司最初将风险范围集中在使用特定固件创建助记词的 Mk3 设备,并表示根据当时的初步分析,Mk4、Q 和 Mk5 暂未受到影响。

随着 Block 安全团队及其他研究人员继续分析,Coinkite 后续扩大了受影响范围。根据公司截至 8 月 1 日更新的公告:

· Mk2 和 Mk3:使用 4.0.1 至 4.1.9 固件生成的种子受到影响;

· Mk4 和 Mk5:使用标准版 5.6.0 之前的固件生成的种子受到影响;

· Q:使用标准版 1.5.0Q 之前的固件生成的种子受到影响;

· Mk4 和 Mk5 Edge:使用 6.6.0X 之前版本生成的种子受到影响;

· Q Edge:使用 6.6.0QX 之前版本生成的种子受到影响。

Block 的技术报告则将 Mk2 和 Mk3 的易受影响版本范围写为 4.0.0 至 4.1.9,并称相关代码路径最早出现在 2021 年 3 月 17 日发布的 4.0.0。该口径与 Coinkite 公告从 4.0.1 开始计算存在一版差异。对于曾使用 4.0.0 创建种子的用户,在 Coinkite 进一步澄清前,更保守的处理方式是将其视为可能受到影响并迁移资金。

TAPSIGNER、OPENDIME 和 SATSCARD 使用不同代码库,不在此次公告列出的影响范围内。

这意味着,Coinkite 最初关于 Mk4、Q 和 Mk5 暂不受影响的判断已经被后续调查修正。判断钱包是否存在风险,应以创建种子时使用的设备和固件版本为准,而不是设备当前安装的版本、购买时间或助记词目前存放在哪一款钱包中。

2021 年代码迁移让种子生成接入软件伪随机数

7 月 30 日,Block Bitcoin Engineering and Security 团队发布技术分析称,问题可以追溯至 2021 年 3 月。当时 Coinkite 将部分椭圆曲线运算迁移至 Bitcoin Core 使用的 libsecp256k1,并引入面向嵌入式 MicroPython 环境的 libNgU。

迁移过程中,钱包种子生成调用从 ckcc.rng_bytes() 改为 ngu.random.bytes()。

前一条路径会调用 Coldcard 为 STM32 芯片编写的硬件随机数实现;后一条路径则因为条件编译判断错误,最终连接到 MicroPython 内置的 Yasmarang 软件伪随机数生成器。

Coldcard 的生产配置将 MICROPY_HW_ENABLE_RNG 定义为 0。开发者原意是关闭 MicroPython 自带的硬件随机数实现,改用 Coldcard 自己的版本。但 libNgU 相关代码只检查该宏是否被定义,没有进一步检查其值是否为非零。

由于这个宏虽然等于 0,却仍然处于“已定义”状态,编译过程没有报错,软件后备实现随后以相同函数签名被链接进固件。这类错误不会表现为程序崩溃或种子生成失败,设备仍能正常生成看似随机的助记词,因此长期没有被用户直接察觉。

该软件生成器主要根据 MCU 唯一标识符的部分数据、SysTick 和 RTC 等计时器寄存器初始化。这些信息并不是密码学秘密。如果攻击者能够获得或缩小设备标识符、启动时间、计时器状态以及此前随机数调用次数的范围,就可能在离线环境中重现部分输出流,再生成候选助记词和地址。

对于 Mk2 和 Mk3,Block 表示相关种子生成路径没有获得后续密码学级别的重新播种。Mk4、Mk5 和 Q 虽然还会引入安全元件提供的额外熵,但实际进入软件生成器状态的只有摘要中的 4 个字节,即 32 位数据,无法恢复原本预期的随机性。

Coinkite 初步估计,受影响 Mk2 和 Mk3 种子的有效搜索空间约为 40 位;Mk4、Mk5 和 Q 因混入额外安全元件数据,有效熵估计约为 72 位,仍低于公司所称的 128 位设计安全目标。

Block 给出的条件性上限分别低于约 (2^{40.7}) 和 (2^{73.3}),但同时强调,这类估算高度依赖攻击者掌握的设备和时间信息,不能简单等同于标准密码学安全强度,也不能据此精确计算破解每一台设备所需的成本。

Block 表示,其尚未完成针对真实设备和受害钱包的完整端到端实证测试。当前公开材料也没有展示从零重建某一受害者助记词,再与实际被转走地址完成匹配的全过程。因此,随机数缺陷已经得到代码层面的确认,但每一个链上地址与该缺陷之间的关系,仍主要来自交易行为、地址特征和部分用户信息,而非逐个钱包的密码学复现。

Galaxy 识别前三轮活动,各轮是否由同一攻击者实施尚无定论

8 月 1 日,Galaxy Research 表示,其根据比特币链上数据识别出三轮疑似针对 Coldcard 生成地址的活动,共涉及 4,585 个地址,累计转走 1,367.05 枚 BTC,价值约为 8,860 万美元。

在 Galaxy 后续使用的地址口径中,第一轮涉及 1,195 个地址,第二轮涉及 1,478 个地址,第三轮涉及 1,912 个地址,合计 4,585 个地址。Galaxy 最初发布第一轮分析时使用的数字为 1,196 个地址,因此两个报告之间存在一个地址的统计调整。

Galaxy 称,前两轮活动在资金归集结构、接收地址类型和地址生成路径等方面较为相似,可以合理怀疑由同一名操作者实施,但目前仍无法证实。第三轮则在资金归集方式、接收地址和批量转账结构上明显不同,可能是原攻击者更换工具,也可能是另一名攻击者独立利用了相同问题。

Galaxy 对每一轮内部交易可能由同一操作者控制具有较高信心,但没有据此认定三轮活动全部由同一人实施。

Galaxy 同时强调,相关统计均来自链上分析,尚未验证所有地址是否确由随机性不足的 Coldcard 固件生成。固定手续费、无找零结构、地址年龄和资金归集方式可以帮助识别可能属于同一批次的交易,却不能单独证明每一笔转账都是盗窃,也不能确认不同批次由同一攻击者完成。

截至 Galaxy 发布三轮汇总分析时,三轮主要资金仍停留在识别出的疑似攻击者地址中。Galaxy 另行观察到一些规模较小、疑似模仿或机会型攻击的资金开始通过剥皮链、跨链服务和境外博彩平台分散,但这些资金不应与前三轮主要资金的流向混为一谈。

Galaxy 表示,已将约 600 个疑似攻击者持币地址提供给美国联邦调查人员、合规机构和网络安全调查人员。

8 月 3 日:第四轮疑似攻击升至约 448.7 枚 BTC

8 月 3 日,Galaxy Research 研究主管 Alex Thorn 表示,Coldcard 疑似正在发生第四轮有组织攻击。

Thorn 最初在区块 960,778 至 960,792 之间发现 218 笔交易,涉及 462 个潜在受害地址、216 个新目的地址和约 388.93 枚 BTC。

他表示,相关输入均不早于 Coldcard 固件漏洞出现的时间边界。在所观察区间内,平均每个区块约出现 13.8 笔清空交易,而事发前对照窗口约为每个区块 0.3 笔,活动频率约为正常水平的 45 倍。多数交易为每个潜在受害者创建一个新的目的地址,部分资金随后进入第二跳地址。

随着更多区块确认及样本清理,Thorn 将第四轮数据更新为约 448.7 枚 BTC、709 个潜在受害地址。其修正过程包括排除 89 个多签地址及约 20.58 枚 BTC 等误报,因此较新数字不能被理解为只是在最初统计上机械增加新交易。

这一数据仍是根据 UTXO 年龄、地址类型和交易行为得出的链上估计,尚未得到 Coinkite、执法部门或全部钱包持有人的逐一确认。

Thorn 还表示,当时内存池中仍有类似交易等待确认,部分已经确认的交易启用了选择加入式 RBF。对于仍然控制相关私钥,且可疑交易尚未确认并满足替换条件的用户,可以尝试广播一笔手续费更高、将资金发送至安全钱包的冲突交易。

不过,RBF 仅适用于尚未确认且允许替换的交易,也不能保证用户的新交易一定会先被矿工打包。用户还需要警惕在紧急情况下出现的假冒恢复工具、钓鱼网站和索要助记词的所谓客服。

若将 Galaxy 此前统计的 1,367.05 枚 BTC、4,585 个地址与第四轮更新值简单相加,四轮观察规模约为 1,815.75 枚 BTC、5,294 个地址。但这一计算以各轮地址不存在重叠为前提,只是链上观察值的算术汇总,不能视为 Coinkite 或执法部门确认的最终损失。

Swan 暂停部分提现,Nunchuk 检查由 Coldcard 生成的平台密钥

8 月 1 日,比特币金融服务平台 Swan 表示,鉴于 Coldcard 漏洞披露,平台已暂时停止处理部分看起来将转入 Coldcard 钱包的比特币提现。

Swan 表示,自身服务没有受到该漏洞影响。相关限制主要依据用户此前为提现地址填写的钱包标签采取,平台无法仅凭标签确认用户当前使用的具体设备、固件版本或种子是否受到影响。

据 Bitcoin News 转述的 Nunchuk 回应,其部分平台密钥曾由 Coldcard Mk4 生成,但实际使用时经过自定义派生逻辑处理,因此较不容易被直接纳入针对标准派生路径建立的查询表。

Nunchuk 同时表示,如果攻击者拥有足够时间,仍应假设这些派生密钥最终可能被纳入搜索范围。目前没有找到 Nunchuk 面向公众发布的完整技术公告,因此上述内容应理解为媒体转述的公司回应,而不是经过独立验证的安全结论。

漏洞披露后链上活动上升,但不能证明均由 Coldcard 引起

CryptoQuant 研究主管 Julio Moreno 表示,比特币每日活跃地址数从 7 月 30 日的约 64.5 万个升至 7 月 31 日的接近 100 万个,创 2024 年 12 月 10 日以来最高水平,其中活跃发送地址数量明显增加。

Moreno 认为,其中可能包含 Coldcard 用户在漏洞披露后出于谨慎迁移 BTC,但活跃地址数据本身无法识别钱包品牌,也不能证明二者存在直接因果关系。

同一时期,单笔规模低于 1 枚 BTC 的转账合计达到约 39,600 枚 BTC,接近 2022 年 11 月 FTX 破产后录得的约 39,900 枚 BTC。单笔低于 10 枚 BTC 的交易所充值量则升至约 7,300 枚 BTC,为 2 月 6 日以来最高。

TimechainIndex 创始人 Sani 估计,7 月 31 日比特币向中心化平台或已识别实体的净流入约为 11,163 枚 BTC,主要流向 River、Binance、Kraken 和 OKX。其中 River 并非传统意义上的纯交易所,因此不宜将全部数据统一表述为“交易所净流入”。

CryptoQuant 分析师 JA Maartunn 表示,漏洞公开后约有 77,402 枚来自较老 UTXO 年龄区间的 BTC 重新发生转移。该数字描述的是长期未动用比特币重新出现链上活动,不能全部归因于 Coldcard,也不代表这些 BTC 均已进入交易所。钱包迁移、地址整理、托管方式调整和真实卖出都会反映在链上数据中。

Santiment 认为,Coldcard 事件可能削弱了部分交易者对冷钱包和自托管安全性的信心。但这一结果来自短期社交媒体样本,容易受到单日新闻和极端评论影响,无法据此判断市场情绪是否会持续。

PeckShield 在 2026 年 7 月安全报告中将 Coldcard 相关损失暂按约 7,000 万美元计算,并将其列为当年截至当时第三大加密资产盗窃事件,仅次于 Drift 和 KelpDAO/LayerZero。

这一数字属于 7 月月报发布时的阶段性快照,没有纳入 Galaxy 后续识别的全部疑似地址和第四轮活动,也不等同于经过受害者或执法部门确认的最终损失。

事件引发托管模式争议,但不同方案承担不同风险

彭博 ETF 分析师 Eric Balchunas 表示,根据 PitchBook 和 LinkedIn 等公开资料,Coinkite 的员工规模约为 5 人。对于一家承担大量用户资产安全责任的硬件钱包制造商而言,他认为这一规模可能构成风险信号。

Balchunas 表示,相较之下,Coinbase、Ledger 等大型机构,以及比特币现货 ETF 背后的受监管托管体系,可能拥有更多安全和合规资源,尽管部分方案也会产生更高费用。Coinkite 的实际员工数量并未在其评论中得到公司独立确认,因此“约 5 人”应作为其引用的第三方估算,而不是确定事实。

围绕这一观点,市场讨论主要集中在中心化托管与自托管承担的风险差异。

交易所和基金托管体系存在资产挪用、机构破产、冻结提现、内部攻击、监管处置和单点故障等对手方风险。自托管可以减少部分对手方风险,但会将种子生成、备份、继承、签名设备、固件供应链和用户操作责任转移给资产持有人。

Coldcard 事件表明,硬件钱包离线运行不代表种子生成、固件构建和供应链等所有环节都已经得到充分验证。此次问题发生在创建种子的随机数路径,受影响助记词即使被导入其他品牌的钱包,其初始随机性不足的问题仍然存在。

单纯升级固件也不能修复已经生成的旧助记词。用户必须在修复后的固件或其他可信环境中创建新种子,并将资产发送至由新种子控制的地址。

根据 Coinkite 公告,修复版本分别为:

· Mk2 和 Mk3:4.2.0 或更高版本;

· Mk4 和 Mk5 标准版:5.6.0 或更高版本;

· Q 标准版:1.5.0Q 或更高版本;

· Mk4 和 Mk5 Edge:6.6.0X 或更高版本;

· Q Edge:6.6.0QX 或更高版本。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

关联讨论

同一事件的更多信源

相似阅读

另一事件,读法相近