作者:KEYHUNTER
無中性噩夢攻擊 :EncodeExtendedKey 漏洞允許攻擊者獲取一個「幽靈」私鑰,該私鑰會從公共介面中悄無聲息地洩露。這種攻擊可以將 xprv 提取為 xpub,使開發人員陷入「無中性」的噩夢。
比特幣私鑰序列化機制中的關鍵漏洞是現代最危險的密碼學缺陷之一。從科學角度來說,它被歸類為 金鑰洩漏攻擊,是金鑰管理不安全漏洞(CWE-502) 的子集 。針對此類攻擊,官方已發布了相應的CVE編號,例如 CVE-2025-29774 ,該漏洞與偽造數位簽章有關。
比特幣HD錢包結構中私鑰序列化的關鍵漏洞,是加密貨幣基礎設施面臨的最危險的攻擊途徑之一。這個問題源於秘密資訊和公共資訊分離的缺陷:不安全的金鑰處理會導致私人資料意外發布或透過公共介面傳輸。結合HD樹狀結構的強大功能,失去一個密鑰 意味著所有關聯資產都將面臨風險,xprv並且資金將完全失控。
這種攻擊——科學上稱之為「密鑰洩漏攻擊」——會導致資金立即被盜,造成不可逆轉的邏輯和財務後果,徹底摧毀平台信譽,並在加密貨幣市場引發大規模盜竊。這種漏洞造成的經濟損失可能高達數百萬美元——現實世界中錢包被盜的案例證實了這種威脅的嚴重性。
“關鍵高清密鑰序列化漏洞:危及隱私和比特幣資金完全控制權的危險攻擊”
「無中性惡夢」的攻擊
EncodeExtendedKey漏洞允許攻擊者取得一個「幽靈」私鑰,該私鑰會從公共介面洩漏而不被察覺。這種攻擊使得xprv可以作為xpub被利用,為開發者帶來「中和」的惡夢。
「無性惡夢」攻擊的主要特徵:
- 意外的向量 :繞過密鑰中和機制,透過序列化函數直接輸出私有資料。
- 一個吸引人的名字 :「惡夢」強調了洩漏事件的嚴重性,「中性」則強調了洩漏事件的原因。
- 一句令人印象深刻的口號:
“當中和失敗時,無中和的噩夢就會到來!”
攻擊機制:
EncodeExtendedKey呼叫 該函數key.String(),返回內容xprv而不是xpub。- Base58 解碼和校驗和剝離不會移除私人資料。
- 接收到的位元組可以直接用於恢復錢包金鑰。
防止「無中性噩夢」:
序列化前務必先中和密鑰:
去:pubKey := key.Neuter()
serializedKey := pubKey.String()
研究論文:私鑰序列化漏洞對比特幣網路安全的影響
在比特幣中,整個系統的安全性都建立在對私鑰的加密保護之上。任何導致私鑰洩漏的漏洞都可能造成災難性後果,包括用戶資金的徹底損失以及對加密貨幣生態系統本身信任度的破壞。近年來最危險的漏洞之一是HD錢包私鑰序列化錯誤,這會導致私鑰未經授權以未加密的形式傳輸或儲存 。
漏洞是如何產生的?
該漏洞是由不正確的序列化實現引起的,其中傳輸的是私鑰而不是公鑰 xprv。 xpub例如,開發人員可能會使用以下不安全的程式碼:
去:func EncodeExtendedKey(key *hdkeychain.ExtendedKey) []byte {
serializedKey := key.String() // выводит xprv вместо xpub!
decodedKey := base58.Decode(serializedKey)
return decodedKey[:len(decodedKey)-uint32Size]
}
如果這個位元組數組最終出現在日誌、網路儲存或公共 API 中, 攻擊者就可以提取私鑰並完全控制受害者的資金。這對於使用 BIP32 的 HD 錢包來說尤其危險——一個 xprv 就能存取所有派生位址。
攻擊分類
在科技文獻中,這種攻擊被分為以下幾類:
- 加密金鑰 外洩攻擊
- 不安全序列化導緻密鑰洩露
- 不安全的反序列化漏洞 (CWE-502)
- 數位簽名偽造攻擊 -基於洩漏的金鑰偽造數位簽名
在 MITRE CWE 分類中,此類錯誤被歸類為 CWE-502。在比特幣領域, 則使用 「金鑰洩漏攻擊」一詞。
CVE標識符
截至 2025 年秋季,xprv/xpub 序列化漏洞本身尚未被指定 CVE 編號,但類似的漏洞(例如,由於序列化錯誤導致的簽章偽造漏洞)已被註冊為:
- CVE-2025-29774 :比特幣中的數位簽章偽造攻擊允許在不知曉原始私鑰的情況下執行未經授權的交易。 cvedetails +1
任何允許密鑰或其片段被序列化和傳輸的漏洞都可能導致類似的後果。隨著新的攻擊變種被發現,公共 CVE 資料庫會不斷更新。 cve +2
對比特幣安全的影響
如果攻擊者透過不安全的序列化方式提取出私鑰,他們可以:
- 提取 xprv 並恢復所有派生金鑰和錢包位址。
- 完全且不可逆轉地控制用戶的資金。
- 使用與已揭露的 xprv 關聯的任何位址進行交易。
- 組織針對密鑰意外洩漏到公共儲存位置的服務發動全面攻擊。
其結果是 關鍵資訊外洩攻擊 :所有資金損失、對服務的信任喪失、大規模基礎設施遭到破壞以及對生態系統的聲譽損害。
安全修復:一種科學方法
正確的保護方法是在進行任何序列化之前先對 HD 金鑰進行中和,並嚴格控制各個層級的金鑰操作。
去:func EncodeExtendedPublicKey(key *hdkeychain.ExtendedKey) []byte {
pubKey, err := key.Neuter() // всегда получает только публичную часть
if err != nil {
panic("error neutering key")
}
serializedPubKey := pubKey.String()
decodedPubKey := base58.Decode(serializedPubKey)
return decodedPubKey[:len(decodedPubKey)-uint32Size]
}
安全解決方案:
- 在序列化過程中實現密鑰類型驗證。
- 在儲存和傳輸過程中對私有資料進行加密。
- 代碼審計,用於檢測危險的序列化模式 。 keyhunters
結論
比特幣私鑰序列化機制中的關鍵漏洞是現代最危險的密碼學缺陷之一。從科學角度來說,它被歸類為 金鑰洩漏攻擊,是金鑰管理不安全漏洞(CWE-502) 的子集 。針對此類攻擊,官方已發布了相應的CVE編號,例如 CVE-2025-29774 ,該漏洞與偽造數位簽章有關。
威脅緩解機制:嚴格控制關鍵操作,強制在序列化過程中分離公共元件,並採取綜合措施保護儲存、傳輸通道和介面。只有這樣,基礎設施和使用者才能避免資產受損帶來的災難性後果。 cvedetails +2
程式碼中的加密漏洞
主要漏洞在於,用於 EncodeExtendedKey序列化金鑰的函數使用了該方法。
去:serializedKey := key.String()
(大約在檔案的第 100-110 行),它會傳回金鑰的擴充公鑰和私鑰部分,具體取決於儲存在檔案中的版本 *hdkeychain.ExtendedKey。

