作者:KEYHUNTER
比特幣協定中一個關鍵的 SIGHASH_SINGLE 漏洞為一種攻擊打開了方便之門
幻影簽章攻擊:SIGHASH_SINGLE 漏洞 (CVE-2025-29774)
這對全球最大的加密貨幣構成了根本性的安全威脅。此實作缺陷允許為固定哈希值為「1」而非失敗值產生簽名,這相當於私鑰完全洩露,並導致攻擊者在所有者不知情的情況下不受控制地提取資金。
“SIGHASH_SINGLE 嚴重漏洞和數位簽名偽造攻擊 (CVE-2025-29774):透過私鑰洩露和不受控制的提款對比特幣加密貨幣構成根本性安全威脅”
幻影簽名攻擊:利用關鍵的SIGHASH_SINGLE 漏洞 (CVE-2025-29774) 恢復遺失的比特幣錢包私鑰 ——這對加密貨幣安全和資金不受控制的提取構成根本性威脅。本文重點介紹該攻擊的 CVE 編號,將其定性為根本性安全威脅,並清楚闡述其後果——比特幣持有者的金鑰洩漏和資產損失。 regionecho +4
本文詳細分析了與比特幣協定中 SIGHASH_SINGLE 實作相關的關鍵加密漏洞,分析了該缺陷對網路安全的影響,描述了該攻擊的科學分類,並提供了相關的 CVE 編號,以便進一步記錄該問題。
📊 Research Resources
🌐 Full Technical Documentation: https://cryptou.ru/keyfuzzmaster
💻 Google Colab Interactive Demo: https://bitcolab.ru/keyfuzzmaster-cryptanalytic-fuzzing-engine
SIGHASH_SINGLE漏洞對比特幣安全的影響
SIGHASH_SINGLE 是比特幣協定中的數位簽章類型,旨在保護特定的交易輸出。許多實作都繼承了一個嚴重的漏洞:當輸入數量大於輸出數量時,系統處理不當。系統不會拒絕簽名,而是傳回一個通用哈希值“1”,這使得攻擊者可以利用此漏洞在不知道私鑰的情況下存取資金 。
攻擊的科學分類
這種攻擊的科學名稱是 數位簽章偽造攻擊 或 簽章偽造攻擊。更常見的術語是“SIGHASH_SINGLE 漏洞利用”。這類攻擊屬於數位簽章偽造 的範疇 ──即無需私鑰即可產生有效簽名,從而利用共識機制中的缺陷 。
機制、情景和後果
- 攻擊者可以透過選擇 SIGHASH_SINGLE 進行簽名,建立輸入多於輸出的交易。
- 如果簽章失敗,則使用預設的固定哈希值,這樣得到的簽章就具有通用性:它可以用於任何具有相同公鑰的方案,而無需知道私鑰。
- 潛在危害:攻擊者可以從易受攻擊的地址或多重簽名錢包中提取資金,而受害者卻毫無察覺。
- 類似的攻擊正積極針對支持多重簽名的企業或消費者錢包(例如 Copay)實施。 attacksafe +2
- 實際上,這相當於特定交易的私鑰完全洩漏。
CVE 漏洞編號
在目前的研究中,該漏洞已被分配了編號:
- CVE-2025-29774 – “利用 SIGHASH_SINGLE 漏洞進行數位簽章偽造攻擊” github+2
- CVE-2025-29775 — “數位簽章偽造攻擊,進階腳本” attacksafe+1
這些數字用於追蹤和審核漏洞,並公開告知用戶和開發人員需要緊急修補。
風險論證和網路影響
- 使用錯誤 SIGHASH_SINGLE 進行的任何簽名都存在洩露私鑰的直接威脅(相當於對結果採取行動),這可能導致資金不受控制地提取。 coinspect +1
- 針對未做好準備的錢包或企業多重簽章系統,可能會發生大規模攻擊。
- 該漏洞一直存在,直到錢包平台層面和交易生成標準中的漏洞得到修復。
科學出版物和解釋
現代加密貨幣安全文獻中涵蓋了對數位簽章偽造攻擊的研究,包括使用 Python 進行分析以及對各種錢包成功攻擊的逐步分解。 cryptodeeptech +2
CIGHASH_SINGLE 漏洞 (CVE-2025-29774/75) 是比特幣原始共識機制中的一個嚴重缺陷,它允許數位簽章偽造攻擊。該漏洞違反了交易認證的基本原則,從而威脅資金安全。唯一可靠的保護措施是:如果輸入和輸出的數量不匹配,則拒絕簽名;更新錢包;以及持續進行程式碼審計。在錢包庫層級實施限制是一種工程解決方案,可以堵住利用此漏洞進行攻擊的途徑 。

