硬件錢包生產商 Coinkite 為旗下 Coldcard 推出緊急韌體,回應一宗因亂數產生器出錯而導致的比特幣失竊事件。據 Decrypt 報道,多輪攻擊累計被盜金額約 1.3 億美元。最關鍵的一點是:更新韌體並不會修復已經產生的種子詞,受影響用戶必須重新產生種子詞,並把比特幣轉去新地址。
出錯的是一個編譯開關
問題源自 2021 年 3 月的一次韌體整合失誤。
Coldcard 的正式編譯設定檢查的是 `MICROPY_HW_ENABLE_RNG` 這個參數「有沒有被定義」,而不是「有沒有被啟用」。結果編譯出來的韌體並沒有使用 STM32 晶片內建的硬件亂數產生器,而是退回 MicroPython 內置的 Yasmarang 偽隨機數產生器。
這個備援產生器只以晶片的唯一識別碼與計時器暫存器作初始值,之後再沒有收集任何新的亂數來源。換言之,種子詞的隨機性遠低於設計值。
一組 12 字的 BIP-39 種子詞理應有 128 位元的亂數強度。實際情況是:
- Mk3:約 40 位元
- Mk4、Mk5、Q:約 72 位元
40 位元代表可能的組合數量少到可以用一般算力逐一試出來。這不是理論上的弱點,而是已經被實際利用的漏洞。
攻擊如何發生
2026 年 7 月 30 日,攻擊者在 41 分鐘內清空了 1,196 個地址,取走 1,082.65 枚比特幣,當時價值約 7,020 萬美元。Galaxy Research 追蹤並還原了這次清倉的路徑。
其後再有兩輪懷疑相關的攻擊。The Hacker News 引述的統計為累計 1,367.05 枚比特幣、涉及 4,585 個地址,當時約值 8,860 萬美元;Decrypt 則指截至 8 月初,多輪攻擊的總額已達約 1.3 億美元。各方數字有出入,因為受害地址仍在增加,而比特幣價格在期間亦有變動。
支付公司 Block 的研究團隊發表了這次漏洞的技術分析。Coinkite 表示執法機關正在調查,並嘗試辨識責任人。
哪些機器受影響
按韌體版本劃分,而不是按購買年份:
型號 | 受影響版本 |
|---|---|
Mk2、Mk3 | 4.0.0 至 4.1.9(4.2.0 已修復) |
Mk4、Mk5 | 5.6.0 之前 |
Q | 1.5.0Q 之前 |
Edge 測試版 | 6.6.0X 之前(Mk4、Mk5)、6.6.0QX 之前(Q) |
Coinkite 在 7 月 31 日,即第一輪攻擊翌日,就向所有受影響型號推送了緊急韌體。
新韌體要你自己搖骰
最新版本為 Mk4、Mk5 的 5.6.1 與 Q 的 1.5.1Q。產生新種子詞時,機器不再單靠自己的亂數,而是要求用戶親手提供隨機性,三選其一:
- 至少 65 次按鍵
- 50 次擲骰
- 128 次擲硬幣
用戶提供的隨機性會與機器本身的亂數混合使用。同一次更新亦加強了交易簽署驗證、USB 資料處理、韌體驗證與備份程序。
更新韌體不等於安全
這一點值得重覆:安裝新韌體不會修復已經產生的種子詞。
亂數不足的問題存在於種子詞本身,不在機器裡。一組在舊韌體上產生的種子詞,無論之後灌進多新的韌體、抄到哪一款錢包,弱點都會跟着走。
所以受影響用戶要做的是三件事,缺一不可:
1. 在已更新的韌體上產生一組全新的種子詞
2. 把比特幣轉去用新種子詞衍生的新地址
3. 不要把舊種子詞還原到新韌體或其他錢包
第三點最容易做錯。把舊種子詞輸入一部已修補的機器,感覺像是「修好了」,實際上只是把同一組脆弱的私鑰換了個地方擺。
來源
- Coldcard hardware wallet flaw linked to $70 million Bitcoin theft — The Hacker News,韌體版本與技術成因
- Coldcard Adds New Security Measures After $130 Million Bitcoin Exploit — Decrypt,新韌體與累計金額




No comments yet