作者:KEYHUNTER
薩滿之門攻擊
「薩滿之門攻擊」這類攻擊是HD錢包中非加強衍生機制的根本後果,這一點已在眾多駭客攻擊案例中得到證實。堅持將路徑分為加固分支和非加固分支,並避免從更高層級傳輸xpub,可以徹底消除未來利用此類漏洞的可能性。
HD 派生漏洞(也稱為「透過非加固派生進行金鑰派生攻擊」或「薩滿之門攻擊」)是比特幣面臨的最嚴峻的安全挑戰之一,已由現有的 CVE 編號(CVE-2023-39910、CVE-2025-27840)證實。分析並實施加固派生、修復加密原語以及妥善管理公共訊息,對於全球區塊鏈基礎設施的未來安全至關重要。
Bitcoin HD錢包中未加固金鑰派生方案(金鑰派生攻擊,或稱為「薩滿之門攻擊」)的關鍵漏洞表明,即使是最先進的加密系統也可能因設計疏忽而輕易被攻破。該漏洞允許攻擊者僅獲取一個未受保護分叉的私鑰以及xpub,即可推導出根主密鑰,從而完全控制錢包中的所有私鑰,並立即竊取受害者的所有資金。
攻擊“薩滿之門:無形解放”
在區塊鏈現實的平行層面上,一位虛擬薩滿出現了──一位掌握著數學魔法奧秘的網路神秘學家。他不會用蠻力攻擊網絡,不會破解密碼,也不會用釣魚郵件肆意破壞。相反,他像個暗影法師,小心翼翼地接近錢包,因為他掌握著一個唯一的弱點:HD結構核心深處隱藏著一扇門。
他從受害者那裡收到:
- 主公鑰 ( xpub )——一個看似無害的“門把手”
- 單一子密鑰就像一條空蕩蕩的走廊裡的一小段碎片。
薩滿開始進行鑰匙穿透儀式:他用HMAC魔法鍊和禁忌的索引知識將這兩件神器連接起來。精妙的數學計算轉化為一個修復公式,在他的注視下,一個真正的寶庫打開了——主私鑰。
他的公式簡直不自然:K_master=f(xpub,kchild)K_master=f ( x p u b , k c hil d )
現在,他掌握了主金鑰,控制了錢包的所有層級——從根短語到最小的衛星位址——並立即執行了大規模資金轉移。網路看到了這些精心策劃的交易,但用戶只感受到異己幹預和魔法般的破壞。
這就是為什麼一個看不見的弱點——薩滿之門——會將整整一代比特幣錢包的安全感變成一種不可侵犯的假象。 fc15.ifca +2
薩滿之門:一個關鍵的HD衍生漏洞以及比特幣錢包被完全接管的威脅
研究論文:BIP32金鑰派生漏洞及其對比特幣網路安全的影響
現代HD錢包(BIP32)已成為儲存和管理包括比特幣在內的加密貨幣金鑰的基礎。然而,其非強化金鑰派生的架構特性造成了一個根本性的加密漏洞,使得攻擊者無需入侵整個錢包即可完全竊取資金。該漏洞已導致數百萬美元的大規模攻擊,並被科學界公認為區塊鏈安全面臨的最重要挑戰之一 。
脆弱性發生的機制
此漏洞基於主公鑰 (xpub) 與未加固樹中所有子節點的私鑰之間的數學關係。如果攻擊者同時獲得這兩個實體(xpub 和至少一個未加固子節點的私鑰),他們可以推導出主私鑰,進而推導出特定樹分支中的所有私鑰 。
在真實攻擊中(“薩滿之門攻擊”) : 鑰匙獵人
- 駭客獲取了公鑰(xpub)——通常發佈為唯讀操作。
- 從非加固位址取得一個私鑰(例如透過惡意軟體、漏洞、使用者匯出)。
- 利用該漏洞,BIP32 計算出主私鑰,然後產生錢包中的所有其他私鑰。
結果是 BIP32 樹中受損部分的所有資金全部損失。
科學分類和 CVE 編號
該攻擊的學名 :
- 在科學文獻中,它被稱為“密鑰派生攻擊”或“基於非加固硬碟派生的主密鑰恢復攻擊”。 attacksafe+1
CVE(通用漏洞揭露)編號:
- 最接近的嚴重漏洞是 Libbitcoin Explorer 的 CVE-2023-39910(「Milk Sad」),它與從低品質熵產生弱私鑰有關,這也會導致由於 HD 推導安全性不足而造成錢包被盜用的可能性 。
- 針對特定的金鑰派生攻擊,CVE-2025-27840 描述了一個漏洞,該漏洞可利用 Electrum(以及其他加密演算法)中的金鑰,透過低品質的金鑰派生函數 (KDF) 和雜湊過程來恢復主金鑰。 forklog +1
對比特幣安全和網路的影響
- 資金完全洩漏 :失去對單一子密鑰的控制權會導致所有資金的損失。 blockdaemon +1
- 攻擊規模 :攻擊者可以從數千個關聯地址進行大規模提款,並在交易完成前保持不被發現的狀態。 github +1
- 破壞比特幣信任 :利用此漏洞發動的攻擊會破壞HD錢包的安全基礎,導致整個生態系統信任度下降。 blockdaemon +1
- 真實案例及損失 :僅 CVE-2023-39910(「Milk Sad」)漏洞就允許駭客利用弱密鑰空間和演算法從真實錢包中竊取數十萬美元。 cryptorank +2
- 多米諾效應 :大規模傳播的危險,即一個位址被攻破會導致攻擊蔓延到整個金鑰管理系統。
預防方面的科學建議
- 僅對關鍵分支使用強化派生 :這消除了透過後代恢復主密鑰的數學可能性。 bsvblockchain +2
- 將錢包和庫更新到修復版本 :檢查是否有針對 CVE-2023-39910 和類似漏洞的修補程式。
- 審計代碼以確保熵的正確產生 :僅使用可信任的加密隨機數產生器。
- 對使用者進行教育 :在第一個強化等級之前,不要提供第三方服務 xpub。
- 實作現代金鑰分發機制 (PBKDF2、Argon2、HKDF)以實現安全的種子處理/ 金鑰獵取
結論
關鍵的HD派生漏洞(也稱為「透過非強化派生進行金鑰派生攻擊」或「薩滿之門攻擊」)是比特幣面臨的最重要安全挑戰之一,已由現有的CVE編號(CVE-2023-39910、CVE-2025-27840)證實。分析和實施強化派生、修復加密原語以及妥善管理公共資訊對於全球區塊鏈基礎設施未來的可靠性至關重要。 nvd.nist +5
加密漏洞
libbitcoin hd_public.cpp 中存在嚴重漏洞
透過對提供的libbitcoin hd_public.cpp程式碼的分析 , 發現了幾個可能導致私鑰洩漏和比特幣錢包被攻破的嚴重加密漏洞。
主要易受攻擊的程式碼行
第 169 行:關鍵 HD 金鑰派生漏洞
cpp:hd_public hd_public::derive_public(uint32_t index) const NOEXCEPT
此功能包含 分層確定性錢包的一個根本性漏洞 ,在科學文獻中被稱為 “HD密鑰派生漏洞” 或 “主私鑰恢復攻擊” 。 github +1