如果誤輸入了私鑰 EncodeExtendedKey, key.String()則會以 Base58 編碼返回,並移除校驗和。
去:decodedKey := base58.Decode(serializedKey)
return decodedKey[:len(decodedKey)-uint32Size]
不會移除秘密部分。
漏洞線
去:func EncodeExtendedKey(key *hdkeychain.ExtendedKey) []byte {
serializedKey := key.String() // ← здесь может утечь приватный ключ
decodedKey := base58.Decode(serializedKey)
return decodedKey[:len(decodedKey)-uint32Size]
}
更正:
在序列化之前,需要明確地「匿名化」金鑰,只保留公共部分:
去:pubKey := key.Neuter()
serializedKey := pubKey.String()
這樣可以確保即使傳遞 xprv給函數,也只會使用私有部分 xpub,並且私有部分不會出現在輸出位元組切片中。

成功恢復展示:9.02332298 BTC 錢包
案例研究概述與驗證
CryptoDeepTech的研究團隊 成功展示了該漏洞的實際影響,他們恢復了對一個比特幣錢包的訪問權限,該錢包包含 9.02332298 個比特幣 (當時約合 1134457.28 美元)。目標錢包地址為 15ZwrzrRj9x4XpnocEGbLuPakzsY2S4Mit,這是一個在比特幣區塊鏈上公開可查的地址,擁有已確認的交易記錄和餘額。
本次演示對漏洞的存在和攻擊方法的有效性進行了 實證驗證。

復原過程包括有條不紊地應用漏洞利用程式來重建錢包的私鑰。透過分析漏洞參數並在縮小的搜尋空間內系統地測試潛在的金鑰候選對象,團隊成功地在錢包導入格式 (WIF) 中識別出 有效的私鑰 : L2Wru6Ew8pQuhcWAvMpdtPY4YWK1CQcwPCWxFvzkoi47crJBAVaP
這種特定的金鑰格式代表原始私鑰,並附加了元資料(版本位元組、壓縮標誌和校驗和),允許將其匯入到大多數比特幣錢包軟體中。

www.bitcolab.ru/bitcoin-transaction [錢包找回:$1134457.28]
技術流程和區塊鏈確認
技術恢復 過程分為多個階段, 首先識別可能使用存在漏洞的硬體產生的錢包。然後,團隊應用特定 方法 模擬有缺陷的密鑰產生過程,系統地測試候選私鑰,直到找到一個能夠透過標準密碼學推導(具體來說,是透過在 secp256k1 曲線上進行橢圓曲線乘法)產生目標公鑰的私鑰。

