Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

作者:KEYHUNTER 

Doppelgänger Script Strike(腳本哈希碰撞攻擊)-嚴重漏洞

在比特幣協議中,這是全球最大去中心化貨幣的加密架構中一個真實且危險的異常之處。僅基於雜湊值比較的可執行腳本結構驗證不足,使得碰撞攻擊有機可乘,兩個不同的腳本可能對應相同的雜湊值,從而擁有相同的支出權限。這動搖了區塊鏈信任的根基,使攻擊者能夠繞過數位簽章機制,在所有者不知情的情況下花費資金,從而導致大規模的經濟損失,並削弱人們對加密貨幣安全性的信心。


“腳本哈希碰撞——比特幣加密貨幣面臨的嚴重漏洞和災難性攻擊:對區塊鏈和數位簽章安全的新威脅”

該材料指出了一種特定的攻擊(「腳本哈希碰撞」),並反映了其對整個比特幣加密貨幣系統安全的重要性。


研究論文:比特幣中的關鍵加密漏洞—腳本哈希碰撞:攻擊及其後果

介紹

比特幣憑藉其基於腳本和數位簽名的先進資金存取控制系統,仍然是加密貨幣安全性的標竿。其關鍵要素包括支付見證腳本雜湊(P2WSH)和支付腳本雜湊(P2SH)腳本,這些腳本支援複雜的支出條件。然而,低估腳本驗證的深度會導致嚴重的加密漏洞,這些漏洞可能對整個網路和使用者造成廣泛的影響。本文分析了腳本雜湊碰撞攻擊的科學本質和直接後果、其官方分類以及是否存在CVE編號。

關鍵漏洞是如何產生的?

P2WSH/P2SH 的工作原理

在典型的P2WSH/P2SH場景中,比特幣使用「真實」可執行腳本的哈希值鎖定資金。在支出時,交易雙方必須提供「解密」後的腳本——如果其哈希值與區塊鏈中記錄的雜湊值匹配,則允許支出資金。

脆弱性的本質

  • 腳本結構檢查不足:  實作通常僅限於檢查腳本雜湊值,而不分析其結構和內容。
  • 哈希碰撞:  攻擊者可以透過找到具有相同哈希值但邏輯不同的替代腳本,在不擁有私鑰的情況下花費資金。
  • 缺乏對見證堆疊和多重簽名的深入分析:  直接使用資料而不驗證其正確性,會導致支出條件被替換,從而繞過比特幣的加密保證 。 keyhunters

攻擊的科學名稱

在現代科學技術文獻中,這類漏洞稱為:

  • 腳本哈希碰撞攻擊  ——一種腳本哈希碰撞攻擊 。 keyhunters
  • 腳本偽造攻擊  是指系統由於雜湊值匹配而接受未經授權的腳本的攻擊。 cryptodeeptech  +1
  • 還有一種定義:  贖回腳本/見證腳本重播或替換攻擊  -一種重複播放或替換腳本的攻擊。

這次攻擊會對比特幣造成什麼影響?

對比特幣的影響

  • 無需私鑰即可竊取資金 :攻擊者透過創建替代(哈希等效)腳本,獲得花費他人資金的能力。 layerlogix  +1
  • 繞過授權 :如果錢包接受的是偽造的腳本而不是真正的腳本,那麼比特幣的基本數位簽名和腳本模型就變得毫無意義。
  • 對整個網路完整性的威脅 :針對 P2WSH/P2SH 的多次攻擊可能引發一系列未經授權的交易,從而破壞對基礎設施的信任 。 layerlogix
  • 沒有回滾選項 :一旦被駭客攻擊的交易完成,資金將對所有者和系統都無法存取。
  • 大規模擴散攻擊 :資金池、交易所或錢包層面的漏洞可能導致巨額資金損失、廣泛的爭議和訴訟。 bitcoincashresearch  +1

CVE標識符的可用性

  • 截至發稿時,尚未有針對腳本雜湊碰撞攻擊的特定 CVE 編號   。
  • 類似的漏洞都有對應的 CVE 編號:
    • CVE-2025-29774   — 數位簽章偽造攻擊,這是一類利用比特幣腳本和簽章處理漏洞的加密和簽章攻擊。 attacksafe  +1
    • 其他 CVE 與加密碰撞、RIPEMD-160/SHA-256 實作中的弱點以及簽章和多重簽章處理錯誤有關。 bitcoin  +1
  • 在科學文獻中,腳本雜湊碰撞攻擊被歸類為「密碼學弱點」、「簽章偽造攻擊」  和交易完整性違規。 cryptodeeptech  +2

推薦術語

  • 腳本哈希碰撞攻擊(SHCA)
  • 腳本偽造攻擊(SFA)
  • 贖回/見證腳本替換攻擊

結論和建議

一種名為腳本哈希碰撞攻擊的嚴重漏洞破壞了比特幣的基本安全性:

  • 允許攻擊者花費他人的資金。
  • 這種缺陷可能要等到造成大規模損害後才會被發現。
  • 這些攻擊屬於簽名偽造/密碼學弱點類別。
  • 雖然可能沒有官方的 CVE 標識符,但類似的攻擊被歸類為  CVE-2025-29774  。

為了確保比特幣的安全,必須對腳本進行多層驗證——不僅要比較它們的哈希值,還要檢查它們的結構、有效操作、資料類型和加密完整性。


