Coldcard 低熵漏洞促使比特幣持有者重新審視硬體錢包信任
重點速覽
- •攻擊者利用 Coldcard 硬體錢包中的低熵漏洞暴力破解私鑰,已竊取超過 1 億美元的比特幣。
- •該漏洞源於 2021 年 3 月發布的韌體版本 4.0.1,該版本以 MicroPython 的 Yasmarang 偽亂數產生器取代了 STM32 硬體亂數產生器。
- •Coinkite 估計 Mk2 和 Mk3 裝置產生的種子僅有約 40 位元熵,而 Mk4、Mk5 和 Q 型號達到約 70 位元,兩者都遠低於安全 12 字詞種子短語所需的 128 位元。
- •添加補充骰子熵或使用 BIP-39 密碼短語結合非標準衍生路徑的用戶不受此漏洞影響。
- •Coinkite 已針對受影響裝置發布官方種子生成警告,多種物理熵方法(包括擲骰子和紙本查找表)正被推廣為更安全的替代方案。

在 Coldcard 硬體錢包嚴重的低熵漏洞被揭露後——該漏洞與 7 月 30 日開始公開觀察到的竊盜事件有關——比特幣持有者正在重新評估其自託管設置中的信任假設。攻擊者利用此缺陷暴力破解私鑰,已造成超過 1 億美元的 BTC 被盜。
Coldcard 由 Coinkite 製造,一直被廣泛視為比特幣生態系統中最注重安全的硬體錢包之一,其行銷特別強調氣隙隔離設計以及對多重簽章和 PSBT 工作流程等進階功能的支援。這一定位的崩塌加劇了對硬體錢包供應商如何實作和維護其最關鍵安全程式碼路徑的審查。
Coldcard 熵缺陷的運作原理
Coldcard 裝置配備了 STM32「真亂數產生器」(TRNG),旨在依賴物理過程來產生無法猜測的種子短語。然而,當 Coldcard 創辦人 NVK 啟動韌體重寫,將專案從 GPL 授權的自由軟體模式轉換為唯讀模式時,似乎引入了一個嚴重的漏洞。
從 2021 年 3 月發布的韌體版本 4.0.1 開始,裝置使用了 MicroPython 的 Yasmarang 偽亂數產生器(PRNG),而非正確使用 STM32 硬體 RNG。這一偏離實際上繞過了基於硬體的熵來源。亂數生成在電腦科學中仍然是一個根本性的難題,這就是為什麼安全、不可猜測的私鑰創建始終必須在某種程度上依賴外部物理過程。放棄 GPL 授權也降低了獨立開發者即時審核韌體變更的能力——這是開源硬體錢包社群長期以來一直標記為系統性風險的矛盾。
分析師普遍將 Yasmarang 的使用描述為預設的後備方案。Coldcard 背後的製造商 Coinkite 在一篇最近的 X 貼文中對此描述提出異議。
Coldcard 被設定為預設使用明顯不安全的種子生成方法的可能性,在 X 上引發了關於該缺陷是否為故意植入的後門的猜測。調查比特幣記者 Hodlnaut 推測,該漏洞源於粗心的開發實踐以及試圖通過隨意修改程式碼來壓制錯誤的做法。
根據 Coinkite 自己的估計,Mk2 和 Mk3 裝置僅產生約 40 位元熵的種子,而 Mk4、Mk5 和 Q 型號達到約 70 位元。兩個數字都遠低於安全的 12 字詞種子短語所需的 128 位元。
相關:Coldcard 駭客將 64 BTC 和 200 ETH 轉移至加密貨幣混幣器
特定錢包被入侵的可能性取決於用戶是否添加了補充的骰子熵,或者是否使用了 BIP-39 密碼短語結合非標準衍生路徑。
James O'Beirne 隨後推出了 cktripwire,一個部署蜜罐地址的網站,旨在識別攻擊者正在積極清掃哪些錢包配置。
Coinkite 也已針對受影響裝置發布了官方種子生成警告。
物理熵如何保護部分錢包
Coldcard 漏洞再次鮮明地印證了比特幣社群的基本信條:不要信任,要驗證。
在最關鍵的安全階段拒絕依賴不透明的硬體元件來產生熵——而是使用足夠數量的物理骰子投擲——的用戶,完全免受此漏洞的影響。擲骰子是一個簡單、視覺上透明的過程,任何普通用戶都可以自行審核並直觀地理解。相比之下,驗證 TRNG 則需要對裝置的電子元件進行詳細的物理檢查,並徹底審查其韌體。
雖然一些評論員將近期事件作為自託管存在根本缺陷的證據,但遵循熵最佳實踐只給遠端攻擊者留下極少的途徑。當種子短語通過物理熵而非依賴硬體的過程生成時,錢包創建中最關鍵的單一故障點就被消除了。
從種子衍生的擴展公鑰(xpub)和收款地址可以通過將種子匯入多個獨立裝置來交叉驗證。通過氣隙的 nonce 洩漏也可以通過確認兩個裝置在處理相同的未簽署交易時產生相同的 RFC 6979 合規簽章來偵測。
安全熵生成因此是安全錢包的絕對前提。自 Coldcard 漏洞公開以來,各種可信熵生成的方法和提案已在 X 上廣泛流傳。
最受歡迎的方法是通過應用 SHA-256 雜湊來交叉檢查裝置正確將骰子面轉換為 BIP-39 種子短語的能力。使用 100 次以上的骰子投擲即可產生足夠的熵來生成 24 字詞種子。
更簡單的紙本方法,例如 Bitbox 發布的查找表,將 BIP-39 單詞列表進行分區,使得六次骰子投擲和一次擲硬幣的組合可以直接映射到一個種子字詞,而無需使用任何電子裝置。
更進階的工具,例如 codex32 骰子去偏工作表,採用馮諾依曼提取器——一種完全可手動計算的程序——即使使用有偏差的骰子也能產生安全的種子短語。
擲骰子的替代方案包括列印完整的 BIP-39 單詞列表,將字詞剪成均勻的紙條,徹底洗牌,然後隨機抽取 24 個字詞。Seedsticks 或 Entropia 等產品提供了更便利和耐用的實作方式。
專用硬體如 Frostsnap 試圖可驗證地將熵生成分散到多個裝置上。一些用戶甚至開始設計自己的物理熵儀器,能夠幾乎與專用電子錢包一樣快地產生種子短語。