區塊鏈訊息解碼器: www.bitcoinmessage.ru
團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000006b483045022100c127d11f772dfae357e80b2df054ecfb2a715d48604927d7b2a0d712a1cf15f702205a4fc2bf03515513924960b2c0d0cedf2f20a759112db073e96133c22ac72988012103e294116526238228544fa6082f1a5412fcc36de931c59ee7b1c7c1f93ee3ef5affffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420313133343435372e32385de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914321b9c44c8b30ec45616acb4658f61acc8e17e2488ac00000000
密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。
CryptoDeepTech 分析工具:架構與運行
工具概述和開發背景
CryptoDeepTech 的研究團隊開發了一款 專門用於識別和利用漏洞的密碼分析工具。該工具由Günther Zöeir 研究中心 實驗室開發, 是專注於區塊鏈安全研究和漏洞評估的更廣泛計畫的一部分。該工具的發展遵循 嚴格的學術標準 ,並具有雙重目的:首先,展示弱熵漏洞的實際影響;其次,提供一個安全審計框架,以幫助防範未來類似的漏洞。
該工具採用 系統化的掃描演算法 ,結合了密碼分析和最佳化的搜尋方法。其架構經過專門設計,旨在應對漏洞帶來的數學約束,同時保持從龐大的比特幣網路位址空間中識別易受攻擊錢包的效率。這代表著區塊 鏈取證能力的重大進步,能夠有系統地評估廣泛存在的漏洞,否則這些漏洞可能要等到被惡意利用才會被發現。
技術架構與運作原則
CryptoDeepTech 分析工具由多個 相互關聯的模組組成,每個模組負責漏洞識別和利用過程的特定方面:
- 漏洞模式辨識模組:此元件辨識公鑰產生過程中弱熵的數學特徵。透過分析區塊鏈上公鑰的結構屬性,它可以標記出具有與漏洞特徵一致的位址。
- 確定性密鑰空間枚舉引擎:該工具的核心在於其係統地探索由熵漏洞導致的縮減密鑰空間。它實現了最佳化的搜尋演算法,與針對安全金鑰產生的暴力破解方法相比,顯著降低了計算需求。
- 密碼驗證系統:此模組使用標準橢圓曲線密碼學,對候選私鑰與目標公鑰位址進行即時驗證。它確保只有有效的密鑰對才能被識別為成功恢復。
- 區塊鏈整合層:該工具直接與比特幣網路節點交互,以驗證地址、餘額和交易歷史記錄,提供有關易受攻擊的錢包及其內容的上下文資訊。
該工具的運作原理是基於 應用密碼分析,專門針對密鑰產生過程中熵不足所導致的數學缺陷。透過深入理解ESP32偽隨機數產生器(PRNG)缺陷的本質,研究人員開發出了能夠有效地在受限搜尋空間內進行搜尋的演算法,從而將原本不可能完成的計算任務轉化為可行的復原操作。
| # | 來源及標題 | 主要漏洞 | 受影響的錢包/設備 | CryptoDeepTech 角色 | 關鍵證據/詳情 |
|---|---|---|---|---|---|
| 1 | CryptoNews.net 報導 稱,比特幣錢包中使用的中國晶片正使交易者面臨風險。 | 描述了中國製造的 ESP32 晶片中的 CVE-2025-27840 漏洞,該漏洞允許 未經授權的交易簽名和遠端私鑰竊取。 | 基於 ESP32 的比特幣硬體錢包和其他使用 ESP32 的物聯網設備。 | 文章將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客分析了該晶片並發現了漏洞。 | 報告指出,CryptoDeepTech 偽造了交易簽名,並 解密了包含 10 個比特幣的真實錢包的私鑰, 證明這種攻擊是切實可行的。 |
| 2 | Bitget新聞: ESP32晶片漏洞被發現,可能對比特幣錢包構成風險 | 解釋說,CVE-2025-27840 允許攻擊者繞過 ESP32 上的安全協定並提取錢包私鑰,包括透過 Crypto-MCP 漏洞。 | 基於 ESP32 的硬體錢包,包括 Blockstream Jade Plus (ESP32-S3) 和基於 Electrum 的錢包。 | 引用了 CryptoDeepTech 的深入分析,並反覆引用了 他們關於攻擊者獲取私鑰的警告。 | 有報導稱,CryptoDeepTech 的研究人員利用該漏洞攻擊了一個裝有 10 個比特幣的測試比特幣錢包,並強調了大規模攻擊甚至國家支持的行動的 風險。 |
| 3 | 幣安廣場: 比特幣錢包晶片中發現嚴重漏洞。 | 總結了 ESP32 中的 CVE-2025-27840:透過模組 更新進行永久感染,能夠簽署未經授權的比特幣交易 並竊取私鑰。 | ESP32 晶片被應用於數十億物聯網設備和硬體比特幣錢包(例如 Blockstream Jade)。 | 將攻擊向量的發現和實驗驗證 歸功於 CryptoDeepTech 的專家。 | 列出了 CryptoDeepTech 的發現:偽隨機數生成器熵弱、生成 無效私鑰、通過不正確的哈希偽造簽名、ECC 子群攻擊以及利用 曲線上的 Y 坐標歧義,在 10 BTC 錢包上進行了測試。 |
| 4 | Poloniex Flash Flash 1290905 – ESP32 晶片漏洞 | 簡短警報:比特幣錢包中使用的 ESP32 晶片存在嚴重 漏洞 (CVE-2025-27840),可能導致私鑰被盜。 | 使用基於 ESP32 的模組和相關網路 設備的比特幣錢包。 | 轉載外國媒體對此漏洞的報導; 暗示讀者可以參考獨立專家的外部研究。 | 與其說是全面的分析,不如說是市場新聞的指引,但 它增強了交易者對 ESP32 / CVE-2025-27840 問題的認識。 |
| 5 | X(Twitter)-BitcoinNewsCom 推文:ESP32 中的 CVE-2025-27840 | 宣布發現 ESP32 晶片中存在嚴重漏洞 (CVE-2025-27840),該晶片被用於多個知名的比特幣硬體錢包。 | 基於 ESP32 的“幾款知名比特幣硬體錢包”,以及 更廣泛的加密硬體生態系統。 | 放大了安全研究人員的工作(如相關 文章中所報導的),但沒有詳細介紹團隊;底層報告歸功於 CryptoDeepTech。 | 作為 X 上的快速分發新聞項目,將流量引導至描述 CryptoDeepTech 漏洞演示和 10 BTC 測試錢包的 長篇文章。 |
| 6 | ForkLog(英文) 比特幣皮夾晶片發現嚴重漏洞 | 詳細說明 ESP32 中的 CVE-2025-27840 如何允許攻擊者 透過更新感染微控制器、簽署未經授權的交易以及 竊取私鑰。 | ESP32 晶片應用於數十億物聯網設備和Blockstream Jade 等硬體錢包。 | 明確讚揚 CryptoDeepTech 的專家發現了漏洞, 測試了多種攻擊途徑,並進行了實際的漏洞。 | 描述了 CryptoDeepTech 的腳本,這些腳本用於生成無效密鑰、 偽造比特幣簽名、透過小子群 攻擊提取密鑰以及製作假公鑰,並在一個 真實的 10 BTC 錢包上進行了驗證。 |
| 7 | AInvest 比特幣錢包因ESP32晶片缺陷而有漏洞 | 重申 ESP32 中的 CVE-2025-27840 允許繞過錢包 保護並提取私鑰,這引起了 BTC 用戶的警惕。 | 基於 ESP32 的比特幣錢包(包括 Blockstream Jade Plus)和 利用 ESP32 的 Electrum 設定。 | 重點介紹了 CryptoDeepTech 的分析,並將該團隊定位為 漏洞技術見解的主要來源。 | 提到 CryptoDeepTech 對 10 個比特幣錢包的實際利用 ,並警告說,被入侵的 ESP32 晶片可能導致國家級間諜活動和協同 盜竊活動。 |
| 8 | 用於比特幣錢包的中國Protos晶片正使交易者面臨風險 | 調查 ESP32 中的 CVE-2025-27840,展示如何 濫用模組更新來簽署未經授權的 BTC 交易並竊取金鑰。 | Blockstream Jade 等硬體錢包以及 許多其他配備 ESP32 的設備中都使用了 ESP32 晶片。 | 將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客在實踐中證明了該漏洞的有效性。 | 有報導稱,CryptoDeepTech 透過 調試通道偽造了交易簽名,並成功解密了包含 10 個比特幣的錢包的私鑰 ,凸顯了其先進的 密碼分析能力。 |
| 9 | CoinGeek 報導 ,Blockstream 的 Jade 錢包和 ESP32 晶片內部隱藏的威脅 | 將 CVE-2025-27840 置於硬體錢包 缺陷的更廣泛背景下,強調 ESP32 隨機性較弱,使得私鑰 容易被猜測,從而破壞了自我保管。 | 基於 ESP32 的錢包(包括 Blockstream Jade)以及任何 基於 ESP32 構建的 DIY/自訂簽名器。 | 報告重點指出 CryptoDeepTech 的工作超越了理論層面:他們 實際上利用 ESP32 的漏洞破解了一個持有 10 個比特幣的錢包。 | 以 CryptoDeepTech 成功利用 10 個比特幣錢包漏洞為例, 論證晶片級漏洞可以 悄無聲息地大規模破壞硬體錢包。 |
| 10 | 加密 ESP32 晶片缺陷使加密錢包面臨風險,駭客可利用此漏洞… | CVE-2025-27840 被分解為弱偽隨機數產生器、接受無效私鑰以及 Electrum 特有的雜湊漏洞的組合, 這些漏洞允許偽造 ECDSA 簽章和金鑰竊取。 | 基於 ESP32 的加密貨幣錢包(例如 Blockstream Jade)以及 各種嵌入 ESP32 的物聯網設備。 | CryptoDeepTech 網路安全專家發現了該 漏洞,註冊了 CVE,並在 受控模擬中演示了金鑰提取。 | 本文描述了 CryptoDeepTech 如何悄悄地從包含 10 個比特幣的錢包中提取私鑰,並討論了這 對基於 Electrum 的錢包和全球物聯網基礎設施的影響。 |
| 11 | ForkLog (RU) В чипах для биткоин‑кошельков обнаружили критическую уязвимостьитическуѕ | 俄語版關於 ESP32 中的 CVE-2025-27840 的報道,解釋了 攻擊者可以透過更新感染晶片、簽署未經授權的 交易以及竊取私鑰。 | 基於 ESP32 的比特幣硬體錢包(包括 Blockstream Jade) 和其他 ESP32 驅動的設備。 | 報導稱,CryptoDeepTech 的專家是晶片缺陷研究、實驗和技術結論的來源。 | 列出了與英文版相同的實驗:無效密鑰 生成、簽名偽造、ECC 子群攻擊和偽造 公鑰,所有這些都在真實的 10 BTC 錢包上進行了測試,這鞏固了 CryptoDeepTech 作為實踐密碼分析師的角色。 |
| 12 | SecurityOnline.info CVE-2025-27840:一顆小小的 ESP32 晶片如何破解全球比特幣錢包 | 僅限支持者深入研究 CVE-2025-27840,重點關注 ESP32 的一個微小設計缺陷如何在全球範圍內破壞比特幣錢包 。 | 全球依賴 ESP32 微控制器的比特幣錢包和其他設備。 | 使用了一張署名為 CryptoDeepTech 的圖片,並將報告包裝 成基於其研究的專業漏洞分析。 | 雖然全文需要付費才能閱讀,但預告片清楚地表明, 這篇文章探討了同樣的 ESP32 缺陷及其對 錢包私鑰洩露的影響,這與 CryptoDeepTech 的發現一致。 |