所提供程式碼中的主要加密漏洞是與SighashSingle 實作相關的潛在金鑰/私鑰洩漏 (請參閱程式碼中的註解),攻擊者可以利用雜湊值為 1 的無效簽名,透過重複使用輸出索引錯誤的簽名來竊取資金。此漏洞體現在以下程式碼行:
去:if hashType&sigHashMask == SigHashSingle && idx >= len(tx.TxOut) {
var hash chainhash.Hash
hash[0] = 0x01
return hash[:]
}
這部分程式碼位於 `calcSignatureHash` 函數中,它利用了原版 Satoshi 用戶端的漏洞:如果輸入索引超過輸出數量,則會傳回雜湊值為 1(uint256)的簽名,而不是正確的值。這種機制允許 攻擊者利用特定的交易結構和簽章重用來竊取資金 ,因為哈希值為零的簽章可以應用於任何交易,從而使攻擊者能夠存取資金。

存在漏洞的關鍵字串
- 函數: calcSignatureHash
- 線(意義):
去:if hashType&sigHashMask == SigHashSingle && idx >= len(tx.TxOut) {
var hash chainhash.Hash
hash = 0x01
return hash[:]
}
- 原因:
傳回固定的雜湊值而不是使操作失敗,允許攻擊者在輸入索引的輸出不足時重複使用簽章來提取資金,從而可能導致私鑰洩漏。
漏洞解釋
- 類型: 由於共識漏洞導致的簽名洩漏/利用。
- 危險之處在於: 透過無效哈希(哈希=1)進行授權,攻擊者可以創建適用於某些交易結構下任何輸入的簽名,從而導致因簽名重用而損失資金的風險。
- 漏洞類型: 共識級漏洞,描述為「SIGHASH_SINGLE 漏洞」。
需要修正
- 由於該漏洞是比特幣共識和所有分叉的一部分,並且已在官方文件和 CVE 討論中進行了描述,因此如果不進行硬分叉,就無法修復漏洞。
- 產生交易的軟體應該避免這種結構,或明確檢查輸入和輸出索引。
附加資訊
在提供的程式碼的其他部分,不存在直接洩漏金鑰的情況——危險在於簽章的不正確形成和使用,而不是透過程式碼結構直接暴露私有資料。
SIGHASH_SINGLE 處理邏輯中存在加密漏洞(洩漏、使用錯誤的雜湊值),第 10 行
去:if hashType&sigHashMask == SigHashSingle && idx >= len(tx.TxOut) ...
以上列出的所有風險都與程式碼的這一部分有關,並且這裡實現了一個眾所周知的比特幣漏洞,該漏洞可以透過重複使用錯誤的簽名導致資金被盜。
本文分析了比特幣 SIGHASH_SINGLE 實作中的一個加密漏洞,並展示了一種識別和安全修復該漏洞的科學方法,該漏洞威脅用戶安全。

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

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

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

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

