码简介

这套源码属于区块链硬件钱包安全研究项目,针对2026年7月公开披露的Coldcard硬件钱包RNG(伪随机数生成器)漏洞进行复现和验证。Coldcard Mk3/Mk4设备在使用时,其内部Yasmarang PRNG存在熵退化问题,导致助记词种子空间的实际熵值远低于理论值。该工具通过离线枚举所有可能的reseed值,结合布隆过滤器与真实比特币UTXO快照进行碰撞匹配,从而验证漏洞影响范围。项目同时提供了纯Python版本和Rust加速版本,适合网络安全研究人员和区块链安全工程师学习PRNG漏洞分析和批量密码学生成技术。注意:本工具涉及硬件钱包私钥恢复技术,仅供安全研究与授权测试使用,请勿用于非法目的。

适用场景

  • 硬件钱包安全漏洞研究与复现
  • 区块链密码学与PRNG分析学习
  • 布隆过滤器在大规模集合成员检测中的应用研究
  • 离线暴力枚举技术安全测试

技术栈与运行环境

  • 前端:无(纯命令行终端工具)
  • 后端:Python 3.8+,可选Rust加速模块(maturin编译)
  • 数据库:无,使用比特币UTXO离线快照(.dat文件)
  • 运行环境:Python环境 + numpy,Rust + maturin(可选)
  • 其他依赖:bip-utils、base58、mnemonic、numpy

功能亮点

  • Yasmarang PRNG精准复刻:完整复现Coldcard固件中的MicroPython Yasmarang伪随机数生成器算法,通过reseed值生成24词助记词,实现与漏洞设备相同的种子生成路径。
  • 离线布隆过滤器匹配:引入BloomFilter模块,将比特币UTXO快照中的scriptPubKey加载到内存布隆过滤器,实现O(1)复杂度的集合成员检测,避免逐条查询区块链API。
  • 多进程CPU并行引擎:coldcard_fast_poa.py使用Python multiprocessing实现多进程并行枚举,支持断点续扫(checkpoint机制),可中断后从上次位置继续。
  • Rust加速版本:coldcard_hybrid.py结合Rust扩展模块(coldcard_rs),利用Rayon并行运行时实现更高吞吐量的碰撞检测,理论速度可达每秒数千至数万Seed。
  • STM32 UID批量分析:内置analyze_uid_structure函数,可分析多个Coldcard设备的UID低32位,识别固定位和可变位,进一步缩小有效搜索空间。
  • 三种碰撞模式:支持全量预筛选(0到0xFFFFFFFF,43亿空间)、Mk3范围精准筛选(168K UID × 168K范围)、Mk4范围精准筛选(80K UID × 80K范围),覆盖不同攻击场景。

安装与部署提示

  1. 确保已安装Python 3.8+,运行pip install -r requirements.txt安装依赖(numpy、bip-utils、base58、mnemonic)。
  2. 下载比特币UTXO快照数据:从https://files-vps02.jaonoctus.dev/%E8%8E%B7%E5%8F%96utxo-935000.dat(约8.7GB),放入snapshot/目录。
  3. 运行snapshot_bloom.py解析UTXO数据生成scripts.csv,之后可自动构建Bloom缓存文件(.bloom.npz)。
  4. 纯Python模式:python coldcard_fast_poa.py -r 0 -p 4(-r为起始reseed,-p为并行进程数)。
  5. Rust加速模式:进入coldcard_rs目录执行maturin develop --release编译Rust模块后,再运行python coldcard_hybrid.py
  6. CPU多线程纯离线模式,无需连接区块链节点或外部API。

截图与演示说明

Coldcard RNG漏洞暴力破解工具Python源码下载

运行前需要注意什么?

需要Python 3.8+环境和numpy库。UTXO快照文件约8.7GB,首次运行需下载并解析。Rust加速模式需额外安装Rust工具链和maturin。全程本地离线运行,无网络请求。

适合二次开发吗?

源码结构清晰,密码学生成路径(Yasmarang→助记词→BIP44派生)和布隆过滤器匹配逻辑完全独立。适合学习PRNG漏洞分析和大规模集合匹配技术,但注意不要用于未授权的钱包访问。

安全风险提示

注意:本工具涉及硬件钱包私钥恢复技术,存在以下合规与安全风险。

  1. 硬件钱包漏洞利用:工具复现的是Coldcard硬件钱包的已知RNG漏洞,利用该漏洞恢复助记词并获取对应地址的比特币私钥。未经授权使用他人硬件钱包信息属于违法行为。
  2. 仅可用于授权测试:本工具仅应在已拥有该硬件钱包且经合法授权的测试环境中使用,或在安全研究中复现公开漏洞。
  3. UTXO数据依赖:工具依赖外部下载的UTXO快照,数据源为第三方托管,请自行验证数据完整性和来源可靠性。

特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!本工具仅供安全研究与教育用途,请勿用于任何非法访问他人资产的行为。

下载说明

源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。

本工具涉及硬件钱包安全研究,仅限安全研究人员在授权范围内使用。请勿用于未授权访问他人钱包、窃取加密资产等违法行为。