Coldcard 硬件钱包被盗事件,再次把加密行业争论多年的一个问题推到台前:源码公开,是否就等于安全,是否就等于开源。
撰文 Juan Galt,Foresight News 编译文章指出,这起事件中,用户损失超过 1 亿美元的比特币,数量逾 1500 枚 BTC。事件暴露出的现实是,哪怕在比特币用户群体内部,很多人对开源软件开发的含义、边界和失效场景,理解也并不充分。
开源、自由软件与源码可见,不是一回事
文章先梳理了几组常被混用的术语。
自由开源软件(FOSS)和自由/开源软件(FLOSS),指的是符合正式用户自由定义的软件。自由软件基金会(FSF)用四项基本自由来定义「自由软件」:
- 自由 0:按自己的意愿、为任何目的运行程序。
- 自由 1:研究程序如何工作,并按自身需求修改它,前提是能获取源代码。
- 自由 2:重新分发副本,以便帮助他人。
- 自由 3:分发修改后的版本给他人,同样以前置可获取源代码为条件。
FSF 强调,这里的「free」指的是自由,不是免费。开源支持者常用的一句话是:「free」更接近「free speech」,不是「free beer」。
与此对应,开源促进会(OSI)对开源还有十项实践标准,包括可自由再分发且无需支付版税、源代码必须以适合修改的形式提供、允许创建并分发衍生作品、不得歧视任何个人、群体或用途,其中也包括商业用途。只有完全满足这十项标准的许可证,才可以被正式称为「开源」。
而「源码可见」或「源码可查看」并不等同于此。代码可以被公开阅读,但许可证仍可能限制商业销售权。文章用 Coldcard 固件举例称,其采用 MIT 许可证,同时附加许可条件。该条款明确禁止「销售」软件,也就是向第三方提供该软件,以换取费用或其他对价,且产品或服务的价值全部或实质上来自该软件本身。按这一表述,Coldcard 固件不能被用于商业用途。
文章提到,许可条件本身写得很直接:「这是开源吗?不是。」其含义是,附加这类条款后,软件虽然满足开源定义中的许多要素,但并不满足全部要求,因此不应被称为开源。
作者认为,这些区别并非字面争论。公开源代码,只是创造了被检查的可能;只有当软件真正赋予自由软件或开源定义中的全部权利时,它才属于 FOSS。批评者据此提出,开源中的商业自由,能为第三方测试和审查代码提供激励,否则这些激励可能根本不存在。
开源不自动生成安全,前提是有人真的去审查
文章把四项自由视为开源哲学的核心,但同时指出,实践层面还建立在一个经济假设上:会有足够多、且有动机的人去审查代码。
如果这个假设失效,就会出现典型的「公地悲剧」。共享资源因为个体短期自利而被过度使用或被忽视,最终整体质量退化。放到开源语境里,问题不在于代码是否公开,而在于公开之后,是否真的有人投入技能、时间和注意力去验证。
文中引述一位比特币开发者的说法称:「在测试中使用开源代码的两种测试替身 mocks 和 stubs 是不负责任且短视的。开源代码被认为安全,是因为任何人都可以验证它。如果你连自己真正依赖的功能都不愿意做最低限度的测试,那你就是在当寄生虫。」
按这一逻辑,开源本身不提供安全,它提供的是验证可能性。验证有没有发生,取决于激励、技能与注意力是否真正到位。文章提到,历史上一些优秀的 FOSS 项目,会随着漏洞被发现、披露和修复而持续加固,最后成为其他软件构建的基础。Linux 内核就是典型例子,它支撑了全球绝大多数服务器、云基础设施、安卓设备和嵌入式系统,也是部署最广的软件之一。
Bitcoin Core 如何运行:公开开发,不靠特权身份
作为比特币的参考实现,Bitcoin Core 被文章列为大规模纯开源在现实中运行的另一类样本。它采用 MIT 许可证,整个开发过程从设计上就是公开的。
任何人都可以提交 pull request。代码审查是主要过滤机制,也是新人最常见的参与入口。审查者会使用一套正式术语表达意见,包括 Concept ACK,即同意目标;Approach ACK,即同意目标和方法;带具体 commit hash 的 ACK,即已经测试并批准合并;以及 NACK,即不同意,并需附带技术理由。
维护者在合并前会综合评估贡献者共识和技术质量。若涉及共识关键变更,门槛会更高,通常需要比特币改进提案(BIP),并在 bitcoin-dev 邮件列表和 IRC 上经历多年讨论。
文章强调,这一体系里并不存在一个享有特权的「比特币核心开发者」阶层。信任来自长期展示能力。维护者之所以存在,是出于现实需要,例如审计待合并代码、管理发布流程和承担基础审核工作,但他们产出的仍然是纯开源代码,任何人都可以检查、编译、分叉或运行。代码被合并进 Bitcoin Core 的参与者,通常被称为 Bitcoin Core 贡献者。
长期开源比特币开发者 Calle 最近总结称,那些把核心团队想象成在阴影中不透明运作机构的人,「要么太懒,要么太蠢,懒得自己去看一眼。他们做的一切都是公开的,任何人都可以参与,最终产出的就是纯开源代码。」
文章还提到,这套开发工作的资金主要来自非营利和资助结构,例如 Brink、OpenSats、Spiral 等,而不是传统公司的产品路线图。技术讨论集中在公开的 bitcoin-dev 邮件列表和 Libera Chat 的 #bitcoin-core-dev IRC 频道,提案在提交 pull request 前后都会受到严格审视。GitHub 上的 issue 与 pull request,往往保留了长达十年的评论历史。这种机制形成了一种更重视正确性和可审计性的开发文化,而不是追求速度,或商业功能的快速迭代。
Coldcard案例中的激励问题
文章指出,大多数开源或源码可见软件的用户,实际上从不会自己阅读代码,他们依赖的是「总会有别人审查」这个假设。
在 Coldcard 案例中,一个关键熵缺陷在公开固件中潜伏了约五年,直到被利用后才被发现。这个 bug 是在 2021 年一次重大重写中引入的,那次重写同时移除了源自 Trezor 的剩余 GPL 代码。
Trezor 被文中描述为第一款硬件钱包,目前也是自托管行业第二大产品。问题核心所在的库名为 libngu,它替代了 trezor-crypto,但外部审查极少。文章给出的对比数据是,libngu 在生产环境使用超过五年后,只有 7 个 star、不到 20 个 fork;而 trezor-crypto 有 512 个 star 和 212 个 fork,更现代的 trezor-firmware 有 793 个 fork 和 1800 个 star。
文中解释,Star 和 Fork 是 GitHub 上衡量项目受欢迎程度和活跃度的两个核心指标,Star 指收藏点赞,Fork 指复制仓库。从这一对比出发,作者认为,源码可见本身并没有自动带来足够重要的审查。批评者则把原因归结为,其他有资金、有能力的盈利公司被限制使用该代码,商业激励不足,因此缺少深度投入审查的动力。
文章还提到,比特币领域的风险远高于多数软件行业。关键缺陷一旦存在,就可能直接在公开市场中变成可兑现的流动资产。Coldcard 被盗资金的前半部分,仍存放在少数地址中,作者称黑客未来或许会被抓住;但后续模仿者更加谨慎,已有攻击者盗走更多比特币并完成洗白。根据 Galaxy Research 数据,总损失至少已达 1700 BTC。
文中认为,比特币的抗审查和不可篡改交易,一方面给攻击者提供了强激励,另一方面也形成了近似达尔文式的筛选:只有那些持续吸引高质量审查、且用户与公司认真采取防护措施的项目,才可能长期存活。
许可证会改变谁愿意审查代码
文章将许可证选择视为决定激励结构的重要因素。
纯开源许可证,可以最大化潜在审查者和分叉者的范围。相较之下,受限的「源码可见」许可证虽然能够减少商业上的「搭便车」,但也会缩小一批既拥有合法使用权、又具备经济动机去深度投入注意力的人群。
结果是,代码审查的负担重新回到公司自己身上。按作者的说法,这会让项目在实际运行上更接近闭源,而不是开源。
AI 同时改变开源审计和闭源安全
文章最后把视线转向 AI 对软件开发模式的影响。
Coldcard 事件之后,一个名为 Bitcoin Red Team 的志愿者项目展开了行动。该项目由 Calle、AnchorWatch 的 Rob Hamilton 等开发者主导,并得到 OpenSats 支持。团队使用前沿 AI 模型,扫描了数百个开源比特币代码库。
文章称,在一段高强度时期内,Bitcoin Red Team 提交了数千项发现,其中数十项被定为关键或高严重性问题,覆盖数百个项目。披露流程是先向维护者负责披露,再对外公开。作者据此认为,系统化的 AI 辅助审查,已经能以过去人类团队难以达到的规模和速度发现漏洞。
文中还提到,Bitcoin Red Team 发现,中国开源权重模型比闭源美国模型更可靠。文章称,即便是拥有网络权限和顶级访问权的美国模型,也拒绝回答 Bitcoin Red Team 的查询,这让美国开发者感到遗憾。
但 AI 并不只带来正面效果。文章指出,AI 生成代码的大量涌入,也给 FOSS 维护者带来了新的「拒绝服务」式压力,因为审查 AI 输出往往比生成它更耗时。一些比特币以外的开源项目,已经开始限制 issue tracker,或者制定严格的反 AI 贡献规则,以维持基本运转。
在闭源软件一侧,传统意义上依赖隐蔽来获得安全的优势,也正在被削弱。文章认为,现代 AI 模型可以高速阅读、去混淆、探测端点并推理代码。这样一来,开源与闭源在现实中的差异,越来越集中在那些从未上线的后端代码上。对闭源项目而言,最终仍要依赖专业审计的质量、补丁部署的速度,以及能否形成让有权限者持续认真审查的激励结构。
文章最后写道,比特币及更广泛的加密行业,正在给自由开源软件施加不同寻常的压力。真实的货币价值、对抗性经济环境,以及 AI 带来的规模化分析能力,都在推动软件模式继续演变。回到数字化之前的模拟系统,对现代社会基础设施而言几乎不是选项;而能否经受充分审计,正成为项目在 AI 辅助攻击和数字金融环境下生存下去的前提。