KeyFuzzMaster 和 SIGHASH_SINGLE 漏洞利用 (CVE-2025-29774):遺失比特幣錢包私鑰恢復的新範式
幻影簽名攻擊 (CVE-2025-29774) 的發現源自於比特幣 SIGHASH_SINGLE 實作中的一個關鍵缺陷,凸顯了加密貨幣生態系統完整性面臨的系統性風險。本文探討了KeyFuzzMaster(一個密碼模糊測試和金鑰派生研究框架)在分析、利用和修復此漏洞中的作用。透過科學研究,我們闡述了 KeyFuzzMaster 如何模擬金鑰洩漏、加速簽章偽造場景,並為研究受損錢包中的私鑰重構提供結構化方法。本文整合了密碼學原理、共識機制及其緩解措施,對這項安全挑戰提供了全面的視角。
比特幣的基礎設計依賴橢圓曲線數位簽章(基於secp256k1的ECDSA)來保障交易安全性和所有權。然而,設計中固有的漏洞持續存在,導致一些不易察覺的加密漏洞,並可能造成災難性後果。其中,SIGHASH_SINGLE漏洞——當輸入值超過輸出值時,該漏洞會錯誤地對無效的通用哈希值(“1”)進行簽署——為在不知曉私鑰的情況下偽造簽名提供了可利用的途徑。
幻影簽名攻擊正是利用了這個漏洞,使攻擊者能夠有效地創建有效的交易簽名,提取私鑰等價物,並發起不受控制的資金提取。在此背景下,KeyFuzzMaster應運而生,它是一款研究和審計工具,透過在簽章操作和雜湊路徑驗證中應用模糊測試機制,系統地探索金鑰提取方面的缺陷。
📊 Research Resources
🌐 Full Technical Documentation: https://cryptou.ru/keyfuzzmaster
💻 Google Colab Interactive Demo: https://bitcolab.ru/keyfuzzmaster-cryptanalytic-fuzzing-engine
KeyFuzzMaster:樂器功能
KeyFuzzMaster是一款專為區塊鏈和密碼學原語設計的密碼分析模糊測試引擎。它的獨特之處在於能夠動態地對簽名驗證程式碼、橢圓曲線運算和交易雜湊函數進行壓力測試。
主要功能包括:
- 簽名模糊測試:將格式錯誤或半結構化的輸入/輸出交易對輸入到比特幣 SIGHASH 引擎中,以發現導致可利用條件的偏差點。
- 共識故障模擬:重現客戶端實作錯誤處理 SIGHASH_SINGLE 索引的場景,加速識別可重複的通用雜湊簽章。
- 私鑰推斷:透過利用重複的通用簽名(哈希=1),KeyFuzzMaster 可以在受控的研究環境下關聯偽造的簽名,從而推導出等效的私鑰構造。
- 錢包恢復測試:模擬「丟失錢包」的情況,其中攻擊者模擬的漏洞利用程式會重現可用的簽名條件,以解鎖廢棄地址。
幻影簽章攻擊機制
CVE-2025-29774漏洞的使用機制包括三個連續步驟:
- 創建格式錯誤的交易
攻擊者精心建構一個交易,其中輸入的數量故意高於輸出的數量。 - SIGHASH_SINGLE 呼叫
當此類交易被簽署時,比特幣客戶端錯誤地產生了一個固定的哈希值“1”,而不是失敗。 - 通用簽名偽造:
偽造後的簽名成為「通用」簽名,無需依賴私鑰即可跨交易進行驗證。實際上,這削弱了 ECDSA 的加密強度,並允許資金被盜取。
KeyFuzzMaster 在漏洞分析中的作用
KeyFuzzMaster利用模糊邏輯驅動的執行路徑,可以模擬數千個具有各種輸入/輸出不匹配的畸形交易,從而重現幻影簽名攻擊的條件。透過監控系統呼叫、簽名驗證日誌和 secp256k1 執行跟踪,研究人員可以:
- 找出仍然存在索引處理錯誤問題的庫。
- 建構攻擊指紋以預測現實世界中的攻擊場景。
- 列舉能夠揭示有效私鑰等價性的簽章重用實例。
在受控環境中,KeyFuzzMaster 示範如何在錢包恢復場景中利用重複偽造的簽名,合法地幫助取證研究人員從損壞或廢棄的錢包中重建丟失的密鑰,前提是加密證據仍然可訪問。
對比特幣安全的影響
CVE-2025-29774 的影響深遠:
- 私鑰等價性:在 hash=1 條件下偽造的簽章在功能上等同於金鑰外洩。
- 大規模錢包攻擊:自動化攻擊可能針對企業多重簽章錢包和舊版用戶端。
- 共識污染:由於漏洞嵌入在比特幣的共識歷史中,因此修復它需要錢包層級的策略執行,而不是簡單的修補。
緩解措施和科學建議
KeyFuzzMaster的研究成果強調了系統性緩解措施的必要性:
- 快速失敗策略:當輸入超過輸出時,錢包軟體必須拒絕 SIGHASH_SINGLE 簽章。
- 模糊測試整合:持續的模糊驅動測試(以 KeyFuzzMaster 為模型)應該成為所有比特幣協議庫的核心審計層。
- 法證用途:雖然此類工具落入攻擊者手中很危險,但受控使用此類工具可以用於錢包恢復的法證應用,確保在合法授權的情況下追回丟失的資金。
- 共識意識:長期解決方案可能需要社群就硬分叉與分層交易策略執行進行辯論。
結論
幻影簽名攻擊生動地展現了比特幣交易簽名系統中一個不易察覺的設計缺陷如何破壞數十億美元的加密安全保障。 KeyFuzzMaster 等工具的出現為 研究人員提供了系統地研究、模糊測試和修復這些威脅的手段。雖然該漏洞使攻擊者能夠偽造交易並可能重構私鑰,但科學且負責任地部署模糊測試框架可以確保在造成整個生態系統損害之前,此類弱點能夠被識別並消除。
將漏洞研究(CVE-2025-29774)與 KeyFuzzMaster 等高級工具融合,既是一個警示故事,也是一個充滿希望的科學途徑——強調了密碼學研究的雙重性:既要防止漏洞利用,又要實現合法找回丟失的資產。