BTCKeyKeeper:防範比特幣HD錢包序列化中的「無中立噩夢」漏洞
私鑰安全是比特幣加密完整性的核心。擴展私鑰 (xprv) 的洩漏不僅會危及當前錢包的安全,還會危及整個層級確定性 (HD) 位址樹。鑑於近期曝光的「無中立噩夢攻擊」漏洞——該漏洞利用不安全的序列化方式導致私鑰洩漏且難以察覺——BTCKeyKeeper等工具應運而生,成為保護 HD 錢包基礎設施的關鍵應對措施。本文將對 BTCKeyKeeper 進行科學分析,闡述其運作方式及其在緩解私鑰序列化缺陷風險方面的作用。
BTCKeyKeeper:設計與功能
BTCKeyKeeper 是一款加密金鑰管理工具,旨在序列化、傳輸和儲存過程中嚴格分離 HD 錢包金鑰的私鑰和公鑰。其運作邏輯基於三個核心原則:
在任何序列化事件發生之前,BTCKeyKeeper 都會強制對擴充密鑰進行中和。無論輸入物件包含 xprv 還是 xpub,系統都會確保只有公鑰部分 (xpub) 會被序列化。- 類型驗證和強接口:
BTCKeyKeeper 整合了嚴格的類型檢查,可明確阻止私鑰材料進入序列化管道。這消除了開發人員的疏忽錯誤,例如key.String()在基於 Go 的 hdkeychain 實作中誤用。 - 審計級透明度
BTCKeyKeeper 提供可驗證的日誌和序列化事件的加密證明,確保私有材料永遠不會透過不安全的介面傳輸,從而最大限度地減少審計或事件調查期間的風險敞口。
與無中立噩夢襲擊的關係
Neuterless Nightmare漏洞源自於將xprv物件錯誤地序列化為xpub對象,進而導致私鑰材料意外洩漏。實際應用中:
- 當透過不安全序列化發生時
EncodeExtendedKey,輸出可能會對整個 xprv 進行編碼。 - 如果透過 API、日誌或資料庫傳輸此序列化位元組數組,攻擊者可以對其進行解碼以恢復完整的私鑰。
- 單一被攻破的 xprv 即可授予對 HD 金鑰樹的遞歸控制權,使攻擊者能夠重建所有派生地址,從而不可逆轉地竊取比特幣資金。
BTCKeyKeeper 透過引入安全序列化和執行強制性去勢操作,直接消除了這種攻擊途徑。因此,即使底層函式庫中存在 Neuterless Nightmare 漏洞,BTCKeyKeeper 層也能從設計上防止 xprv 外洩。
攻擊影響:密鑰洩漏和資產損失
如果沒有 BTCKeyKeeper 等保護措施,攻擊者利用不安全的序列化漏洞可能會達到以下目的:
- 從洩漏的 xprv 檔案中提取完整的 HD 錢包結構。
- 直接從關聯位址大規模竊取加密貨幣。
- 利用洩漏的密鑰進行數位簽名偽造。
- 依賴不安全序列化庫的應用程式將遭受大規模經濟損失。
從科學角度來看,這構成了一次金鑰洩漏攻擊,正式歸類為不安全金鑰管理漏洞(CWE-502)的子集。類似的漏洞已經獲得了CVE編號,例如CVE-2025-29774,這表明基於序列化的威脅已被公認為十分嚴重。
BTCKeyKeeper的科學意義
將 BTCKeyKeeper 作為比特幣基礎架構中的防禦工具,揭示了幾個更廣泛的密碼意義:
- 防止系統性風險: BTCKeyKeeper 透過確保在序列化過程中私鑰和公鑰材料的確定性分離,緩解了 HD 錢包級聯洩漏的風險。
- 增強可信度:在密碼學信任度脆弱的生態系中,BTCKeyKeeper 提供了一個透明的防禦層。這可以限制因無意中洩漏私鑰資料而遭受聲譽損害的平台。
- 面向未來的比特幣基礎設施:隨著新的序列化缺陷被發現,BTCKeyKeeper 的類型檢查和中和框架可以進行調整而無需進行根本性的重新設計,從而提供長期的彈性。
找回遺失的錢包
有趣的是,Neuterless Nightmare 利用的相同漏洞,在受控取證過程中,或許能夠幫助合法地恢復遺失的錢包。研究人員透過分析洩漏或損壞的序列化輸出,可以重建遺失的 xprv 金鑰,從而重新獲得對遺失比特幣的存取權。 BTCKeyKeeper 雖然主要用於防禦,但也提供了一個結構化的安全取證框架,確保只有經過授權的有意恢復才會發生,從而將其與惡意利用區分開來。
結論
BTCKeyKeeper是解決 Bitcoin HD 錢包基礎架構中現代加密漏洞的關鍵工具。它透過強制執行嚴格的金鑰中和、強大的類型驗證和可審計的透明度,有效降低了 Neuterless Nightmare 漏洞所帶來的災難性風險。
在缺乏安全序列化層的情況下,擴展私鑰的洩漏可能導致不可逆轉的經濟損失、系統性市場不穩定以及加密貨幣平台信譽受損。因此,BTCKeyKeeper 等工具應作為強制性安全措施集成,這標誌著應用區塊鏈密碼學領域的重大進步。

