撰文:Liam 'Akiba' Wright
編譯:Saoirse,Foresight News
在硬件錢包連接網絡之前,錢包的安全防線就可能已經失守。一款空氣隔離的硬件錢包或許能將私鑰與互聯網隔絕數年之久,但從助記詞生成的那一刻起,風險就已埋下。
Coldcard 近期披露的隨機數漏洞,完美印證了這一安全陷阱。受漏洞影響的錢包能生成一組看起來完全正常的 12 個詞或 24 個詞恢復助記詞,用戶可將助記詞妥善保管並離線簽署交易。但底層隨機數生成器的可選範圍實際上大幅縮小。攻擊者可在其他設備上窮舉所有可能的種子組合,還原出候選種子;再對照比特幣公開賬本,篩選出能匹配真實地址的有效種子。
在我看來,錢包的安全命運在種子創建之時就已注定。在 PIN 碼、鋼製助記備份板、防篡改封袋、空氣隔離這些防護手段發揮作用之前,種子首先必須依托真正可靠的隨機源生成。
一套優質的現代隨機數生成器能夠輸出充足的熵。但如果攻擊者掌握隨機數生成器的運行邏輯,就有可能逆向推導整個生成流程。
手動擲骰子能為用戶提供一套隨機源,隨機性直觀可控,且獨立於廠商編寫的代碼之外。
比特幣錢包安全潛藏的薄弱環節
Coldcard 种子生成存在隱藏的安全風險。攻擊者可在設備外部生成候選種子,轉換為公鑰地址,並與比特幣公共賬本上的地址交易記錄進行匹配篩查,以此實施攻擊。
漏洞的技術根源小到令人後怕。2021 年 3 月 1 日的一次程式碼改動,將 Coldcard 的種子生成功能遷移至全新程式碼庫。量產固件中將配置項 MICROPY_HW_ENABLE_RNG 設為 0,代表硬體隨機發生器被禁用;但程式碼整合邏輯僅檢查該配置項是否存在,並未讀取配置數值。只要這個配置項存在,系統就會放棄硬體隨機發生器,轉而啟用 MicroPython 中確定性演算法 Yasmarang 作為備用方案。根據 Block 聯合分析報告,這套存在缺陷的邏輯隨 4.0.0 版本固件,在 3 月 17 日正式對外發布。
生成的助記詞外觀毫無異常,背後可供窮舉的搜索空間卻被急劇壓縮。根據 Coinkite 初步測算,受影響的 Mk2、Mk3 型號種子有效搜索空間僅約 40 比特;受影響的 Mk4、Mk5 以及 Q 系列型號種子有效搜索空間約 72 比特。
Block 團隊針對後續機型單獨提出限制條件:當備用算法狀態與調用歷史固定時,最多僅存在 2^32 條可區分的隨機流。Coinkite 提供的數據估算了攻擊者能夠遍歷的有效搜索範圍。
兩份分析報告均證實,固件修復前的後期機型全部處於風險範圍內。Coinkite 安全公告寫明:標準 5.6.0 版本、Edge 6.6.0X 版本之前的 Mk4、Mk5 固件;標準 1.5.0Q 版本、Edge 6.6.0QX 版本之前的 Q 系列固件均受影響。針對 Mk2 和 Mk3,Coinkite 列明風險版本為 4.0.1 至 4.1.9,而 Block 團隊認為漏洞自 4.0.0 版本就已經存在。對於這個存在爭議的版本邊界,建議用戶保守看待。
本次事件充分說明:僅安裝新版固件無法修復現有錢包的安全隱患。升級至修復版本,只能保障後續新生成的種子安全;所有已生成的舊種子,只會保留創建時獲得的熵值,由該種子衍生出的全部地址,共享同一個底層密鑰。
所有使用風險固件版本的用戶都應當查閱官方安全公告。除非你能確認種子由足量手動擲骰子生成,否則必須使用修復後的固件、依賴可信隨機源生成全新種子,並將資金轉移至新錢包。如果僅用舊助記詞生成新地址,原有安全缺陷會原樣保留。
比特币 Optech 於 7 月 31 日發布動態估算數據,受威脅資產規模超過 1000 枚 BTC。截至 8 月 2 日,Galaxy Research 估算,共有約 1367 枚 BTC 存於 4585 個地址中面臨風險。一名名為 Graham_Quantum 的 X 平台用戶稱,7 月 29 日已有 18.25245043 枚 BTC 從相關錢包轉出。
消息曝光後,大量用戶出於避險目的轉移資產,衍生出規模更加龐大的資金流動。漏洞消息披露之後,有 77402 枚 BTC 從舊未花費交易輸出(UTXO)池轉出。
需要區分兩類數據:

這場安全事故同時引發兩大衝擊:一是黑客盜取資產,二是規模更大的用戶主動遷移自保浪潮。
Coldcard 這起價值約 8900 萬美元的錢包漏洞,引發了自 FTX 暴雷以來最大規模的比特幣鏈上資金轉移,並嚴重干擾市場信號解讀。數萬用戶緊急轉移舊錢包內的比特幣,導致各項核心鏈上指標釋放的看跌信號難以辨別真偽。
手動擲骰子能帶來哪些改變
Coldcard 官方骰子相關文檔計算:一枚公平的六面骰子,每次獨立擲骰可產生約 2.585 比特熵。擲 50 次可產生約 129.25 比特原始熵,符合常規 128 位安全標準;擲 99 次可產生約 255.91 比特原始熵,基本達到 256 位安全標準(此數值尚未經錢包內置轉換演算法處理)。
這組數值與廣泛使用的 BIP-39 助記詞標準相符:12 個詞的助記詞編碼 128 位熵加上 4 位校驗和;24 個詞的助記詞編碼 256 位熵加上 8 位校驗和。

硬件錢包的離線隔離機制只能保護生成完成後的助記詞,無法修復生成過程中的弱隨機漏洞,需採用私密擲骰子獲取獨立熵,才能生成安全的 BIP-39 助記詞。
校驗和僅用於識別助記詞的抄寫錯誤。真正決定安全性的,是底層原始隨機數據。哈希運算與規範排版可以美化低熵輸入,但密鑰所有可能性的總空間不會擴大。那些看起來令人安心的 12 個單詞,有可能來自極小的隨機池。
手動擲骰子發揮防護作用的前提:錢包內置流程正確接納骰子生成的隨機數據。骰子本身合格,每一次擲骰真實且互不干擾,擲骰序列全程保密。重複使用擲骰規律、拍攝記錄、雲端留存序列、在聯網電腦錄入結果,都會破壞隨機性的獨立性與保密性。
針對本次 Coldcard 安全事件,Coinkite 表示:只有用戶能夠證實最終種子生成時,至少進行了 50 次公平、獨立且保密的擲骰子操作,才可以不遷移資產;凡是存在不確定情況,官方都建議遷移資金。
對我而言,手動骰子的核心價值在於:依賴設備內置的隨機數,意味著你必須無條件信任硬體、固件、編譯流程和整合代碼的整個鏈路。
規範的骰子錄入流程,能引入脫離這條信任鏈路、由用戶自主掌控的熵。大約 50 次公平擲骰子對應 128 位安全等級,99 次對應 256 位安全等級。但用戶必須嚴格遵循設備官方操作流程,不要自行設計隨機數轉換方案。
設定高強度、獨一無二的 BIP-39 通行密碼,能從另一個維度提升攻擊門檻。通行密碼相當於獨立密鑰;即使攻擊者取得助記詞,仍需破解通行密碼才能動用資產。注意:助記詞本身的熵值不會因添加通行密碼而提升。任何通行密碼(即使僅輸錯一個字符)都會衍生出一組合法錢包地址,一旦通行密碼遺失,資產將永久鎖定。硬體錢包 PIN 碼的作用與通行密碼完全不同。
啟用通行密碼本身存在取捨:如果你能妥善保管並精準重現通行密碼,它將構築一道強大的第二道防線;但如果備份方案不完善,此功能反而會導致你完全無法存取資產。
弱隨機性隱患反覆出現
Coldcard 漏洞再次警示所有人:比特幣錢包的安全根基,是種子生成瞬間具備充足的強隨機性。同類底層缺陷,曾經在多款不同錢包產品上接連爆發。
2023 年,Ledger Donjon 公開披露:特定版本的 Trust Wallet 瀏覽器擴展在 WebAssembly 執行路徑中,使用基於 32 位梅森旋轉算法生成隨機種子。此類看似正常的助記詞,全部源自約 40 億組初始值。風險範圍明確:搭載 3.1.1 版本之前 Trust Wallet Core 的瀏覽器擴展 0.0.172 至 0.0.182 版本。美國國家漏洞資料庫記錄,該漏洞分別於 2022 年 12 月、2023 年 3 月遭到利用。
「Milk Sad 漏洞」事件直觀展現了此類風險。Libbitcoin Explorer 3.x 的 bx seed 命令採用基於系統時間播种的 32 位梅森旋轉算法;在相同時鐘條件下,軟件有可能生成一模一樣的助記詞。攻擊者只要大致掌握種子創建時間,窮舉範圍就會遠小於助記詞表面暗示的空間。
研究人員在風險區間內找到超過 2600 個仍在活躍使用的比特幣錢包;按照 2023 年 8 月行情估算,多條公鏈上相關被盜資產價值超 90 萬美元。其中 2550 個以上錢包表現出自動化操作特徵,極有可能歸屬同一持有者。研究人員同時指出,部分資產被盜事件或許疊加了其他安全漏洞。
此類漏洞每次登場都披著不同的外衣:Coldcard 因意外觸發固件備用隨機算法;Trust Wallet 瀏覽器擴展和 Libbitcoin 命令行工具則因依賴系統時鐘產生弱隨機數。最終生成的錢包密鑰看似毫無破綻,但可供遍歷的密鑰池規模小到足以帶來致命風險。
市面上絕大多數比特幣託管建議,都是在種子生成之後展開:離線保存助記詞、使用耐用備份載體、權限隔離、測試恢復流程。這些措施依然具備價值。但 Coldcard 的事故提醒我們,安全防線需要往前推進一步。
空氣隔離只能保護你已經錄入設備的密鑰。正因如此,比特幣錢包的安全必須始於可信的隨機源。