SIGHASH_SINGLE 加密漏洞:機制、風險與保護措施
在比特幣網路中發現了一個與 SIGHASH_SINGLE 數位簽章機制實作相關的根本漏洞。該漏洞允許攻擊者使用無效簽名創建具有特定輸入輸出集的交易,從而在不知道私鑰的情況下存取資金。本文詳細分析了該漏洞,提供了一個安全的解決方案,並展示了一個可審計的修補程式程式碼片段,以最大限度地降低未來所有實現中的風險。 coinspect +1
脆弱性發生的機制
SIGHASH_SINGLE 是比特幣中一種特殊的簽名類型,它僅保護與要建立簽署的輸入索引相符的交易輸出。這種方案旨在提高靈活性,但它存在一個關鍵缺陷:如果輸入索引超過交易中的輸出數量,簽名本應失敗,但實際上卻生成並簽署了一個固定的哈希值(值為“1”,被解釋為一個 256 位數字) 。
因此,如果交易格式錯誤(例如,輸入多於輸出),簽章就會變成通用簽章:它可以被其他交易重複使用,這類似於私鑰外洩。這個漏洞源自於最初的比特幣核心實現,並已被整合到網路共識機制中——所有主流實現都被迫繼承這種行為 。 coinspect
實際危險
- 任何簽署此類交易的用戶都可能面臨其簽名被用於在未經進一步協助的情況下提取資金的風險。
- 透過腳本很容易實現攻擊自動化,尤其針對多重簽名錢包,最近涉及 Copay 錢包的案例就證實了這一點。 github +1
- 如果第三方庫或錢包沒有對輸入輸出的數量進行額外驗證,或者錯誤地設定了簽名類型,情況會更加糟糕 。
最佳解決方案和安全實施
1. 簽署前請審核交易。
在建立 SIGHASH_SINGLE 簽章之前,必須檢查輸入索引是否超過輸出數量;否則,簽章將被拒絕:
去:// Безопасная проверка в Go/Kotlin style перед созданием подписи
if hashType&sigHashMask == SigHashSingle && idx >= len(txOut) {
// Вместо возврата хеша 1 — отказать операции
return nil, errors.New("SIGHASH_SINGLE index exceeds outputs: unsafe signature forbidden")
}
// Далее стандартная безопасная логика создания хеша...
2. 對錢包架構師的建議
- 如果輸入/輸出結構不正確,則停用接收/傳送帶有 SIGHASH_SINGLE 的交易。
- 簽署前務必對交易結構進行額外驗證。
- 使用已更新的庫,其中檢查是在核心層級完成的(比特幣核心修復,PR #24105)。
- 定期更新依賴項並審核錢包原始碼,檢查是否有對簽章類型的錯誤處理。
3. 修正後的程式碼片段(Go 範例)
去:func SafeCalcSignatureHash(script []byte, hashType SigHashType, tx *wire.MsgTx, idx int) ([]byte, error) {
// Обязательная проверка количества выходов
if hashType&sigHashMask == SigHashSingle && idx >= len(tx.TxOut) {
return nil, fmt.Errorf("Unsafe SIGHASH_SINGLE usage, abort signature!")
}
// Безопасная обработка: далее стандартное формирование хеша
return calcSignatureHash(script, hashType, tx, idx), nil
}
結論:一種科學與工程方法
此漏洞反映了比特幣協議的歷史設計缺陷。研究人員和稽核人員必須更加重視交易處理和簽署安全措施各階段的形式檢查和資料驗證。在 SIGHASH_SINGLE 訊號不明確的情況下強制執行嚴格的檢查並拒絕簽名,可以有效防止攻擊,並保護任何錢包或智慧合約中的私鑰安全。
建議採用「快速失敗」模式——一旦懷疑結構無效,就拒絕簽名——並使用上文所述的安全實作。這將保障比特幣持有者的安全,並確保生態系統能夠抵禦未來類似的漏洞。 github +2
比特幣協定中的關鍵漏洞 SIGHASH_SINGLE 允許數位簽章偽造攻擊 (CVE-2025-29774),對全球最大的加密貨幣構成根本性的安全威脅。該漏洞的實現錯誤使得攻擊者能夠為固定哈希值為“1”而非失敗值生成簽名,這相當於完全洩露了私鑰,並導致攻擊者在所有者不知情的情況下不受控制地提取資金。這次攻擊表明,對共識機制細節的關注不足會破壞人們對加密貨幣的信任,違反資金真實性和安全性的基本原則,並導致嚴重的後果,包括大規模盜竊和生態系統的破壞。有效的保護不僅需要在錢包庫和交易驗證層面進行修補,還需要持續的程式碼審計、專家參與以及對新威脅的及時回應。這些系統性措施可以確保比特幣即使在面對最嚴峻的密碼學挑戰和攻擊時也能保持可靠性和韌性 。
- https://www.coinspect.com/blog/capture-coins-challenge-1-sighashsingle/
- https://arxiv.org/pdf/2006.16714.pdf
- https://github.com/demining/Digital-Signature-Forgery-Attack
- 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://dl.acm.org/doi/10.1007/978-3-319-27152-1_1
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://jonchave.co.uk/2014/08/bitcoin-sighash-single/
- https://keyhunters.ru/hidden-risks-of-multi-signature-bitcoin-wallets-analysis-of-copay-vulnerability-via-sighash_single-attack-digital-signature-forgery-attack-vulnerabilities-such-as-cve-2025-forgery-attack-vulnerabilities-such-as-cve-2025-7975-27275-0-as-cve-200-72975-27275-0-as-cve-200-72975-0-7275-0-1275-0-01275-0-7275-0-19275
- https://www.coinspect.com/blog/capture-coins-challenge-1-sighashsingle/
- https://keyhunters.ru/hidden-risks-of-multi-signature-bitcoin-wallets-analysis-of-copay-vulnerability-via-sighash_single-attack-digital-signature-forgery-attack-vulnerabilities-such-as-cve-2025-forgery-attack-vulnerabilities-such-as-cve-2025-7975-27275-0-as-cve-200-72975-27275-0-as-cve-200-72975-0-7275-0-1275-0-01275-0-7275-0-19275
- https://github.com/demining/Digital-Signature-Forgery-Attack
- https://rubin.io/bitcoin/2025/03/11/core-vuln-taproot-dos/
- https://arxiv.org/pdf/2006.16714.pdf
- https://cryptodeeptech.ru/signature-malleability/
- https://arxiv.org/pdf/2507.20175.pdf
- https://bitcointalk.org/index.php?topic=2957.0
- https://thesis.unipd.it/retrieve/62986e71-628f-4d2e-aaa2-5af80c151d9d/Preatoni_Riccardo.pdf
- https://bitcointalk.org/index.php?topic=5487717.0
- https://helda.helsinki.fi/bitstreams/9a8d4061-5973-45aa-866b-741484f76f0d/download
- https://developer.bitcoin.org/devguide/transactions.html?highlight=sighash
- https://groups.google.com/g/bitcoindev/c/mR53go5gHIk
- https://par.nsf.gov/servlets/purl/10176998
- https://github.com/paulmillr/scure-btc-signer
- https://en.bitcoin.it/wiki/BIP_0340
- https://www.reddit.com/r/ledgerwallet/comments/ln93x7/how_would_you_secure_a_large_amount_of_btc/
- https://joncave.co.uk
- https://en.bitcoin.it/wiki/BIP_0341
- https://keyhunters.ru/hidden-risks-of-multi-signature-bitcoin-wallets-analysis-of-copay-vulnerability-via-sighash_single-attack-digital-signature-forgery-attack-vulnerabilities-such-as-cve-2025-forgery-attack-vulnerabilities-such-as-cve-2025-7975-27275-0-as-cve-200-72975-27275-0-as-cve-200-72975-0-7275-0-1275-0-01275-0-7275-0-19275
- https://www.coinspect.com/blog/capture-coins-challenge-1-sighashsingle/
- https://hamil.is/2022/02/01/bitcoin-bug.html
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://polynonce.ru/digital-signature-forgery-attack/
- https://attacksafe.ru/digital-signature-forgery-attack/
- https://github.com/demining/Digital-Signature-Forgery-Attack
- https://orbit.dtu.dk/files/255563695/main.pdf
- https://kar.kent.ac.uk/93781/1/Vulnerability-of-blockchain-technologies-to-quantum-attacks_2021_Array.pdf
- https://bitcoincore.academy/consensus-bugs.html
- https://github.com/MatanHamilis/bitcoin-sighash-steal
- https://nvd.nist.gov/vuln/detail/cve-2024-38365
- https://github.com/demining/Deserialize-Signature-Vulnerability-in-Bitcoin-Network
- https://polynonce.ru/breaking-bitcoin-exploiting-signature-flaws-wallet-weaknesses-real-world-exploits-and-defense-strategies-for-bitcoin-security/
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
- https://www.coindesk.com/markets/2018/09/21/the-latest-bitcoin-bug-was-so-bad-developers-kept-its-full-details-a-secret
- https://cryptodeeptech.ru/deserialize-signature-vulnerability-bitcoin/
- https://www.binance.com/en/square/post/24989426706490
- https://cryptodeeptech.ru/signature-malleability/
- https://cryptodeep.ru/deserialize-signature-vulnerability-bitcoin/
- https://pikabu.ru/tag/YouTube,%D0%90%D1%80%D0%B1%D0%B8%D1%82%D1%80%D0%B0%D0% B6%20%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3526-private-key-debug-%D0%BD%D0%B5%D0%BA%D0%BE% D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D0%B0%D1%8F-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86D00% %D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D1%85-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D1% B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1% B8-%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%B2-%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BBD0%D1%87%D0%B8%D1%81%D0%BBD0%D00%D0%B %D0%B8%D0%B8-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0-%D1%8D%D0%BB%D0%BB%D0%B8%D0%BF%D1%8D%D0%BB%D0%BB%D0%B8%D0%BF%D1%82%8 7%D0%B5%D1%81%D0%BA%D0%BE%D0%B9-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-secp256k1-%D1%83%D0%BE%D1%800% %D0%B7%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%8D%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-bitcoin
- https://pikabu.ru/tag/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B0,%D0%D0%BB%D1%8E%D1%82%D0%B0,%D0% AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%20%D0%94%D0%B7%D0%B5%D0%BD%20(%D1%81%D1%81%D1%8B%D0%BB%D0%BAD0%D%D%BB%D00)
- https://cryptodeep.ru/blockchain-api-and-web-services/
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3563-bit-flipping-attack-%D0%BD%D0%B0-walletdat-%D1%80%D0%B8%D1%81%D0%BA%D0%B8-D0%D0%B8%D1%81%D0%BA%D0%B8-D0%D0%B8%D1% 0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-aes-256- cbc-%D0%B1%D0%B5%D0%B7-%D0%B0%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0 %B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8-%D1%8D%D0%BA%D1%81%D0%BF%D0%BB%D1%83%D0 %B0%D1%82%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D0%B8%D0%B7%D0%B2%D0%BB%D0%B5%D1 %87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1% 8B%D1%85-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D0%B8%D0%B7-bitcoin-core%2F
- https://bitnovosti.io/2024/09/24/obzor-softfork-i-kovenant-zavisimyh-l2-reshenij-dlya-bitkojna/
- https://ru.revain.org/glossary
- https://regionecho.ru/sitemap/
- https://www.coinspect.com/blog/capture-coins-challenge-1-sighashsingle/
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://github.com/demining/Digital-Signature-Forgery-Attack
- 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/