作者:KEYHUNTER
比特幣黃金一哈希劫案( 數位簽章偽造攻擊 – CVE-2025-29774 )
上文討論的 SIGHASH_SINGLE 標誌處理中的關鍵漏洞,為比特幣歷史上最具破壞性的攻擊之一——數位簽名偽造攻擊 (CVE-2025-29774)——打開了方便之門。這種攻擊會破壞比特幣的基本安全原則——沒有所有者的私鑰就無法偽造支出,而這正是由網路的數位簽章和共識協議所保證的。
此漏洞的主要危險在於其概念性本質:錯誤處理 SIGHASH_SINGLE 參數會導致任何具有相同結構缺陷的「偽造」交易都能產生通用簽名。攻擊者無需私鑰即可產生並簽署交易,從而使比特幣系統無法區分資金的真正所有者和攻擊者。此漏洞威脅系統完整性,削弱其抵禦簽章重用攻擊的能力,並動搖參與者對網路價值儲存和轉移機制的信任。
數位簽章偽造攻擊 (CVE-2025-29774):SIGHASH_SINGLE 嚴重加密漏洞及對比特幣安全的致命攻擊
研究論文:關鍵漏洞 SIGHASH_SINGLE 及其對比特幣網路安全的影響
比特幣網路安全的關鍵在於正確實現數位簽名,數位簽名確保區塊鏈中交易的唯一性、作者身份以及不可篡改性。近年來最危險的漏洞之一與 SIGHASH_SINGLE 簽章類型的實作錯誤有關。該錯誤使得攻擊者無需所有者的私鑰即可偽造數位簽章。 github +1
脆弱性發生的機制
SIGHASH_SINGLE:機制運作原理
SIGHASH_SINGLE (0x03) 標誌的實作允許輸入的擁有者僅對特定的交易輸出(索引與輸入索引相符的交易輸出)進行簽署。這使得複雜的資金分配場景成為可能,例如多重簽名錢包 。
程式錯誤是如何產生的?
當輸入索引超過輸出數量 時,就會出現此漏洞 。在存在漏洞的實作中(例如 libbitcoin 的漏洞版本和一些流行的錢包),雜湊函數會傳回一個固定的常數(「one_hash」——用 SHA-256 哈希表示的數字 1),而不是正確 的交易哈希值。
cppif (sighash_type == SIGHASH_SINGLE && nIn >= txOuts.size()) {
return uint256(1); // one_hash
}
結果: 基於此雜湊值產生的所有簽名都將成為通用簽名,並適用於任何滿足此條件的其他交易 。 pikabu
攻擊的科學名稱
在國際科學、密碼學和工業文獻中,這種威脅稱為:
- 數位簽章偽造 攻擊
- 一些出版物還包括: SIGHASH_SINGLE 簽名偽造 、 Golden Onehash 盜竊攻擊 。 cryptodeeptech +2
CVE標識符
- CVE-2025-29774 是官方分配的漏洞編號。 CVE 條目解釋說,該漏洞利用了 SIGHASH_SINGLE 處理中的一個缺陷,允許在沒有私鑰的情況下創建有效的簽章。 keyhunters +4
攻擊的後果
1. 竊盜資金
- 攻擊者可以建立新的交易,並將資金重新導向到自己的地址。
- 任何先前在類似條件下使用 SIGHASH_SINGLE 建立的有效簽名都將用作簽名。無需私鑰——密碼完整性完全被破壞。 cryptodeeptech +1
2. 多重簽名錢包的漏洞
- 即使使用多個金鑰,安全性也會降低——僅憑一個真實簽名就可能進行偽造交易。 密鑰獵人
3. 攻擊可擴展性
- 如果軟體更新不慎,任何 涉及 keyhunters+1 漏洞的服務、錢包和交易所都可能受到影響。
4. 對系統的信任度受損
- 此類錯誤的出現降低了人們對生態系統的信任度,挑戰了區塊鏈安全性和不可竄改性的基礎。
攻擊場景範例
- 攻擊者找到/創建了一個輸入數量超過輸出數量的交易(或使用了舊的、易受攻擊的驗證)。
- 收到數位簽章 SIGHASH_SINGLE(可能是受害者或舊軟體放置的)。
- 利用收到的簽名產生「虛假」交易,無需私鑰即可完全控制資金。
結果與預防
SIGHASH_SINGLE (CVE-2025-29774) 漏洞利用數位簽章偽造攻擊,是比特幣生態係史上最根本的威脅之一。如果驗證邏輯實現不當,該漏洞可能導致所有加密保護層被完全繞過。
為防止:
- 必須嚴格驗證輸入指標與輸出數量之間的對應關係。
- 僅使用經過測試、更新的加密庫版本。
- 檢查安全性日誌中是否有可疑的 SIGHASH_SINGLE 使用模式。
參考
- CVE-2025-29774:數位簽章偽造攻擊 github+4
- 比特幣 Polynonce+2 漏洞分析及影響
因此,這種攻擊在科學上被稱為 數位簽章偽造攻擊 ,其 CVE 編號為 CVE-2025-29774 。這個嚴重漏洞允許攻擊者在不知曉私鑰的情況下繞過比特幣的加密保護,導致巨額資金損失,並破壞 人們對系統的信任。
加密漏洞
libbitcoin 程式碼中的加密漏洞
在提交的libbitcoin程式碼中發現了一個與處理特定類型簽章相關的 嚴重加密漏洞SIGHASH_SINGLE。該漏洞可能導致私鑰洩漏和比特幣錢包被盜。
漏洞位置
第 173 行 :out = one_hash;
這一行包含了該函數的主要加密漏洞 unversioned_sighash()。
漏洞機制
該漏洞體現在以下程式碼行:
第 171-175 行 :
cpp:if (flag == coverage::hash_single && output_overflow(input_index(input)))
{
out = one_hash;
return true;
}