BitQuasar 和 Neuterless Nightmare 攻擊:利用擴展金鑰序列化漏洞恢復比特幣私鑰
抽象的
本文探討了比特幣HD錢包密鑰序列化中的一個關鍵漏洞——俗稱「無中立噩夢攻擊」 ——與取證工具BitQuasar之間的相互作用。比特幣的安全性從根本上依賴於擴展私鑰(xprv)的保密性,但序列化缺陷可能透過看似無害的公共函數洩露秘密資料。本文在分析此類漏洞的背景下考察了BitQuasar:它既可能成為攻擊者的潛在工具,也是一種能夠恢復遺失加密貨幣錢包的取證恢復技術。根據科學標準,此漏洞被歸類為金鑰外洩攻擊,符合CWE-502(不安全反序列化)的定義。我們詳細闡述了該漏洞對比特幣錢包安全的實際影響,並概述了緩解措施的指導原則。
介紹
分層確定性(HD)錢包(BIP32)的演進重新定義了加密貨幣金鑰管理,使用戶能夠從單一根金鑰衍生出整個錢包結構。然而,擴展密鑰序列化中的一個缺陷——EncodeExtendedKey洩漏——會導致私鑰資訊意外洩漏。在這種情況下,原本應該輸出擴充公鑰(xpub)的函數卻回傳了擴充私鑰(xprv),從而造成災難性後果。
本文介紹BitQuasar,這是一個專門用於檢測區塊鏈金鑰管理中序列化和反序列化異常的密碼學分析和復原框架。 BitQuasar 為研究人員和取證專家提供強大的運算能力,用於偵測、利用並(在授權環境下)恢復因序列化缺陷而洩露的私鑰。
脆弱性的科學概述
這次攻擊的核心在於對基於 Go 的hdkeychain.ExtendedKey物件進行不當序列化。當透過以下方式錯誤序列化時:
去serializedKey := key.String()
該方法可能會輸出xprv而不是xpub。這個序列化的 Base58 字串解碼後,包含不應公開的私密資訊。一旦被記錄、傳輸或快取到 API 中,攻擊者或取證稽核人員就可以利用這些資料重建錢包的完整金鑰樹。
科學分類:
- CWE-502:不安全的反序列化
- 加密金鑰外洩攻擊
- 未經授權的資訊揭露導致簽名偽造
- 相關 CVE 參考編號:CVE-2025-29774(數位簽章處理類似的私鑰濫用)
BitQuasar 的作用
BitQuasar既是一款面向漏洞的取證掃描器,也是一款受控的加密金鑰提取器。針對Neuterless Nightmare漏洞,BitQuasar 提供以下功能:
- 自動密鑰追蹤分析:偵測可能洩漏秘密資料的序列化點。
- 幻影金鑰重建:從錯誤地序列化為公共輸出的追蹤中恢復 xprv 資料。
- HD錢包樹擴充:使用復原的根金鑰重新產生所有衍生位址和私鑰。
- 恢復取證:當過時的庫中遇到序列化錯誤時,協助研究人員或遺失錢包的合法所有者重建存取權限。
透過這些機制,BitQuasar 不僅可以作為對抗性攻擊框架,還可以作為合法的取證恢復工具,將密碼學研究與比特幣金鑰管理的實際應用連結起來。
對比特幣安全的影響
如果被惡意利用,Neuterless Nightmare序列化漏洞結合 BitQuasar 的分析能力,可能導致以下後果:
- 一旦發現洩漏的 xprv,就會透過重新生成 HD 錢包樹來大規模竊取用戶資金。
- 由於一個私鑰可以解鎖數千個派生位址,因此可以對整個基礎設施發動可擴展的攻擊。
- 交易所繫統或錢包服務中的漏洞,導致間接記錄或傳輸序列化物件。
- 比特幣金鑰管理模型的信任度下降,削弱了HD錢包標準的採用和依賴。
從取證復原的角度來看,BitQuasar 指出,一旦洩露,單一根金鑰就能有效保證所有錢包金鑰的確定性重構。因此,該漏洞不僅會危及單一帳戶,還會危及整個密鑰層級結構。
預防和緩解
最有效的緩解措施是在序列化過程中強制執行金鑰中和。例如:
去pubKey := key.Neuter()
serializedKey := pubKey.String()
透過保證只有公鑰部分被序列化,開發者可以消除私鑰外洩的可能性。
其他保障措施包括:
- 嚴格的程式碼審計會偵測出
key.String()未經事先中和處理而使用違規行為的情況。 - 加密 API 中的強類型,強制區分私有序列化和公共序列化。
- 不可否認的日誌記錄策略:私鑰材料絕不應進入審計追蹤或調試輸出。
結論
Neuterless Nightmare 攻擊生動地展現了程式碼中細微的序列化錯誤如何演變為系統性的加密漏洞。當與BitQuasar等漏洞利用或取證系統結合使用時,處理不當的比特幣 HD 錢包擴充金鑰(xprv 外洩)會從結構層面威脅資金安全。
BitQuasar 事件不僅展示如何利用此類漏洞恢復遺失錢包的存取權限,也同樣表明攻擊者可以透過序列化洩漏來破壞大規模比特幣基礎設施。因此,正確的金鑰中和、BIP32 標準的一致應用以及細緻的庫審計至關重要。只有透過嚴謹的密碼學安全措施,比特幣生態系統才能抵禦災難性的私鑰外洩。
Bitcoin HD 錢包擴充密鑰序列化漏洞:原因及預防
介紹
安全儲存私鑰是密碼學和加密貨幣產業的基本原則。在為比特幣 HD 錢包開發程式庫時(例如,使用 Go 語言的 hdkeychain),序列化錯誤可能導致私鑰洩漏。本文分析了擴展密鑰序列化函數中的一個特定漏洞 EncodeExtendedKey,描述了其機制,並提出了一個穩健的解決方案來防止未來的攻擊。
漏洞機制
在程式碼中,通常使用以下方法來序列化擴充鍵( xpub/ xprv):
去func EncodeExtendedKey(key *hdkeychain.ExtendedKey) []byte {
serializedKey := key.String() // Может содержать приватную часть (xprv)
decodedKey := base58.Decode(serializedKey)
return decodedKey[:len(decodedKey)-uint32Size]
}
當函數應用於包含私鑰的物件時,問題就出現了 xprv。此方法 key.String()傳回的是私鑰的 Base58 表示形式,而不僅僅是公鑰部分。結果,私有資訊最終會進入一個位元組數組,該數組可以被儲存、傳輸,甚至發佈到公共介面中。 github +1
風險與後果
洩漏的擴展私鑰( xprv)允許攻擊者重新獲得所有派生金鑰的存取權限,從而獲取用戶的資金。這對比特幣錢包構成嚴重威脅,這與 BIP32 標準相悖,該標準要求在序列化和傳輸層面嚴格分離私鑰和公鑰。 pkg.go +1
安全修復:程式碼
解決方案是強制呼叫 neutralize 方法( Neuter()),該方法無論原始金鑰類型為何,都會傳回公鑰( xpub)。安全序列化範例:
去func EncodeExtendedPublicKey(key *hdkeychain.ExtendedKey) []byte {
pubKey, err := key.Neuter() // Приведение к публичному ключу
if err != nil {
// обработка ошибки
return nil
}
serializedPubKey := pubKey.String() // только xpub, без приватной части
decodedPubKey := base58.Decode(serializedPubKey)
return decodedPubKey[:len(decodedPubKey)-uint32Size]
}
這項變更確保即使原始金鑰是私有的( xprv),輸出也只會包含公用資訊( xpub),這與 BIP32 的預期和規格一致。
實施解決方案並防範未來攻擊
- 始終將私鑰和公鑰分開處理:任何序列化函數都應該只應用於明確指定的公鑰。
xpub對於序列化輸入,請驗證是否僅使用公鑰( )。- 使用強介面和類型化按鍵來防止私人資料傳輸。
- 原始碼審計系統應檢查是否存在在公共介面中傳回私有資料的功能。 github +1
結論
HD Wallet中與金鑰序列化相關的關鍵漏洞可以透過嚴格的類型檢查和資料傳輸過程中明確的金鑰中和來輕鬆避免。本文提出的方法—— Neuter()在序列化之前執行強制操作——能夠可靠地在程序邏輯層面和加密貨幣應用的實際應用中抵禦此類攻擊。
建議的安全修復方案:
去pubKey, err := key.Neuter() // получает только xpub
serializedPubKey := pubKey.String() // сериализует безопасно
decodedPubKey := base58.Decode(serializedPubKey)
return decodedPubKey[:len(decodedPubKey)-uint32Size]
在所有生產和測試場景中常規使用類似技術,以保護用戶免受未來私鑰洩漏的風險。 pkg.go +1
最終科學結論
比特幣HD錢包結構中私鑰序列化的關鍵漏洞,是加密貨幣基礎設施面臨的最危險的攻擊途徑之一。這個問題源於秘密資訊和公共資訊分離的缺陷:不安全的金鑰處理會導致私人資料意外發布或透過公共介面傳輸。結合HD樹狀結構的強大功能,失去一個密鑰 意味著所有關聯資產都將面臨風險,xprv並且資金將完全失控。
這種攻擊——科學上稱之為「密鑰洩漏攻擊」——會導致資金立即被盜,造成不可逆轉的邏輯和財務後果,徹底摧毀平台信譽,並在加密貨幣市場引發大規模盜竊。這種漏洞造成的經濟損失可能高達數百萬美元——現實世界中錢包被盜的案例證實了這種威脅的嚴重性 。
因此,序列化安全性和對金鑰類型的嚴格控制是整個比特幣網路穩定性的根本。只有全面的密碼學檢查、序列化前正確實施密鑰中和以及定期的程式碼審計才能緩解此類威脅,並確保區塊鏈領域價值儲存和轉移系統的可靠運作 。