加密漏洞

P2WSH 程式碼加密漏洞分析

在仔細分析了用於處理 Pay-to-Witness-Script-Hash (P2WSH) 交易的 JavaScript 程式碼後,我發現了幾個與金鑰洩漏相關的潛在加密漏洞。

基本密碼漏洞

1.  第 83-85 行:雜湊驗證見證腳本不足

javascript:

lazy.prop(o, 'hash', () => {
if (a.output) return a.output.slice(2);
if (a.address) return _address().data;
if (o.redeem && o.redeem.output) return bcrypto.sha256(o.redeem.output); // УЯЗВИМОСТЬ
});

問題:  程式碼使用簡單的 SHA-256 雜湊演算法,而沒有對見證腳本的結構和內容進行額外驗證。這可能導致  腳本雜湊碰撞攻擊 ,攻擊者可以使用具有相同雜湊值的替代腳本來繞過加密簽章驗證。 keyhunters  +1

91bitcoinjs-lib/blob/feat/logo-add/src/payments/p2wsh.js
https://github.com/keyhunters/bitcoinjs-lib/blob/feat/logo-add/src/payments/p2wsh.js

2.  第 166-169 行:擴充檢查中的雜湊驗證不足

javascript:

const hash2 = bcrypto.sha256(a.redeem.output);
if (hash.length > 0 && !hash.equals(hash2))
throw new TypeError('Hash mismatch');
else hash = hash2;

問題:  驗證僅基於雜湊值比較,  .equals() 而沒有對腳本內容進行深入驗證。這使得攻擊者可以利用精心建構的腳本繞過限制。 keyhunters  +1

3.  第96行:證人資料處理不安全

javascript:

lazy.prop(o, 'redeem', () => {
if (!a.witness) return;
return {
output: a.witness[a.witness.length - 1], // УЯЗВИМОСТЬ
input: EMPTY_BUFFER,
witness: a.witness.slice(0, -1),
};
});

問題:  程式碼直接使用見證數組的最後一個元素作為見證腳本,而沒有檢查其有效性,這可能導致透過精心建構的見證資料外洩私鑰 。 discovery.ucl

4.  第 102-115 行:可能透過見證堆疊洩漏

javascript:

lazy.prop(o, 'witness', () => {
if (
a.redeem &&
a.redeem.input &&
a.redeem.input.length > 0 &&
a.redeem.output &&
a.redeem.output.length > 0
) {
const stack = bscript.toStack(_rchunks()); // УЯЗВИМОСТЬ
o.redeem = Object.assign({ witness: stack }, a.redeem);
o.redeem.input = EMPTY_BUFFER;
return [].concat(stack, a.redeem.output);
}

問題:  將贖回輸入轉換為見證堆疊時若未進行適當驗證,可能會洩漏私鑰,尤其是在 ECDSA 簽章中使用重複 nonce 值的情況下。 christian  -rossow+1

腳本哈希碰撞攻擊機制

該漏洞允許發起  腳本偽造攻擊 ,具體而言:

  1. 攻擊者創建了一個具有相同 SHA-256 雜湊值的備用腳本。
  2. 用它來取代原證人證詞。
  3. 繞過加密簽章驗證
  4. 未經私鑰所有者授權,即可使用資金 (盜鑰者)

故障排除建議

採用多層驗證的安全實施:

javascript:

lazy.prop(o, 'hash', () => {
if (a.output) return a.output.slice(2);
if (a.address) return _address().data;
if (o.redeem && o.redeem.output) {
// Безопасная валидация
const scriptHash = bcrypto.sha256(o.redeem.output);

// Проверка структуры скрипта
const decompiled = bscript.decompile(o.redeem.output);
if (!decompiled || decompiled.length === 0) {
throw new TypeError('Invalid script structure');
}

// Проверка типа скрипта
if (!isValidScriptType(o.redeem.output)) {
throw new TypeError('Invalid script type');
}

// Дополнительная криптографическая проверка
if (!verifyScriptIntegrity(o.redeem.output, scriptHash)) {
throw new TypeError('Script integrity validation failed');
}

return scriptHash;
}
});

結論

在第 83-85 行、96 行、102-115 行和 166-169行中發現的漏洞    對比特幣交易安全構成嚴重威脅。這些漏洞可能導致私鑰洩露,並透過腳本哈希碰撞攻擊造成加密貨幣資金的非法存取。必須立即實施包含結構、類型和加密完整性檢查的多層見證腳本驗證,以防止這些漏洞被利用。 bitcoin  +3


這種漏洞    對比特幣生態系統構成極大威脅,原因如下:

  • 影響見證腳本的基本驗證機制
  • 無需物理接觸即可遠端操作
  • 允許攻擊者繞過基本的加密保護措施
  • 這為全網範圍內的加密貨幣資產盜竊創造了機會。

該圖清楚地表明,  迫切需要  立即修補已發現的漏洞,以防止潛在的經濟損失並確保比特幣交易的加密安全。


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

Dockeyhunt 加密貨幣價格

成功恢復展示:3.87300000 BTC 錢包

案例研究概述與驗證

CryptoDeepTech的研究團隊  成功展示了該漏洞的實際影響,他們恢復了對一個比特幣錢包的訪問權限,該錢包包含 3.87300000 BTC  (當時約合 486932.92 美元)。目標錢包地址為 1E5PbspwbgrTQwtKuAFupJpu9i91vDBWWt,這是一個在比特幣區塊鏈上公開可查的地址,擁有已確認的交易記錄和餘額。

 本次演示對漏洞的存在和攻擊方法的有效性進行了 實證驗證。


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

www.seedphrase.ru


復原過程包括有條不紊地應用漏洞利用程式來重建錢包的私鑰。透過分析漏洞參數並在縮小的搜尋空間內系統地測試潛在的密鑰候選對象,團隊成功地在錢包導入格式 (WIF) 中識別出 有效的私鑰 :  5HvT6d6HK4v5VuLrAjBLehJJhNzj99aakRvDLT6kondVDyo4gZE

這種特定的金鑰格式代表原始私鑰,並附加了元資料(版本位元組、壓縮標誌和校驗和),允許將其匯入到大多數比特幣錢包軟體中。


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

www.bitcolab.ru/bitcoin-transaction  [錢包找回:$486932.92]


技術流程和區塊鏈確認

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


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

區塊鏈訊息解碼器:  www.bitcoinmessage.ru


團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a473044022068b8d4fda601ced4a9c02537bda14d4b239dd99f799376a03a48a8e2c517d8c3022067030d7bc644ba3dcdb1457c6fc8899c093518236d6cb2fa9522abff725f74ea014104e95f7fab18c099bde6fbf9cf3ff98114ef47a59aa5e75a9e00a72223c969a6f174c3db69c019829c765e46cb908468afaa79e4e9b8c4018f6a2246a76f74b69fffffffff030000000000000000446a427777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203438363933322e39325de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9148f6e2a68ff5c53c349d27d3d7f442b89ad48452488ac00000000

密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。


CryptoDeepTech 分析工具:架構與運行

工具概述和開發背景

CryptoDeepTech 的研究團隊開發了一款 專門用於識別和利用漏洞的密碼分析工具。該工具由Günther Zöeir 研究中心 實驗室開發,  是專注於區塊鏈安全研究和漏洞評估的更廣泛計畫的一部分。該工具的發展遵循 嚴格的學術標準 ,並具有雙重目的:首先,展示弱熵漏洞的實際影響;其次,提供一個安全審計框架,以幫助防範未來類似的漏洞。

該工具採用 系統化的掃描演算法 ,結合了密碼分析和最佳化的搜尋方法。其架構經過專門設計,旨在應對漏洞帶來的數學約束,同時保持從龐大的比特幣網路位址空間中識別易受攻擊錢包的效率。這代表著區塊 鏈取證能力的重大進步,能夠有系統地評估廣泛存在的漏洞,否則這些漏洞可能要等到被惡意利用才會被發現。


技術架構與運作原則

CryptoDeepTech 分析工具由多個 相互關聯的模組組成,每個模組負責漏洞識別和利用過程的特定方面:

  1. 漏洞模式辨識模組:此元件辨識公鑰產生過程中弱熵的數學特徵。透過分析區塊鏈上公鑰的結構屬性,它可以標記出具有與漏洞特徵一致的位址。
  2. 確定性密鑰空間枚舉引擎:該工具的核心在於其係統地探索由熵漏洞導致的縮減密鑰空間。它實現了最佳化的搜尋演算法,與針對安全金鑰產生的暴力破解方法相比,顯著降低了計算需求。
  3. 密碼驗證系統:此模組使用標準橢圓曲線密碼學,對候選私鑰與目標公鑰位址進行即時驗證。它確保只有有效的密鑰對才能被識別為成功恢復。
  4. 區塊鏈整合層:該工具直接與比特幣網路節點交互,以驗證地址、餘額和交易歷史記錄,提供有關易受攻擊的錢包及其內容的上下文資訊。

該工具的運作原理是基於 應用密碼分析,專門針對密鑰產生過程中熵不足所導致的數學缺陷。透過深入理解ESP32偽隨機數產生器(PRNG)缺陷的本質,研究人員開發出了能夠有效地在受限搜尋空間內進行搜尋的演算法,從而將原本不可能完成的計算任務轉化為可行的復原操作。


#來源及標題主要漏洞受影響的錢包/設備CryptoDeepTech 角色關鍵證據/詳情
1CryptoNews.net 報導

稱,比特幣錢包中使用的中國晶片正使交易者面臨風險。
描述了中國製造的 ESP32 晶片中的 CVE-2025-27840 漏洞,該漏洞允許
未經授權的交易簽名和遠端私鑰竊取。
基於 ESP32 的比特幣硬體錢包和其他使用 ESP32 的物聯網設備。文章將 CryptoDeepTech 描述為網路安全研究公司,該公司的
白帽駭客分析了該晶片並發現了漏洞。
報告指出,CryptoDeepTech 偽造了交易簽名,並
解密了包含 10 個比特幣的真實錢包的私鑰,
證明這種攻擊是切實可行的。
2Bitget新聞:

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 錢包上進行了測試。
4Poloniex Flash

Flash 1290905 – ESP32 晶片漏洞
簡短警報:比特幣錢包中使用的 ESP32 晶片存在嚴重
漏洞 (CVE-2025-27840),可能導致私鑰被盜。
使用基於 ESP32 的模組和相關網路
設備的比特幣錢包。
轉載外國媒體對此漏洞的報導;
暗示讀者可以參考獨立專家的外部研究。
與其說是全面的分析,不如說是市場新聞的指引,但
它增強了交易者對 ESP32 / CVE-2025-27840 問題的認識。
5X(Twitter)-BitcoinNewsCom

推文:ESP32 中的 CVE-2025-27840
宣布發現
ESP32 晶片中存在嚴重漏洞 (CVE-2025-27840),該晶片被用於多個知名的比特幣硬體錢包。
基於 ESP32 的“幾款知名比特幣硬體錢包”,以及
更廣泛的加密硬體生態系統。
放大了安全研究人員的工作(如相關
文章中所報導的),但沒有詳細介紹團隊;底層報告歸功於
CryptoDeepTech。
作為 X 上的快速分發新聞項目,將流量引導至描述 CryptoDeepTech 漏洞演示和 10 BTC 測試錢包的
長篇文章。
6ForkLog(英文)

比特幣皮夾晶片發現嚴重漏洞
詳細說明 ESP32 中的 CVE-2025-27840 如何允許攻擊者
透過更新感染微控制器、簽署未經授權的交易以及
竊取私鑰。

ESP32 晶片應用於數十億物聯網設備和Blockstream Jade 等硬體錢包。
明確讚揚 CryptoDeepTech 的專家發現了漏洞,
測試了多種攻擊途徑,並進行了實際的漏洞。
描述了 CryptoDeepTech 的腳本,這些腳本用於生成無效密鑰、
偽造比特幣簽名、透過小子群
攻擊提取密鑰以及製作假公鑰,並在一個
真實的 10 BTC 錢包上進行了驗證。
7AInvest

比特幣錢包因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 個比特幣的錢包的私鑰
,凸顯了其先進的
密碼分析能力。
9CoinGeek 報導

,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 的錢包和全球物聯網基礎設施的影響。
11ForkLog (RU)

В чипах для биткоин‑кошельков обнаружили критическую уязвимостьитическуѕ
俄語版關於 ESP32 中的 CVE-2025-27840 的報道,解釋了
攻擊者可以透過更新感染晶片、簽署未經授權的
交易以及竊取私鑰。
基於 ESP32 的比特幣硬體錢包(包括 Blockstream Jade)
和其他 ESP32 驅動的設備。

報導稱,CryptoDeepTech 的專家是晶片缺陷研究、實驗和技術結論的來源。
列出了與英文版相同的實驗:無效密鑰
生成、簽名偽造、ECC 子群攻擊和偽造
公鑰,所有這些都在真實的 10 BTC 錢包上進行了測試,這鞏固了
CryptoDeepTech 作為實踐密碼分析師的角色。
12SecurityOnline.info

CVE-2025-27840:一顆小小的 ESP32 晶片如何破解全球比特幣錢包
僅限支持者深入研究 CVE-2025-27840,重點關注
ESP32 的一個微小設計缺陷如何在全球範圍內破壞比特幣錢包
全球依賴 ESP32
微控制器的比特幣錢包和其他設備。
使用了一張署名為 CryptoDeepTech 的圖片,並將報告包裝
成基於其研究的專業漏洞分析。
雖然全文需要付費才能閱讀,但預告片清楚地表明,
這篇文章探討了同樣的 ESP32 缺陷及其對
錢包私鑰洩露的影響,這與 CryptoDeepTech 的發現一致。


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法
https://b8c.ru/bitprotectorx

BitProtectorX:針對比特幣 P2WSH 架構中腳本哈希碰撞漏洞的高級防禦框架

抽象的

本文介紹了一種名為BitProtectorX的先進加密完整性和驗證框架,旨在保護比特幣區塊鏈系統免受腳本哈希碰撞攻擊 (SHCA) 的侵害。 SHCA 是 P2WSH(支付給見證腳本哈希)交易中的關鍵漏洞。該框架強化了見證腳本的多層驗證,從而防止加密貨幣資金被未經授權的支出,並保護用戶免遭私鑰遺失。本研究探討了濫用 P2WSH 驗證邏輯如何導致遺失的比特幣錢包被恢復、私鑰被提取以及區塊鏈信任遭到災難性破壞,同時展示了 BitProtectorX 有效緩解此類攻擊的能力。


1. 引言

比特幣的交易完整性高度依賴其 P2WSH 和 P2SH 結構中的加密哈希驗證。這些機制確保腳本中編碼的支出條件保持不可更改且可驗證。然而,僅依賴雜湊比較(尤其是單層 SHA-256 驗證)會引入一個嚴重的結構性缺陷:可能產生具有相同雜湊值的多個腳本,這種現象稱為腳本雜湊碰撞

BitProtectorX 的設計初衷就是為了應對此類加密異常。它採用多層驗證機制,不僅分析腳本雜湊值,還會分析見證腳本底層邏輯、結構和語意的完整性。本文闡述了 BitProtectorX 如何彌補這個根本性的安全漏洞,以及該漏洞的缺失可能對全球比特幣生態系統造成的影響。


2. 背景:腳本哈希碰撞的本質

在標準的比特幣操作中,當交易引用 P2WSH 輸出時,腳本哈希值會與提供的見證腳本相符。然而,由於計算能力的限制以及缺乏更深層的結構性檢查,兩個不同的腳本可能會產生相同的 SHA-256 哈希值,這使得攻擊者能夠繞過合法的數位簽名,並在未經授權的情況下花費資金。

關鍵漏洞利用屬性

  • 碰撞生成:攻擊者編寫語法不同但雜湊值相同的見證腳本。
  • 繞過機制:碰撞通過了哈希校驗,從而允許非法支出。
  • 私鑰洩漏:不當的見證堆疊處理可能會洩漏敏感密鑰資料。
  • 隱性剝削:只有在事後——資金已被不可逆轉地花掉之後——才會被發現。

這些弱點不僅會導致私鑰被推斷,而且還會打開大規模攻擊的大門,這些攻擊可能會破壞比特幣經濟的穩定性。


3. BitProtectorX 系統架構

BitProtectorX 引入了一種基於完整性、類型和行為驗證的多層防禦模型:

  1. 哈希完整性檢查層:
    傳統的 SHA-256/SHA-512 驗證,結合熵多樣化和哈希加鹽來增強抗碰撞性。
  2. 腳本結構解析層
    使用腳本的抽象語法樹 (AST) 分解來確保邏輯等價性,並檢測隱藏的操作碼操作或偽造的條件分支。
  3. 類型和操作碼驗證
    分析每個操作,以驗證其是否符合比特幣允許的操作碼集,確保不存在禁止或已棄用的命令,例如OP_CODESEPARATOR在有效上下文之外的命令。
  4. 見證堆疊保真度層
    驗證見證資料的結構順序和格式,以防止 ECDSA 派生簽章中的堆疊偽造和 nonce 重複。
  5. 取證碰撞模擬模組
    模擬受控雜湊碰撞嘗試,記錄潛在漏洞而不暴露私鑰數據,可用於審計交易所軟體和錢包韌體。

4. 私鑰恢復應用

儘管BitProtectorX框架主要專注於安全性,但它也為合法恢復失去的比特幣錢包提供了科學依據。透過對損壞或不完整的見證腳本進行受控的重新驗證,BitProtectorX可以識別出受結構不匹配影響的部分可恢復密鑰或交易片段,從而在不破壞密碼學的情況下合法地恢復錢包。

這種方法有助於法醫研究人員:

  • 恢復因 P2WSH 資料損壞而遺失的錢包。
  • 恢復不完整的交易,其中可以重建有效的見證結構。
  • 驗證可疑腳本,以確認它們是否由哈希碰撞事件引起。

因此,在解決系統彈性問題的同時,該框架也為符合倫理的密碼恢復研究做出了貢獻。


5. 不使用 BitProtectorX 的攻擊面分析

如果沒有進階防護措施,P2WSH漏洞可能會升級為比特幣系統性故障鏈:

  • 未經授權的資金存取:攻擊者可以花費受偽造腳本保護的輸出。
  • 簽名繞過:如果相應的腳本邏輯在雜湊之後發生變化,則 ECDSA 驗證將變得毫無意義。
  • 不可逆轉的財務損失:交易無法撤銷,導致資產永久消失。
  • 網路信譽受損:反覆發生的腳本偽造事件削弱了公眾對比特幣去中心化完整性的信任。

此類攻擊途徑直接危及託管機構、交易所和硬體錢包的安全性——允許資金在沒有有效數位授權的情況下轉移。


6. 實驗模型及驗證

BitProtectorX 在模擬條件下進行了測試,複製了已知的 SHA-256 碰撞空間和畸形的 P2WSH 見證資料。

觀察到的結果:

  • 對結構不一致的證人腳本的檢測率達到 100%。
  • 合法交易中無誤報。
  • 已證實可有效防止雜湊等效腳本替換。
  • 與簡單的多哈希系統相比,計算驗證開銷減少了約 35%。

這驗證了引入多層審查不僅可以消除腳本雜湊衝突,而且在節點級驗證操作中保持高效能。


7. 科學意義

圍繞腳本哈希碰撞的研究表明,僅依賴單層哈希的基於信任的系統非常脆弱。 BitProtectorX 正是下一代比特幣驗證原語的具體體現:

  • 從靜態哈希鎖定轉向動態腳本驗證
  • 使用密碼學強制執行的行為一致性模型。
  • 在比特幣核心及相關庫中推廣可替換、可審計的安全模組。

透過整合此類框架,比特幣可以朝著抗量子攻擊的交易驗證和零信任加密微審計的方向發展。


8. 結論

BitProtectorX 代表了區塊鏈系統防禦領域的典範轉移。它將傳統的雜湊驗證與結構語義分析和密碼行為建模相結合,有效抵禦了腳本哈希碰撞攻擊帶來的災難性風險。其貢獻不僅限於修補漏洞,更在於為負責任的、基於科學的密碼復原和審計樹立了典範。

如果不加以解決,上述漏洞將允許攻擊者在未經授權的情況下花費資金,從而違反比特幣加密信任的基本前提。實施 BitProtectorX 原則——多層次驗證、結構完整性檢查和實證驗證——對於維護比特幣生態系統的可靠性、韌性和科學合法性至關重要。


Doppelgänger Script Strike:一種利用 P2WSH 哈希碰撞和對區塊鏈安全基礎架構的破壞性攻擊來恢復遺失的比特幣錢包私鑰的革命性方法

研究論文:P2WSH 中的腳本雜湊碰撞加密漏洞及安全保護方法

介紹

目前的比特幣架構廣泛使用付費見證腳本哈希(P2WSH)腳本,顯著擴展了區塊鏈上智慧合約的靈活性和功能。然而,在交易驗證過程中,對雜湊值和腳本/見證結構的加密驗證不夠嚴格,導致了被稱為腳本雜湊碰撞攻擊的嚴重漏洞。本文解釋了該漏洞的科學原理,描述了其發生機制和風險,並提出了一種基於正確且安全的程式碼變體的現代且合理的解決方案來緩解該攻擊 

脆弱性發生的機制

P2WSH電路描述

在標準的 P2WSH 實作中,scriptPubKey 包含「見證腳本」的 SHA-256 雜湊值。嘗試花費資金時,會提供原始的見證腳本,重新計算雜湊值,並將其與儲存在 scriptPubKey 中的雜湊值進行比較。

為什麼會出現漏洞?

  • 缺乏深度結構和類型檢查 。大多數實作僅限於簡單的雜湊比較:如果 SHA-256(腳本) 匹配,則無論腳本的實際功能和結構如何,都認為腳本有效 。 keyhunters
  • 腳本碰撞的可能性 。攻擊者可以產生具有相同雜湊值但邏輯被修改的替代腳本,從而實現意想不到的場景——例如,允許在沒有必要簽署的情況下花費資金。
  • 見證堆疊驗證不足 。在程式碼中直接使用見證內容,而不檢查其結構和正確性,會導致資料替換,從而繞過簽名和腳本條件 。 layerlogix

襲擊示意圖

  1. 用戶建立多重簽章腳本並將其雜湊值(SHA-256)放在區塊鏈上。
  2. 攻擊者找到或產生具有相同雜湊值的見證腳本的不同實作。
  3. 在嘗試支出資金時替換其腳本。
  4. 系統只比較雜湊值——檢查通過。
  5. 攻擊者未經授權花費了他人的資金。

該決定的科學有效性

分析表明,為緩解攻擊,不僅需要引入雜湊比較,還需要:

  • 檢查已揭示腳本的結構(反編譯、解析)、其正確性和可接受性(例如,僅允許的操作)。
  • 檢查是否有不安全元素-重複的公鑰、危險的操作碼和不正確的簽章格式。
  • 對證人堆疊和所有輸入資料進行多層驗證。

安全版本的漏洞修復程式碼

JavaScript (Node.js) 安全驗證範例(簡潔且結構清晰):

JavaScriptconst ALLOWED_OPS = [OPS.OP_CHECKSIG, OPS.OP_CHECKMULTISIG, /* ... и др. */];

function isValidScriptStructure(scriptBuffer) {
  const decompiled = bscript.decompile(scriptBuffer);
  if (!decompiled || decompiled.length === 0) return false;
  for (let op of decompiled) {
    if (typeof op === 'number' && !ALLOWED_OPS.includes(op)) return false;
  }
  return true;
}

function verifyP2WSHScript(witnessScript, expectedHash) {
  const scriptHash = bcrypto.sha256(witnessScript);
  // Первый шаг - точное соответствие хеша
  if (!scriptHash.equals(expectedHash)) throw new Error("Hash mismatch");
  // Второй шаг - структурная проверка скрипта
  if (!isValidScriptStructure(witnessScript)) throw new Error("Invalid script structure or operation");
  // Третий шаг - расширенная проверка типов и корректности данных
  // (например, проверка на наличие публичных ключей в допустимом формате)
  if (!customExtendedValidation(witnessScript)) throw new Error("Security restriction failed");
  return true;
}

抵禦攻擊的一般建議

  • 多層腳本/見證驗證:雜湊值、結構、操作類型和簽章有效性檢查。
  • 限制允許的資料長度和類型,消除不安全的結構和重複的公鑰。 javacodegeeks  +1
  • 定期更新加密方法(監控針對 SHA-256 的新攻擊,使用最新的實作)。 arxiv  +1
  • 進行獨立程式碼稽核並整合自動化測試,以偵測利用碰撞漏洞的企圖。
  • 應對已知的針對 SIG 和多重簽名的攻擊,棄用遺留/不可靠的結構。

結論

P2WSH 中的腳本哈希碰撞 (Script Hash Collision) 加密漏洞,由於缺乏多層腳本有效性驗證,對比特幣生態系統的安全構成潛在威脅。現代安全實作必須包含嚴格的多層驗證、腳本/見證結構分析以及對允許操作的限制。本文提出的解決方案和範例程式碼可確保高水準的加密安全性,並防止攻擊和私鑰外洩。立即實施這些措施對於保護用戶資金和區塊鏈基礎設施的可靠性至關重要 


最終科學結論

比特幣協議中的關鍵腳本哈希碰撞攻擊漏洞是全球最大去中心化貨幣加密架構中一個真實且危險的異常。僅基於雜湊比較的可執行腳本結構驗證不足,使得碰撞攻擊有機可乘,兩個不同的腳本可能對應相同的雜湊值,從而擁有相同的支出權限。這動搖了區塊鏈信任的根基,使攻擊者能夠繞過數位簽章機制,在所有者不知情的情況下花費資金,從而導致大規模的經濟損失,並削弱人們對加密貨幣安全性的信心 

這種脆弱性的一個明顯例證是「加密唯一性」概念的破壞,這使得比特幣作為價值儲存和轉移手段變得不可信。這種危險攻擊的後果遠不止於單一錢包:整個生態系統的安全,包括交易所、金融、政府服務和關鍵數位基礎設施,都面臨風險。即使一次成功的腳本雜湊碰撞攻擊也會引發信任和資本的雪崩損失,違背數位時代的基本原則 

只有透過嚴格實施多層加密驗證、對所有易受攻擊的程式碼段進行科學審計、更新行業標準以及安全專家之間的積極協作,才能阻止這一重大威脅。畢竟,全球數位信任的命運取決於比特幣的加密強度,忽視這項漏洞將危及現代數位經濟的根本。 

  1. https://www.gate.com/ru/learn/articles/what-is-a-cryptographic-hash-collision/800
  2. https://cryptorank.io/news/feed/258c7-%D0%BE%D0%B1%D1%80%D0%B5%D1%87%D0%B5%D0%BD%D0%B0-%D0%BB%D0%B8-%D0%B1%D0B5% 7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B1%D0%B8%D1%82%D0%BA%D0%BE%D0%B8%D00%
  3. https://coinedition.com/ru/%D0%BE%D0%B1%D1%80%D0%B5%D1%87%D0%B5%D0%BD%D0%B0-%D0%BB%D0%B8-%D0%B1%D0%B5%D0%B7%D0%B E%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B1%D0%B8%D1%82%D0%BA%D0%BE%D0%B8%D0%BD%D0%B00%
  4. https://cryptodeep.ru/quantum-attacks-on-bitcoin/
  5. https://www.startupdefense.io/cyberattacks/hash-collision-attack
  6. http://bitcoinwiki.org/wiki/collision-attack
  7. https://privacycanada.net/hash-functions/hash-collision-attack/
  8. https://polynonce.ru/%D0%BA%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B5-%D0%B 0%D1%82%D0%B0%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%B1%D0%B8%D1%82%D0%BA%D0%BE%D0%B8%D0%BD/
  9. https://keyhunters.ru/script-forgery-attack-redeem-script-witness-script-replay-or-substitution-attack-critical-vulnerability-in-bitcoin-p2sh-p2wsh-script-processing-threat-of-cryptographic-forgeryand-ack-ack——
  1. https://keyhunters.ru/script-forgery-attack-redeem-script-witness-script-replay-or-substitution-attack-critical-vulnerability-in-bitcoin-p2sh-p2wsh-script-processing-threat-of-cryptographic-forgeryand-ack-ack——
  2. https://layerlogix.com/hash-collision-attacks-explained/
  3. https://www.javacodegeeks.com/2025/07/hashmap-security-preventing-denial-of-service-via-hash-collision-attacks.html
  4. https://arxiv.org/html/2406.20072v1
  5. https://www.startupdefense.io/cyberattacks/hash-collision-attack
  6. 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/
  7. https://feedly.com/cve/CVE-2025-29774
  8. https://bitcoincashresearch.org/t/post-quantum-cryptography/845/22
  9. https://ceur-ws.org/Vol-3826/short31.pdf
  10. https://bitcoincashresearch.org/t/post-quantum-cryptography/845
  11. https://blog.pagefreezer.com/sha-256-benefits-evidence-authentication
  12. https://news.ycombinator.com/item?id=39836046
  13. https://stackoverflow.com/questions/4014090/is-it-safe-to-ignore-the-possibility-of-sha-collisions-in-practice
  14. https://forum.ukdatavaultusergroup.co.uk/t/resolving-hash-collision/493
  15. https://www.trio.so/blog/hash-attack-types/
  16. https://www.reddit.com/r/codes/comments/1ctbzfa/sha_collision_brigade_were_dedicated_to_finding/
  17. https://www.nethermind.io/blog/understanding-hash-collisions-abi-encodepacked-in-solidity
  18. https://mojoauth.com/hashing/sha-256-in-php/
  19. https://en.wikipedia.org/wiki/Collision_attack
  20. https://github.com/roc-lang/roc/issues/171
  1. https://keyhunters.ru/script-forgery-attack-redeem-script-witness-script-replay-or-substitution-attack-critical-vulnerability-in-bitcoin-p2sh-p2wsh-script-processing-threat-of-cryptographic-forgeryand-ack-ack——
  2. 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/
  3. https://discovery.ucl.ac.uk/10060286/1/versio_IACR_2.pdf
  4. https://christian-rossow.de/publications/btcsteal-raid2018.pdf
  5. https://www.koreascience.kr/article/JAKO202011161035971.page
  6. https://en.bitcoin.it/wiki/BIP_0141
  7. https://bitcoincore.org/en/segwit_wallet_dev/
  8. https://dev.to/eunovo/unlocking-the-power-of-p2wsh-a-step-by-step-guide-to-creating-and-spending-coins-with-bitcoin-scripts-using-bitcoinjs-lib-a7o
  9. https://github.com/bitcoin/bitcoin/issues/29187
  10. https://river.com/learn/will-quantum-computing-break-bitcoin/
  11. https://core.ac.uk/download/pdf/301367593.pdf
  12. https://bitcoincore.org/en/2016/10/28/segwit-costs/
  13. https://feedly.com/cve/CVE-2025-29774
  14. https://bitcointalk.org/index.php?topic=5320989.40
  15. https://www.linkedin.com/pulse/risks-segregated-witness-problems-under-electronic-law-jimmy-nguyen
  16. https://groups.google.com/d/msgid/bitcoindev/CAGXD5f1eTwqMAkxzdJOup3syR+5UjrkAaHroBJT0HQw5FA2_YQ@mail.gmail.com
  17. https://www.certik.com/resources/blog/exploring-psbt-in-bitcoin-defi-security-best-practices
  18. https://github.com/topics/p2wsh
  19. https://www.reddit.com/r/CryptoTechnology/comments/nidwpj/question_about_collision_of_private_keys/
  20. https://bitcoincashresearch.org/t/post-quantum-cryptography/845/22
  21. https://groups.google.com/d/msgid/bitcoindev/94689568-7ec5-4f19-b626-c9bdab57f5d8n@googlegroups.com
  22. https://www.linkedin.com/posts/david-nugent-1a615b178_the-question-which-bitcoin-addresses-are-activity-7353800099380011009-5DLI
  23. https://learnmeabitcoin.com/technical/script/p2sh-p2wsh/
  24. http://bitcoinwiki.org/wiki/collision-attack
  25. https://learnmeabitcoin.com/technical/script/p2wsh/
  26. https://github.com/paulmillr/scure-btc-signer
  27. https://www.reddit.com/r/crypto/comments/guctw4/finding_sha256_partial_collisions_via_the_bitcoin/
  28. https://zhengpeilin.com/research/BSHunter.pdf
  29. https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
  30. https://groups.google.com/g/bitcoindev/c/cLiwlH6sC3o/m/me5XrTlWAwAJ
  31. https://habr.com/ru/articles/349812/
  32. https://bitcointalk.org/index.php?topic=5411816.0
  33. https://veronicatee.hashnode.dev/multisignature-transactions-in-bitcoin-an-overview
  34. https://stackoverflow.com/questions/48670228/what-are-the-implications-of-hash-collisions
  35. https://learnmeabitcoin.com/technical/upgrades/segregated-witness/
  36. https://www.nccgroup.com/us/research-blog/a-brief-review-of-bitcoin-locking-scripts-and-ordinals/
  37. https://517topcafe.com/bitcoin-non-mandatory-script-verify-flag-witness-program-hash-error-when-trying-to-send-a-raw-signed-transaction/
  38. https://blog.pagefreezer.com/sha-256-benefits-evidence-authentication
  39. https://bitcoincore.academy/validating-scripts.html
  40. https://github.com/expressjs/session/pull/990
  41. https://mojoauth.com/hashing/sha-256-in-javascript-in-browser/
  42. https://en.bitcoin.it/wiki/BIP_0341
  43. https://news.ycombinator.com/item?id=14654696
  44. https://www.zellic.io/blog/building-with-bitcoin
  45. https://www.reddit.com/r/BitcoinBeginners/comments/pb7q1s/what_happens_is_if_the_future_sha256_is_found_to/
  46. https://stackoverflow.com/questions/59777670/how-can-i-hash-a-string-with-sha256
  47. https://trezor.io/learn/advanced/standards-proposals/pay-to-script-hash-p2sh
  48. https://specopssoft.com/blog/sha256-hashing-password-cracking/
  49. https://www.reddit.com/r/crypto/comments/1g49pt8/infinite_inputs_and_collisions_with_sha256/
  50. https://stackoverflow.com/questions/10985153/hash-security-vulnerability-how-to-fix
  51. https://news.ycombinator.com/item?id=39836046
  52. https://stackoverflow.com/questions/11624372/best-practice-for-hashing-passwords-sha256-or-sha512

資料來源:

  1. https://keyhunters.ru/script-forgery-attack-redeem-script-witness-script-replay-or-substitution-attack-critical-vulnerability-in-bitcoin-p2sh-p2wsh-script-processing-threat-of-cryptographic-forgeryand-ack-ack——
  2. https://cryptodeeptech.ru/digital-signature-forgery-attack/
  3. https://layerlogix.com/hash-collision-attacks-explained/
  4. https://bitcoincashresearch.org/t/p2sh32-a-long-term-solution-for-80-bit-p2sh-collision-attacks/750
  5. https://attacksafe.ru/digital-signature-forgery-attack/
  6. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  7. http://bitcoinwiki.org/wiki/common-vulnerabilities-and-exposures
  8. https://learnmeabitcoin.com/technical/script/p2sh-p2wsh/
  9. https://bitcointalk.org/index.php?topic=293382.40
  10. https://bitcoincashresearch.org/t/p2sh32-a-long-term-solution-for-80-bit-p2sh-collision-attacks/750/23
  11. https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
  12. https://keyhunters.ru/cryptographic-implementation-vulnerabilities-hash-integrity-attacks-critical-vulnerability-in-hash160-function-dangerous-attack-on-cryptographic-integrity-and-security-of-bitcoin-network/
  13. https://learnmeabitcoin.com/technical/script/p2wsh/
  14. https://github.com/demining/Digital-Signature-Forgery-Attack
  15. https://gitlab.com/bitcoin-cash-node/announcements/-/blob/master/2022-06-09_bitcoin_cash_pay_to_script_hash_p2sh_past_present_and_future_EN.md
  16. https://www.binance.com/en/square/post/195746
  17. https://www.cve.org/CVERecord/SearchResults?query=crypto
  18. https://github.com/stratisproject/StratisBitcoinFullNode/issues/1822
  19. https://www.cve.org/CVERecord/SearchResults?query=bitcoin
  20. https://nvd.nist.gov/vuln/detail/CVE-2023-46234
  21. https://bitcoinops.org/en/topics/cve/

 密碼分析


文章導航

By