技術說明
漏洞出現於: github+1
- 簽名類型 :已使用
SIGHASH_SINGLE(標誌 0x03) - 溢位條件 :輸入索引超過交易中的輸出數量(
output_overflow()) - 關鍵點
one_hash:傳回的 不是交易的正確雜湊值,而是固定的常數 (值「1」)。
剝削的後果
此漏洞允許攻擊者: keyhunters+1
- 在不知道私鑰的情況下偽造數位簽名
- 透過重複使用簽名來花費他人比特幣地址中的資金
- 同一筆資金的重複支出
- 繞過多重簽名錢包的加密保護
SIGHASH_SINGLE 漏洞攻擊
此漏洞被稱為 SIGHASH_SINGLE 漏洞 或 數位簽章偽造攻擊 。攻擊原理如下: pikabu+1
- 攻擊者找到了一筆帶有簽名的交易。
SIGHASH_SINGLE - 建立一個新的事務,其中輸入數量超過輸出數量。
- 使用其他交易中已有的簽名
- 返回常數時
one_hash,簽名被認為是有效的。 - 資金被轉移到攻擊者的地址。
相關漏洞
該程式碼還包含一些可能存在安全漏洞的部分:
- 第 54 行 :函數
signature_hash_single()– SIGHASH_SINGLE 的主要實現 - 第 171 行 :檢查
output_overflow()– 漏洞啟動條件
真實的剝削案例
據研究顯示,該漏洞已被利用,導致價值超過 90 萬美元的 比特幣被盜。此次攻擊影響了使用 libbitcoin Explorer 3.x 函式庫及其相關元件的錢包。 cryptodeeptech +1
糾正建議
要修復此漏洞,您需要: keyhunters+1
one_hash為避免輸出溢出,請移除回車符- 為 SIGHASH_SINGLE添加嚴格的輸入/輸出匹配驗證
- 拒絕簽名參數無效的交易
- 將庫更新 到已修復漏洞的版本
該漏洞對比特幣交易的安全構成嚴重威脅,需要立即修復以保護用戶資金。

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

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

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

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

BitKeysmithack:利用 CVE-2025-29774 漏洞進行無私鑰的比特幣交易偽造和錢包恢復
比特幣的加密架構長期以來一直依賴數位簽章的不可篡改性作為防止未經授權支出的最終屏障。然而,SIGHASH_SINGLE簽章標誌實作中發現的CVE-2025-29774漏洞揭示了這項原則的嚴重偏離。本文研究了該漏洞的加密後果,並介紹了一種專門的研究工具BitKeysmithack 。該工具旨在提供一個概念驗證環境,用於分析和演示攻擊者如何在不擁有私鑰的情況下「偽造」有效的比特幣交易。我們分析了該漏洞的利用機制,討論了大規模盜竊或恢復「擱淺」數位資產的可能性,並提供了一個緩解和安全審計框架。
比特幣網路透過基於secp256k1曲線的橢圓曲線數位簽章演算法 (ECDSA)來確保所有權和資金轉移的完整性。正常情況下,只有有效的私鑰才能產生合法的交易簽章。然而,由於 CVE-2025-29774 漏洞影響了SIGHASH_SINGLE 標誌的實現,在特定情況下,系統會錯誤地重複使用一個常數雜湊值(「one_hash」),而不是唯一的交易原像。此錯誤導致出現了一類通用簽章。
BitKeysmithack 是一款先進的分析平台,用於建模、偵測和測試與此漏洞相關的所有攻擊途徑。它的名稱源自於「鍛造」密鑰這一比喻,象徵著攻擊者如何利用軟體缺陷而非暴力破解加密原語來繞過 ECDSA 演算法。
開發機制
SIGHASH_SINGLE 缺陷是如何產生的
- 當使用SIGHASH_SINGLE (0x03)簽章的輸入索引超過交易中的輸出數量時,存在漏洞的函式庫程式碼會產生:Hsig=SHA256(1)=one_hashH_{\text{sig}} = \text{SHA256}(1) = \text{one\_hash}Hsig}} = \text{SHA256}(1) = \text{one\_hash}Hsig=SHA256(1)
- 所有後續引用此錯誤雜湊值的簽章都將與交易無關。
- 因此,任何有效的簽名都可以重複使用,以驗證多個不相關的偽造交易。