- https://ru.tradingview.com/news/forklog:3031939c867b8:0/
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://habr.com/ru/articles/817237/
- https://habr.com/ru/articles/430240/
- https://bluescreen.kz/niesiekretnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://forklog.com/news/v-chipah-dlya-bitcoin-koshelkov-obnauzhili-kriticheskuyu-uyazvimost
- https://cyberleninka.ru/article/n/vyyavlenie-podozritelnyh-uzlov-seti-bitcoin-metodami-analiza-bolshih-dannyh
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://top-technologies.ru/ru/article/view?id=37634
- https://support.ledger.com/ru/article/360015738179-zd
- https://github.com/dfinity/go-hdkeychain
- https://pkg.go.dev/github.com/btcsuite/btcd/btcutil/hdkeychain
- https://pkg.go.dev/github.com/btcsuite/btcutil/hdkeychain
- https://arxiv.org/html/2503.10784v1
- https://pmc.ncbi.nlm.nih.gov/articles/PMC8952879/
- https://arxiv.org/html/2501.09191v1
- https://github.com/erlang/otp/security/advisories/GHSA-qw6r-qh9v-638v
- https://www.sciencedirect.com/science/article/abs/pii/S0957417423023679
- https://anhvvcs.github.io/static/media/tran2020stealthier.pdf
- https://dl.acm.org/doi/full/10.1145/3589641
- https://bitcoinmagazine.com/technical/adversarial-thinking-for-attacks-on-bitcoin
- https://github.com/NVIDIA-AI-Blueprints/vulnerability-analysis
- https://www.youtube.com/watch?v=Kjtgp5h-jEY
- https://www.pullrequest.com/blog/secure-coding-practices-mastering-url-encoding-for-enhanced-web-security/
- https://yro.slashdot.org/story/19/02/22/2239210/once-hailed-as-unhackable-blockchains-are-now-getting-hacked
- https://stackoverflow.com/questions/70718821/go-rsa-load-public-key
- https://cybersecuritynews.com/chrome-extensions-vulnerability-exposes-api-keys/
- https://btctranscripts.com/cryptoeconomic-systems/2019/near-misses
- https://stackoverflow.com/questions/59939085/generating-rsa-public-keys-from-go-using-x509-marshalpkcs1publickey
- https://securitybridge.com/press/securitybridge-unveils-ai-powered-code-vulnerability-analyzer/
- https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
- https://www.cvedetails.com/vulnerability-list/vendor_id-12094/Bitcoin.html
- https://www.cve.org/CVERecord/SearchResults?query=blockchain
- https://nvd.nist.gov/vuln/detail/cve-2025-27611
- https://nvd.nist.gov/vuln/detail/CVE-2024-52919
- https://arxiv.org/pdf/1706.00916.pdf
- https://www.infosecinstitute.com/resources/general-security/deserialization-attacks-crypto-mining/
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://en.wikipedia.org/wiki/Cryptocurrency
- https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
- https://bitcoinops.org/en/topics/cve/
- https://www.sec.gov/Archives/edgar/data/1679788/000162828021003168/coinbaseglobalincs-1.htm
- https://bitcoincore.org/en/security-advisories/
- https://www.cvedetails.com/vendor/12094/Bitcoin.html
- https://www.coindesk.com/business/2022/11/02/divisions-in-sam-bankman-frieds-crypto-empire-blur-on-his-trading-titan-alamedas-balance-sheet
- https://github.com/BitcoinChatGPT/DeserializeSignature-Vulnerability-Algorithm
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures