
击穿离线钱包的种子缺陷
第一波在二十五分钟内从大约 500 个钱包里卷走了 594 枚 BTC,约合 3800 万美元。这些钱包没有一个是热钱包,没有一个连接过电脑。它们都是离线设备,主人把说明书上写的每一条都照做了。
到八月中旬,总数已超过 1778 枚 BTC,当时约合 1.12 亿美元,如今这个滚动数字接近 1.3 亿美元。造成这次重大失守的不是钓鱼网站,也不是恶意签名,而是 2021 年的一个固件缺陷——它让部分钱包种子变得可以被猜到,从根本上改写了硬件钱包安全的承诺。
真正坏掉的是什么
钱包种子是用来生成私钥的最初随机数据,它是加密货币安全的支点。种子由随机性生成,而随机性以熵的比特数衡量,行业标准是 128 位——这个数字大到让暴力破解不再是计算问题,而是物理问题。
在受影响的设备上,这个数字被削到了大约 40 位。四十位不是物理问题,而是租一下算力、一个下午的事。
正是这一点让本次事件在结构上区别于其他所有钱包事故。没有任何东西从设备里被偷走。攻击者从未碰过它,不需要 PIN,也没见过屏幕。只要种子生成在一个可预测的范围里,私钥就能在世界任何角落被重建,而主人在余额移动之前根本无从察觉。
硬件钱包安全建立在一个假设之上:设备内部生成的那个数字,在设备之外无从得知。当熵坍塌,栈里其余所有防护——安全元件、密语、PIN、防拆网——都成了装饰。
为什么离线隔离没能帮上忙
离线隔离是一种把设备与任何网络连接隔开、以阻止未授权访问的安全措施。它防的是一个特定威胁:被攻陷的电脑够到私钥。在这件事上它做得很好。
但对一把出生时就孱弱的密钥,它什么也做不了。签名设备可以锁进保险柜、裹上锡纸、从不在有网络的地方通电,资金照样离开——因为攻击者根本不是在攻击设备,他们攻击的是生成种子的那套数学。
这个区分值得记牢,因为多数关于硬件钱包安全的建议都隐含地假设攻击者必须够到你的硬件。种子生成恰恰是唯一不需要如此的失效模式。
不太舒服的部分:缺陷是怎么被发现的
Coinkite 提出,攻击者可能借助 AI 梳理了其开源固件的历史版本,从中翻出了这个弱点。
追踪这批盗取的 Galaxy Research 把整场行动描述为蓄意的、程式化的,并且很可能是由大语言模型统筹的。到八月初,他们已在 4585 个地址上梳理出约 8860 万美元;攻击分三大波袭来,另有数十起规模较小的事件。
请仔细读这一段。代码从 2021 年起就是公开的,人类审阅者看了它很多年。改变的不是代码,而是审阅它的成本:一个带模型的攻击者,现在能把每一份开源固件的每一个历史版本都读一遍,而这在过去是不划算的。
防守方的讽刺之处在于,Coinkite 自己为期三周的修复复审同样动用了外部研究员加 AI 模型。同一种能力现在在这条线的两边同时生效,而更有耐心的一方获胜。
修了什么
该公司敦促 Mk4、Mk5 和 Q 系列设备的主人升级到固件 5.6.1 或 1.5.1Q。这次发布处理了交易签名、USB 数据处理、固件校验、Delta 模式和钱包备份。
最能说明问题的改动是流程上的而非技术上的:现在生成种子要求用户手动贡献随机性,创建钱包前必须达到最少的按键次数。设备不再单独信任自己能够随机。
这是一个合理的纠正,同时也悄悄承认了更深的一点:随机性是安全产品里最难验证的东西,因为一个弱随机数看起来和一个强随机数一模一样。
如果你持有任何一款硬件钱包,这意味着什么
不是 Coldcard 用户?这个教训依然适用,因为这一类硬件钱包安全失效并不专属于某个品牌。任何会生成种子的设备都可能生成得很糟,而主人光看是看不出来的。
更新固件,但要明白更新做什么、不做什么。新固件修好的是未来的种子生成,它不会修复一个已经被孱弱地创建出来的种子——那些密钥将永远可被猜到,这也正是受影响用户必须转移资金、而不能打完补丁就安心的原因。
把种子生成当作钱包一生中风险最高的时刻。它只发生一次,耗时三十秒,却决定了之后的一切。如果你的设备提供加入自有熵的方式——掷骰子、按键、抛硬币——就用上,哪怕感觉像在演戏。
不要在多台设备间复用同一个种子,也不要在不知道旧种子是由哪个固件版本创建的情况下,把它恢复到新硬件上。这次事件的脆弱窗口向前追溯了数年,很多主人早就忘了自己最初设置时跑的是哪个版本。
把持仓拆分到不同时间生成的多个钱包里,理想情况下用不同厂商的不同设备。这听上去像被害妄想,直到一个覆盖整个厂商的熵缺陷一次性带走 4585 个地址。
如何自查是否受影响
审计你自己的硬件钱包安全,要从这台具体设备的固件历史入手,而不是从型号系列入手。厂商会公布哪些版本受影响;把你的创建日期与那份清单对上,是唯一可靠的核查方式。
如果钱包是在受影响窗口内创建的,无论资金是否已经移动,都要把种子视为已泄露。攻击者是按名单推进的,一个安静的地址只说明还没轮到你。
解决办法是迁移而不是打补丁。在更新后的固件上生成新种子,在设备屏幕上核对接收地址,转移资金,然后永久弃用旧种子——不做备份,不做备用。
还要提防随之而来的骗局。每一次这种规模的事件,几天之内必然跟上「资产追回服务」和假冒厂商客服,索要他们声称要拯救的那句助记词。
更大的教训
开源常被当作安全保证,它不是。它是审阅的前提条件,而审阅是另一件事,得有人真正去做、去出钱、去反复做。
这份固件公开且流行了七年。缺陷依然存活下来,因为在经济账变化之前,没有人有理由去重读那些旧提交。
对有分量的余额来说,硬件钱包安全仍然是正确的默认选择——用专用签名设备自持,依旧远比把密钥留在笔记本上安全。这次事件修正的是「一劳永逸」的假设:2021 年安全的设备,现在并不自动安全,而真正要紧的那次审计,恰恰是没有人做的那一次。
这是不是说明硬件钱包不安全?
不是。它说明的是一种特定的硬件钱包安全失效模式——弱种子生成——会击穿它们提供的其他所有防护。对多数主人而言,硬件钱包依然远比软件存储安全;需要修正的是,把种子创建和固件来源当作安全模型的一部分,而不是安装时的琐事。
光看助记词能看出熵低吗?
不能。弱种子和强种子对人来说无法区分,都是十二或二十四个普通单词。这正是这个缺陷能存活多年而无人察觉的原因。
更新固件能保护我已有的密钥吗?
不能。更新修的是未来种子的生成方式。被孱弱地创建出来的种子将永远孱弱,所以解决暴露的办法是把资金转移到用已修复固件生成的钱包,而不是打补丁。
离线设备为什么也丢了钱?
因为这次攻击根本不需要够到设备。一旦种子落入可预测范围,密钥就能被远程重建,物理隔离对这一类缺陷毫无意义。
AI 能读代码之后,开源固件是不是更危险了?
是更暴露,不是更危险。公开代码任何人都能以近乎零成本分析,这把刀两面都开刃:防守方获得了同样的能力,而闭源固件只是把缺陷藏起来,并没有消除它。
创建钱包时该不该加入自己的随机性?
只要设备支持就该加。掷骰子或按键会把用户提供的熵混入生成器,这样即便内部随机源有缺陷,也无法单独决定你的密钥。
EIDEX 加密市场专家兼内容与营销部主管。专注于市场结构、交易所基础设施和跨链交易,将链上数据和市场变化转化为面向交易者的清晰、可落地的研究。