攻擊向量
BitKeysmithack揭示了三個不同的攻擊階段:
- 收集通用簽章:從易受攻擊的錢包或已存檔的區塊鏈資料中取得有效的 SIGHASH_SINGLE 簽章。
- 建構偽造的交易:建立輸入/輸出不符的交易,其中應用相同的 one_hash 條件。
- 將偽造資訊注入區塊鏈:廣播看似普遍有效的偽造交易,而無需私鑰存取。
BitKeysmithack 作為科學工具
BitKeysmithack 的功能並非黑盒破解工具,而是一個專門的研究架構。其架構包括:
- 交易模糊測試器:自動建立格式錯誤的輸入輸出結構,觸發 SIGHASH_SINGLE 溢位條件。
- 簽名收割器:掃描歷史區塊鏈區塊和記憶體池,尋找可利用的 SIGHASH_SINGLE 簽章。
- 偽造模擬器:模擬將收集到的簽名重新應用於新的詐欺交易。
- 驗證引擎:驗證偽造的交易是否在易受攻擊的實現下通過共識規則。
這種模組化設計使研究人員能夠:
- 重現Golden Onehash 劫案(CVE-2025-29774 的非正式名稱)。
- 量化區塊鏈中被盜地址的規模。
- 評估針對傳統比特幣用戶端和更新後的比特幣用戶端的攻擊可行性。
密碼學後果
在受控測試環境中發現 BitKeysmithack 會導致令人擔憂的後果:
- 私鑰過時:簽名實際上失去了唯一性,使得只有所有者才能授權資金的前提失效。
- 多重簽章錢包的漏洞:即使要求多個金鑰批准,也無法阻止簽章重用漏洞的攻擊。
- 大規模恢復潛力:被困或無法訪問的錢包(以前因丟失私鑰而被鎖定)如果包含可利用的簽名,理論上可以被「恢復」。
- 系統性信任崩潰:無法區分真偽簽名,削弱了人們對比特幣安全模型的信心。
取證和恢復應用程式
儘管BitKeysmithack漏洞主要是一個危險的攻擊面,但它也揭示了一個頗具爭議的面向——合法找回失去的財富。如果相關交易存在CVE-2025-29774漏洞,那麼遺忘私鑰或無法存取硬體錢包的受害者或許能夠根據相同的加密原理找回他們的資金。這種雙重用途的可能性引發了重大的倫理和監管辯論,因為利用網路漏洞模糊了駭客行為和數位考古之間的界線。
因應措施
防止漏洞利用需要對比特幣的加密庫進行結構性改變:
- 嚴格的輸入輸出驗證:禁止在以下情況下進行簽名處理
nIn >= txOuts.size()。 - 棄用舊版用戶端:立即停用過時的比特幣函式庫(例如 libbitcoin ≤ 3.x)。
- 增強測試:涵蓋所有 SIGHASH 組合的自動化整合測試。
- 共識更新:考慮在共識層面上使過去易受攻擊的簽章失效。
討論
BitKeysmithack 漏洞凸顯了當軟體偏離協定規範時,加密信任的脆弱性。傳統的私鑰竊取需要對 22562^{256}2256 個密鑰空間進行暴力搜索,而 CVE-2025-29774 則徹底打破了這一壁壘。由此帶來的典範轉移是,比特幣的安全瓶頸不再是密碼學本身,而是其缺陷的實現。
BitKeysmithack 的矛盾之處在於它既是取證研究工具,也是潛在的攻擊工具包,因此需要密碼學研究界謹慎管理。
結論
CVE-2025-29774所揭示的Golden Onehash Heist攻擊,代表了十多年來比特幣簽名安全性的最嚴重漏洞。 BitKeysmithack框架作為一個科學探索框架,證明了曾經被認為能夠保證所有權的簽名,在存在缺陷的實現下,可能會完全脫離私鑰。這種現象使比特幣生態系統面臨未經授權的支出、系統範圍內的不穩定,甚至在私鑰被意外「恢復」的風險。
最終,CVE-2025-29774 案例警示我們,區塊鏈網路的完整性不僅取決於密碼學的可靠性,還取決於完美的實現保真度。因此,BitKeysmithack 事件既應被視為一個警示案例,也應被視為一個嚴謹的調查工具——一個“漏洞挖掘者”,它提醒世人,數字信任的瓦解並非源於蠻力破解,而是源於一行代碼的錯位。
研究論文:比特幣的 SIGHASH_SINGLE 加密漏洞:起源、後果與修復
介紹
比特幣網路中數位資產的安全依賴電子簽名產生機制的完整性和可靠性。 SIGHASH 機制是安全的關鍵驅動因素之一——它使用特殊的標誌來控制在創建數位簽章時應考慮交易的哪些部分。然而,比特幣的發展歷程中存在一個根本性的實現缺陷:SIGHASH_SINGLE 漏洞,它為一種被稱為「黃金一哈希劫持攻擊」(Golden Onehash Heist Attack)的極其危險的攻擊打開了方便之門。
脆弱性的本質和表現
在傳統場景中,SIGHASH_SINGLE 僅用於為交易的特定輸入輸出對建立簽章。根據標準,如果給定輸入沒有對應的輸出(即輸入索引超過輸出數量),則簽名雜湊函數必須傳回正確的值或中止操作。但在有漏洞的原始碼中,回傳的卻是固定的常數值,即所謂的 one_hash(將數字 1 轉換為 256 位元哈希值):coinspect +1
cppif (sighash_type == SIGHASH_SINGLE && nIn >= txOuts.size()) {
return uint256(1); // one_hash
}
漏洞是如何產生的?
當建立的交易中輸入數量超過輸出數量,且每個輸入都使用 SIGHASH_SINGLE 簽署時,所有「超出」的輸入都會傳回固定的雜湊值 one_hash。基於此哈希值創建的所有簽章對於以類似方式編碼的任何其他交易都有效,即使攻擊者沒有相應輸出的私鑰。此漏洞最初由 Matt Corallo 和 Jon Cave 公開報告;利用該漏洞的方法迅速傳播到許多其他比特幣錢包實作中。 decred +2
剝削的後果
利用此漏洞極其危險——使用此 one_hash 計算的簽名會成為通用的印章。攻擊者無需提供私鑰腳本即可建立新的交易,使其中使用的簽章被視為有效。後果包括:
- 能夠創建重複交易,花掉與受害者地址關聯的任何資金。
- 多重簽名錢包的徹底妥協
- 無需洩露任何真實私鑰即可竊取資金
- 如果索引超過輸出數量,則對任何輸入進行虛假驗證
從歷史上看,此類攻擊會導致直接的經濟損失、錢包被盜用,以及個人 pikabu 圖書館的信任度下降。
對原始實現的批判與分析
此漏洞源自於 SignatureHash 函數中輸入索引相對於輸出數量的範圍檢查不夠嚴格。一個典型的易受攻擊程式碼片段如下所示:
cppif (sighash_type == SIGHASH_SINGLE && nIn >= txOuts.size()) {
return uint256(1); // Критическая ошибка!
}
如果輸入索引大於輸出數量,則函數就會傳回 256 位元表示的 1——這就是漏洞的根源。 coinspect +1
安全修復:一種科學方法
排除法原理
- 阻止返回常數 one_hash(1);
- 執行硬範圍檢查:如果輸入超出輸出數組,則應認為該交易無效;
- 為了向後相容,建議傳回一個「不可能的」雜湊值,該雜湊值將無法通過驗證,或在驗證器程式碼中拋出異常。
安全性修補程式(C++ 版)
一個穩健的實作方式如下:
cppuint256 SignatureHash(const CScript& scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType)
{
// Проверяем допустимость индекса входа
if ((nHashType & 0x1f) == SIGHASH_SINGLE) {
if (nIn >= txTo.vout.size()) {
// Спецификация: транзакция невалидна, выбрасываем ошибку
throw std::runtime_error("SignatureHash(): SIGHASH_SINGLE but input index out of range");
}
}
// далее стандартное формирование preimage и хеша
// ...
}
安全須知
- 當嘗試使用 SIGHASH_SINGLE 對「不可能的」輸入進行簽名時,將調用異常代碼,並且該交易將不會包含在區塊鏈中;
- 沒有 one_hash 返迴路徑,所有簽名都與特定的交易狀態綁定;
- 即使程式碼仍然相容於舊客戶端,也無法偽造和重複使用有效的簽章。
確保未來安全
- 所有函式庫實作都必須對所有 SIGHASH 類型實作嚴格的索引檢查。
- 新增自動化測試,以處理 nIn >= txOuts.size() 的情況,確保能夠優雅地拒絕這些情況。
- 對第三方錢包和服務,特別是多重簽章解決方案進行審核,以確保它們支援更正的簽章邏輯。
- 建議實施 SegWit 甚至腳本級操作碼,以進一步隔離不必要的輸出支出場景,降低交易變異性的風險,並使簽章 重用攻擊更加複雜。
結論
隨著加密貨幣生態系統的發展,此類漏洞凸顯了實施標準化協議的責任之重。只有嚴格遵守規範並定期測試輸入/輸出索引的極端情況,才能確保真正的加密信任,並防止類似 Golden Onehash 劫持攻擊之類的攻擊 。
最終科學結論
上文討論的 SIGHASH_SINGLE 標誌處理中的關鍵漏洞,為比特幣歷史上最具破壞性的攻擊之一——數位簽名偽造攻擊 (CVE-2025-29774)——打開了方便之門。這種攻擊會破壞比特幣的基本安全原則——沒有所有者的私鑰就無法偽造支出,而這正是由網路的數位簽章和共識協議所保證的。
此漏洞的主要危險在於其概念性本質:錯誤處理 SIGHASH_SINGLE 參數會導致任何具有相同結構缺陷的「偽造」交易都能產生通用簽名。攻擊者無需私鑰即可產生並簽署交易,從而使比特幣系統無法區分資金的真正所有者和攻擊者。此漏洞威脅系統完整性,削弱其抵禦簽章重用攻擊的能力,並動搖參與者對網路價值儲存和轉移機制的信任。
利用此漏洞可能導致多重簽名錢包大規模被攻破、資金轉移,甚至可能引發比特幣生態系統信任崩潰。這清晰地展現了加密協議實現中的一個錯誤如何威脅到全球數位資產的整個社會經濟基礎設施。共識系統和數位簽章的可靠性要求在每個技術層面都做到絕對精確,因為即使最細微的疏忽都可能成為攻擊者的金鑰匙,以及合法用戶的致命安全漏洞。 github +2
總之,數位簽章偽造攻擊 (CVE-2025-29774) 對整個產業敲響了警鐘:區塊鏈安全始於細節的完美。驗證環節就算出現一個漏洞,你的數位資產都會化為烏有。
- https://github.com/demining/Digital-Signature-Forgery-Attack
- https://en.wikipedia.org/wiki/Digital_signature
- https://arxiv.org/html/2508.01280v1
- https://www.frontiersin.org/journals/computer-science/articles/10.3389/fcomp.2025.1457000/full
- https://pmc.ncbi.nlm.nih.gov/articles/PMC9925878/
- https://en.eitca.org/cybersecurity/eitc-is-acc-advanced-classical-cryptography/digital-signatures/elgamal-digital-signature/examination-review-elgamal-digital -signature/what-is-the-existential-forgery-attack-against-rsa-digital-signatures-and-how-does-it-exploit-the-construction-of-the-rsa-digital-signature-scheme/
- https://d-nb.info/1210812738/34
- https://pdfs.semanticscholar.org/dcf7/52223757a3154a82b191ef5d4a2c3f484f9d.pdf
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_3_1299952012999544
- https://www.coinspect.com/blog/capture-coins-challenge-1-sighashsingle/
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_3_1299952012999544
- https://decred.org/research/todd2014.pdf
- https://habr.com/ru/companies/distributedlab/articles/418853/
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%D1%83%D1%8F%D0%B7%D0%B2%D0BC %D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_ single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
- https://dl.acm.org/doi/10.1007/978-3-319-27152-1_1
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://bitcoincashresearch.org/t/transaction-malleability-malfix-segwit-sighash-noinput-sighash-spendanyoutput-etc/279
- https://polynonce.ru/digital-signature-forgery-attack/
- https://jonchave.co.uk/2014/08/bitcoin-sighash-single/
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_2_129995184
- https://habr.com/ru/articles/817237/
- https://pikabu.ru/story/issledovanie_uyazvimosti_signature_malleability_i_komprometatsii_privatnogo_klyucha_v_podpisi_bitcoin_chast_3_12055413
- https://cryptodeeptool.ru/digital-signature-forgery-attack/
- https://cryptodeep.ru
- https://www.nicehash.com/support/general-help/travel-rule/how-to-sign-a-wallet-using-wallet-signature-proof?lang=ru
- https://bitcointalk.org/index.php?topic=461351.0
- https://belapan.by/cryptocurrency/heshiruyushhaya-funkcziya-effektivno-primenyaetsya-v-tehnologii-blokchejn-dlya-obespecheniya-bezopasnosti-i-nadezhnosti-bitkojna
- https://cryptodeep.ru/publication/
- https://cryptodeep.ru/signature-malleability/
- https://github.com/demining/Milk-Sad-vulnerability-in-the-Libbitcoin-Explorer-3.x
- 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://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_3_1299952012999544
- https://cryptodeeptech.ru/milk-sad-vulnerability-in-libbitcoin-explorer/
- https://keyhunters.ru/critical-vulnerability-in-secp256k1-private-key-verification-and-invalid-key-threat-a-dangerous-attack-on-bitcoin-cryptocurrency-security-vulnerability-in-bitcoin——
- https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=936243
- http://seclab.cs.sunysb.edu/seclab/pubs/acsac05.pdf
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
- https://github.com/demining/Digital-Signature-Forgery-Attack
- https://stackoverflow.com/questions/2913618/how-is-integer-overflow-exploitable
- https://hackerone.com/reports/106315
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_2_129995184
- https://www.invicti.com/learn/integer-overflow/
- https://attacksafe.ru/private-keys-attacks/
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://stackoverflow.com/questions/2889473/when-is-it-safe-to-use-a-broken-hash-function
- https://cryptodeep.ru/milk-sad-vulnerability-in-libbitcoin-explorer/
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%D1%83%D1%8F%D0%B7%D0%B2%D0BC %D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_ single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
- https://www.paloaltonetworks.com/cyberpedia/what-is-a-payload-based-signature
- https://attacksafe.ru/how-hackers-used-the-milk-sad-bug-in-libbitcoin-explorer-3-x-to-steal-900000-from-btc-wallets/
- https://cvefeed.io/vuln/detail/CVE-2025-29775
- https://jonchave.co.uk/2014/08/bitcoin-sighash-single/
- https://www.fairgate.io/post/23-a-vulnerability-on-bitcoin-protocols-using-one-time-signatures
- https://arxiv.org/pdf/2007.08600.pdf
- https://en.bitcoin.it/wiki/Value_overflow_incident
- https://en.bitcoin.it/wiki/Weaknesses
- https://arxiv.org/pdf/2503.22156.pdf
- https://moldstud.com/articles/p-creating-bitcoin-wallets-the-best-libraries-to-use-for-secure-transactions
- https://pdfs.semanticscholar.org/c678/d64aa220af62d1397da19f43c1fef0f08316.pdf
- https://cryptodeeptool.ru/digital-signature-forgery-attack/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://digi-lib.stekom.ac.id/assets/dokumen/ebook/feb_d82be9cf1cb52e2b294a82275318a5c8235444eb_1654093256.pdf
- https://github.com/demining/Digital-Signature-Forgery-Attack
- https://cryptodeeptech.ru/digital-signature-forgery-attack/
- https://polynonce.ru/sighash-single-attack/
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_3_1299952012999544
- 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://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://i.blackhat.com/USA-19/Wednesday/us-19-Chau-A-Decade-After-Bleichenbacher-06-RSA-Signature-Forgery-Still-Works-wp.pdf
- https://nvd.nist.gov/vuln/detail/CVE-2023-46234
- https://keyhunters.ru/nonce-reuse-attack-critical-vulnerability-in-schnorr-signatures-implementation-threat-of-private-key-disclosure-and-nonce-reuse-attack-in-bitcoin-network/
- https://cryptodeeptools.ru/digital-signature-forgery-attack/
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitcoin_s_podfednyimi_rawtx_chast_2_129995184
- https://pikabu.ru/tag/%D0%A1%D1%82%D0%B0%D1%80%D1%82%D0%B0%D0%BF,%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D 1%81%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%B3%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C
- https://feedly.com/cve/cwe/347
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3549-digital-signature-forgery-attack-%D0%BA%D0%B0%D0%BA-%D1%83%D1%8F%D0%B7%D0%B2%D0%D1%83%D1%8F%D0%B7%D0%B2%D0BC %D0%BE%D1%81%D1%82%D0%B8-cve-2025-29774-%D0%B8-%D0%B1%D0%B0%D0%B3-sighash_ single-%D1%83%D0%B3%D1%80%D0%BE%D0%B6%D0%B0%D1%8E%D1%82-%D0%BC%D1%83%D0%BB %D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D0%BC-% D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0%D0%BC-%D0%BC%D0%B5%D1%82%D 0%BE%D0%B4%D1%8B-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D1%81-% D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-rawtx%2F
- 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://www.hackthebox.com/blog/business-ctf-2022-write-up-bbgun06
- https://polynonce.ru/digital-signature-forgery-attack/
- https://cryptodeep.ru/blockchain-api-and-web-services/
- https://attacksafe.ru/ultra-9/
- https://bitnovosti.io/2020/07/05/blokchejn-glossarij-terminov/