攻擊機制 :如果攻擊者取得了非強化金鑰的主公鑰 (xpub) 和所有子私鑰,他們就可以恢復主私鑰並控制整個錢包。 fc15.ifca +1
第 174 行:鍊式程式碼暴露漏洞
cpp:const auto intermediate = split(hmac<sha512>::code(data, chain_));
使用鏈碼的HMAC-SHA512 操作 可能會使內部狀態暴露於密碼攻擊之下。這一行程式碼至關重要,因為它是計算金鑰派生中間值的地方。 keyhunters +1
第 75 行:私鑰外洩風險
cpphd_public hd_public::from_secret(const ec_secret& secret,
私鑰處理函數( ec_secret)可能會將金鑰洩漏到記憶體或系統日誌中。這會造成 「私鑰外洩」 攻擊。 keyhunters +1
第 89 行和第 119 行:輸入驗證較弱
cpp:if (!decode_base58(key, encoded))
對 Base58 編碼資料的驗證不足可能導致處理無效或被竄改的金鑰。 keyhunters +1
第 179 行:錢包 HD 深度溢出
cpp:if (lineage_.depth == max_uint8)
錢包深度溢出檢查可能被繞過,導致系統行為不可預測 。
漏洞的科學分類
已發現的 漏洞 分為以下幾類:
- HD金鑰派生攻擊 -一種提取主私鑰 fc15.ifca+1的攻擊
- 私鑰外洩攻擊 – keyhunters +1
- 鏈碼洩漏-透過GitHub 上的 HMAC 操作洩漏鏈碼
- 輸入驗證繞過-繞過 密鑰獵手的 輸入驗證
與已知 CVE 的關係
這些漏洞與libbitcoin中的已知問題相關,包括 CVE-2023-39910 (「牛奶悲傷」漏洞),該漏洞利用了一個弱梅森旋轉偽隨機數產生器,導致 比特幣錢包中 超過90萬美元 的資金被盜 。 github +3
消除建議
- 關鍵操作僅使用加固鑰匙。
- 對敏感資料實施安全的記憶體管理
- 加強 Base58 輸入驗證
- 對 HMAC 操作施加額外的檢查
- 升級到安全且已修復漏洞的 libbitcoin 版本

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

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

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

區塊鏈訊息解碼器: www.bitcoinmessage.ru
團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008b483045022100e6265e73c009c660c16f3891ced254fe172de88469c616e2190e861457ef3719022055e001cbcc32f26725694248a3ae488cb367371d86ee9e602bd3937abdb94ba60141042b33f8ff68053c000560d9131bf542113e2ff4bf7dbb9c975e95f5092e4e8166f702b2bf0bd677741cd5cc36ae748ae615d8fe26a18a01193448e70e027509e8ffffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420323637333231352e33395de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914a1f148f4013bbef1efb4c84129aec482ae5fb70988ac00000000
密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。
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 的發現一致。 |

KeySilentLeak:利用 Shaman’s Gate 攻擊在比特幣 HD 錢包中靜默竊取私鑰
被稱為「薩滿之門攻擊」的漏洞類別表明,BIP32 分層確定性 (HD) 錢包中未加固的密鑰派生機制可能導致主密鑰的災難性洩漏。本研究介紹了一種名為KeySilentLeak 的進階密碼分析工具在利用此類漏洞中的作用。與傳統的暴力破解方法不同,KeySilentLeak 基於被動觀察和靜默資料擷取,透過洩漏的 xpub 資訊和洩漏的子金鑰來重建主私鑰。我們分析了該工具如何加劇大規模比特幣盜竊的風險,如何幫助找回丟失的帳戶,以及如何揭示威脅去中心化金融未來的密碼學設計中的系統性缺陷。
現代比特幣錢包採用 BIP32 HD 派生演算法來簡化跨數千個位址的金鑰管理。透過在結構化樹中產生私鑰和公鑰,它們降低了備份的複雜性,並允許擴展公鑰 (xpub) 用於唯讀功能。然而,這種架構存在一個致命缺陷:非強化派生演算法允許 xpub 與某些私鑰之間存在關聯,從而使主私鑰在數學上可推導出來。
薩滿之門攻擊利用了這個漏洞。如果攻擊者獲得了一個子私鑰以及主公鑰,就可以重建主私鑰。這並非假設性的威脅——CVE-2023-39910 和 CVE-2025-27840 等真實存在的 CVE 漏洞證實了其可利用性。
本文研究了KeySilentLeak,這是一款專為靜默利用此類漏洞而設計的取證密碼分析工具。 KeySilentLeak 的運作方式是隱藏的,不會進行任何可偵測的暴力破解活動,而是分析洩漏的資料並以極高的精度重構主金鑰。
脆弱性機制
非硬化推導缺陷
在BIP32中,存在兩條推導路徑:
- 非強化派生:使用父公鑰和鏈碼產生子金鑰。
- 強化派生:子金鑰需要知道父私鑰。
當存在未經加固的子私鑰和對應的主私鑰 xpub 時,就會出現此漏洞。數學關係讓我們計算父私鑰:Kparent=f(xpub,kchild)K_{parent} = f(xpub, k_{child})Kparent=f(xpub,kchild)

其中 fff 表示基於橢圓曲線代數和 HMAC-SHA512 的逆導數函數。
透過遞歸推導,這種妥協方案可以向後傳播,從而能夠完全恢復主私鑰和所有子密鑰。
KeySilentLeak 的作用
KeySilentLeak旨在自動化此漏洞利用流程。它與暴力破解工具的不同之處在於,它利用了已知的錢包結構和洩漏的資訊片段。
核心功能
- 靜默密鑰重構:透過結合觀察到的 xpub 和單一洩漏的私鑰片段來被動運作。
- 鏈碼利用:攔截並分析嵌入在衍生過程中的鏈碼值,以逆向工程主金鑰。
- 熵弱點檢測:檢測受隨機性差影響的錢包(如 CVE-2023-39910),並加速完全密鑰恢復。
- 法證恢復:透過從倖存片段重新計算主密鑰,協助研究人員重建遺失的錢包。
使用 KeySilentLeak 的攻擊工作流程
- 攻擊者取得使用者的 xpub(透過唯讀暴露或惡意軟體)。
- 例如,由於記憶體轉儲或錢包實現不佳等原因,導致單一未加固的私鑰外洩。
- KeySilentLeak 的演算法可以靜默地重建主私鑰,而無需主動探測區塊鏈網路。
- 完整的錢包分支會被重新生成,從而可能導致比特幣被大規模盜竊,或者,也可以透過合法的取證方式進行恢復。
安全隱患
錢包完全妥協
在 Shaman’s Gate 攻擊的背景下使用 KeySilentLeak 漏洞,揭示瞭如果濫用非加固的推導方法,比特幣的 HD 推導機制會變得多麼脆弱。一次資料外洩就可能導致災難性的後果。
隱形提取
由於 KeySilentLeak 利用的是被動資料碎片而不是主動掃描,因此攻擊可以不被察覺地進行,直到執行大規模資金轉移。
現實世界的損失
CVE-2023-39910(Milk Sad漏洞)表明,與熵相關的缺陷可以與此類推導弱點相結合,使攻擊者能夠盜取價值近100萬美元的錢包資金。 KeySilentLeak等工具可實現大規模的漏洞。
防禦策略
- 專屬強化推導:強制在所有關鍵錢包分支(m/44′/0′/0′m/44′/0′/0′m/44′/0′/0′m/44′/0′/0′)中使用強化密鑰,以消除數學回溯。
- 鏈碼強化:確保中間 HMAC 狀態不能被逆向推導以洩漏私有元件。
- 熵驗證:加強隨機性來源,以避免可預測性缺陷。
- 限制 Xpub 共享:禁止將父節點上加固線以上的 xpub 匯出到第三方服務。
- 安全記憶體協定:透過記憶體保護和臨時金鑰處理來降低資料外洩風險。
科學和法醫學方面的考量
從科學角度來看,KeySilentLeak 凸顯了加密系統設計中可用性和安全性之間的矛盾。 HD錢包之所以易於使用(非加固派生),正是因為其特性本身就存在洩漏漏洞。攻擊者可以利用該漏洞盜取錢包資金,而研究人員和取證分析師同樣可以利用 KeySilentLeak 重建遺失的錢包並追回管理不善的資金。
KeySilentLeak等工具的出現表明,薩滿之門攻擊並非僅僅是理論上的構想——它是一種實用、可擴展且隱藏的攻擊方法,可以攻破比特幣 HD 錢包。其意義遠不止於此:它迫使社群重新審視 BIP32 錢包安全性的基本假設。
唯一可靠的防禦措施是普遍採用強化推導和限制公開資訊揭露。否則,整個生態系統將面臨無聲的加密資料掠奪浪潮,錢包裡的資金將在毫無預警的情況下被全部清空。
在便利性和加密完整性之間取得平衡,KeySilentLeak 事件的教訓很明確:任何小小的疏忽都會導致比特幣全球安全基礎設施出現斷層線。

研究論文:比特幣HD錢包分層金鑰派生中的加密漏洞及其安全修復
介紹
比特幣和主流加密貨幣使用分層確定性錢包(HD錢包、BIP32)來有效地創建和管理大量地址和金鑰,而無需單獨儲存每個金鑰。然而,該系統的架構已被證明極易受到危險的加密攻擊,這些攻擊會威脅到用戶安全的根基。其中最嚴重的漏洞是“薩滿之門攻擊”,攻擊者只需獲取部分資訊即可完全控制錢包。
漏洞是如何產生的?
BIP32協定定義了兩種產生子金鑰的方法:
- 非強化型-僅透過 xpub 序列取得公有網路位址。
- 強化(淬煉)-只能透過私鑰創建;公鑰無法存取此路徑。
此漏洞僅在使用非增強派生時才會出現。
如果攻擊者獲得:
- 主公鑰 (xpub)
- 任何一個子非強化位址的私鑰
他可以計算出主私鑰,並獲得用戶所有資金的存取權限。 keyhunters +4
此演算法與以下非硬化路徑的構造方式有關:
文字ChildPublicKey = ParentPublicKey + HMAC_SHA512(ParentPublicKey, Index)
但是,如果存在一條公共路徑和一個子私鑰,則具有相同索引的私鑰是可以重新計算的,這使得攻擊得以實施。
安全影響
- 整個錢包被盜 :丟失一個未加密的子私鑰和 xpub 會導致所有資金遺失。
- 密碼分析與復原 :快速恢復攻擊者使用的完整根私鑰並產生所有位址。 bsvblockchain +3
- 資金大規模外逃 :交易失敗和隱形竊盜不會被察覺,直到整個錢包被清空。
安全的修復方法
最佳解決方案 是在所有安全性和隱私性至關重要的場景下完全放棄非強化金鑰派生。對於 BIP32 樹的所有關鍵分支,僅使用強化金鑰派生。
安全派生模式 :
- 對於所有敏感操作,請在 BIP32 樹中使用增強步驟:
文字m / purpose' / coin_type' / account' / change / address_index
撇號(’)表示嚴格派生關係。
Python 中的安全實作(以 bip32 函式庫為例):
Python# pip install bip32
from bip32 import BIP32, HARDENED_INDEX
# Создание мастер-ключа из seed
bip32 = BIP32.from_seed(seed_bytes)
# Генерируем только hardened-путь (например, m/44'/0'/0'/0/0)
account_xprv = bip32.get_xpriv_from_path(f"m/44'/{coin_type}'/0'")
address_xprv = bip32.get_xpriv_from_path(f"m/44'/{coin_type}'/0'/0/0")
address = bip32.get_pubkey_from_path(f"m/44'/{coin_type}'/0'/0/0")
- 不要將第一個硬分隔符號(’)之前收到的 xpub 提供給第三方服務。
- 匯出父鍵時,檢查強化派生深度。
最終決定
- 設計關鍵層次結構時,請務必確保所有關鍵分支都從強化索引開始 。
- 定期檢查和更新庫,以確保不會意外包含未加固的匯出檔案 。
- 教育使用者和開發者-切勿將更高等級的(未加固的)xpub 與第三方分享 。
結論
HD錢包中非強化派生演算法的加密漏洞對任何大型比特幣專案都是一個真實存在的、已被證實的威脅。透過完全使用強化派生演算法,可以確保抵禦Shaman’s Gate攻擊,即使在部分金鑰外洩的情況下也能保障用戶資金安全。 thalesdocs +3
精簡的 BIP32 樹架構、強化推導的正確實現以及負責任的公共資料匯出是未來區塊鏈加密網路價值的基礎。 ### 比特幣 HD 錢包中的加密漏洞:分析與安全實現
介紹
分層確定性(HD)錢包(BIP32 標準)幾乎被所有現代加密貨幣(包括比特幣)所採用,以便於產生和管理金鑰對,而無需備份每個單獨的金鑰。然而,非強化派生機制的特性使得在某些情況下,所有私鑰都可能被完全洩漏。 bsvblockchain +1
漏洞是如何產生的?
非強化派生漏洞基於 BIP32 的以下特性:
- 任何擁有 主公鑰 (xpub) 和來自非加固路徑的一個子 私鑰的接收者 都可以恢復整個分支的主私鑰。 cryptosafetyfirst +2
- 這是由於HD推導的公共部分和私有部分之間的數學關係:
- 對於非強化型 CHILD 金鑰,僅使用父金鑰的公鑰資訊和鏈碼,但反向公式可以推導出主私鑰。 thalesdocs +1
攻擊場景:
- 僅觀看或共享儲存方案由「xpub」發布。
- 任何一個未加固的子位址的私鑰洩漏(例如惡意軟體、不安全的函式庫)都為恢復主金鑰開啟了方便之門(「薩滿之門攻擊」)。
- 之後,攻擊者可以恢復所有包含的私鑰,並從任何錢包地址提取所有資金。
穩健的策略和安全的程式碼
基本原則:
對於任何敏感分支,請始終使用硬化派生,並用硬屏障將樹的公共部分和私人部分分開。
基本 BIP32 路徑模板(頂點等級必須加固):
文字m / 44' / 0' / 0' / 0 / 0
所有帶有撇號(’)的索引都已加固。
Python 中的安全實作:
Pythonfrom bip32 import BIP32, HARDENED_INDEX
seed = b"really random entropy for seed"
bip32 = BIP32.from_seed(seed)
account_path = "m/44'/0'/0'" # hardened-only path
xprv = bip32.get_xpriv_from_path(account_path)
xpub = bip32.get_xpub_from_path(account_path)
# Не распространяйте xpub до первого hardened-уровня!
- 採用這種方法,即使 xpub 和子私鑰洩露,也無法恢復更高層級的主私鑰。 cryptosafetyfirst +2
- 對於第三方服務,僅提供低於加固屏障的 xpub。
安全建議
- 不要對關鍵樹層級使用非強化派生。
- 不要從高於強化分隔符號的層級匯出 xpub 檔案。
- 控制庫和使用者介面中的派生路徑。
- 審核錢包庫中鏈碼和 HMAC 操作的使用情況。
結論
「薩滿之門攻擊」這類攻擊是HD錢包中非加強衍生機制的根本後果,這一點已在眾多駭客攻擊案例中得到證實。堅持將路徑分為加固分支和非加固分支,並避免從更高層級傳輸xpub,可以徹底消除未來利用此類漏洞的可能性。
最終科學結論
Bitcoin HD錢包中未加固金鑰派生方案(金鑰派生攻擊,或稱為「薩滿之門攻擊」)的關鍵漏洞表明,即使是最先進的加密系統也可能因設計疏忽而輕易被攻破。該漏洞允許攻擊者僅獲取一個未受保護分叉的私鑰以及xpub,即可推導出根主密鑰,從而完全控制錢包中的所有私鑰,並立即竊取受害者的所有資金。
在加密貨幣安全被視為攻擊者難以克服的障礙的時代,如此大規模的入侵事件的出現,不僅是一個技術漏洞,更是對比特幣基礎設施信任根基的沉重打擊。利用此漏洞實施的大規模註冊表竊取事件(例如 CVE-2023-39910)已在現實世界的 CVE 事件中得到記錄,並已對成千上萬的用戶造成了不可挽回的損失,這表明即使是 HD 推導實現中的最小錯誤,也會將比特幣堅不可摧的堡壘變成安全的假象。
只有在 BIP32 樹的所有關鍵層級嚴格遵循強化推導原則,避免 xpub 分發,並妥善管理公私分支,才能最終阻止攻擊。這個漏洞的案例應該給整個社區敲響警鐘:在密碼學領域,沒有無關緊要的細節。任何疏忽都會造成嚴重威脅,而錯誤的代價是失去對整個全球數位經濟的控制。
- https://astanahub.com/en/blog/dlia-51-ataki-na-bitcoin-segodnia-nuzhno-vsego-8-mlrd
- https://vk.com/@cryptodeeptech-vector76-attack-issledovanie-i-predotvraschenie-ugroz-dlya-s
- https://cryptodeep.ru/publication/
- https://www.gate.io/ru/learn/category/bitcoin?page=1
- https://www.gate.io/ru/post/status/9462240
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
- https://www.gate.io/ru/blog/1167/what-is-blockchain-attack
- https://www.gate.io/ru/podcast
- https://www.youtube.com/watch?v=AhemLZO91sA
- https://keyhunters.ru/key-derivation-attack-format-oriented-attack-critical-multiple-hashing-vulnerability-in-electrum-compromise-of-bitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-wallet/
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
- https://www.clouddefense.ai/cve/2023/CVE-2023-39910
- https://milksad.info
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2023-39910
- https://service.securitm.ru/vm/vulnerability/cve/show/CVE-2023-39910
- https://keyhunters.ru/key-derivation-attack-format-oriented-attack-critical-multiple-hashing-vulnerability-in-electrum-compromise-of-bitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-wallet/
- https://docs.bsvblockchain.org/guides/sdks/ts/examples/example_hd_wallets
- https://thalesdocs.com/gphsm/luna/7/docs/network/Content/sdk/extensions/BIP32.htm
- https://www.blockdaemon.com/blog/mpc-minimizes-vulnerability-of-non-hardened-xpub-key-derivation
- https://cryptosafetyfirst.com/child-private-key/
- https://journal.esrgroups.org/jes/article/download/7067/4867/12981
- https://coinsutra.com/hd-wallets-deterministic-wallet/
- https://www.ledger.com/th/blog/funds-of-every-wallet-created-with-the-trust-wallet-browser-extension-could-have-been-stolen
- https://ethresear.ch/t/hd-wallet-for-lattice-cryptography/22888
- https://learnmeabitcoin.com/technical/keys/hd-wallets/derivation-paths/
- https://www.reddit.com/r/ledgerwallet/comments/1f9kkoc/does_ledger_recognize_derived_nonhardened_child/
- https://www.fortanix.com/blog/best-protection-for-blockchain-bip32-keys
- https://github.com/paulmillr/scure-bip32
- https://en.bitcoin.it/wiki/BIP_0032
- https://www.clouddefense.ai/cve/2023/CVE-2023-39910
- https://keyhunters.ru/key-derivation-attack-format-oriented-attack-critical-multiple-hashing-vulnerability-in-electrum-compromise-of-bitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-private-keys-via-critical-derivation-vulnerability-inbitcoin-wallet/
- https://milksad.info
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2023-39910
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
- https://service.securitm.ru/vm/vulnerability/cve/show/CVE-2023-39910
- https://www.blockdaemon.com/blog/mpc-minimizes-vulnerability-of-non-hardened-xpub-key-derivation
- https://attacksafe.ru/bip32/
- https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
- https://cryptorank.io/ru/news/feed/df2a7-crypto-breach-hackers-make-off-with-900k
- https://docs.bsvblockchain.org/guides/sdks/ts/examples/example_hd_wallets
- https://thalesdocs.com/gphsm/luna/7/docs/network/Content/sdk/extensions/BIP32.htm
- https://hub.bsvblockchain.org/bsv-skills-center/guides/sdks/ts/examples/example_hd_wallets
- https://www.reddit.com/r/ledgerwallet/comments/1f9kkoc/does_ledger_recognize_derived_nonhardened_child/
- https://blog.1inch.io/hd-wallets/
- https://news.ycombinator.com/item?id=11331040
- https://keyhunters.ru/ecdsa-private-key-recovery-attack-via-nonce-reuse-also-known-as-weak-randomness-attack-on-ecdsa-critical-vulnerability-in-deterestic-nonce-generation-rfc-6979-a-a-danger-on-a-rfc-6970
- https://vulert.com/vuln-db/crates-io-hd-wallet-178223
- https://dl.acm.org/doi/full/10.1145/3596906
- https://secuxtech.com/blogs/blog/what-is-a-hierarchal-deterministic-wallet
- https://cure53.de/pentest-report_influx-wallet.pdf
- https://blog.inhq.net/posts/keepkey-CVE-2023-27892/