nokoro27/quantumshield
GitHub: nokoro27/quantumshield
量子时代的密码学审计利器——扫描代码库中易受量子攻击的加密算法,生成加密物料清单并提供 NIST 后量子迁移合规报告。
Stars: 0 | Forks: 0
# QuantumShield
**在量子计算机破解您的加密之前,发现、评估并修复加密漏洞。**
QuantumShield 扫描源代码以查找量子脆弱的加密算法(RSA、ECDSA、DH、DSA、MD5、SHA-1、3DES),并生成**加密物料清单 (CBOM)**,其中包含监管风险映射、量子准备就绪评分以及符合 NIST 后量子标准的迁移指南。
## 问题背景
Shor 算法——运行在具有密码学相关性的量子计算机上——将破解 RSA、ECDSA 和 Diffie-Hellman。国家级对手已经在当下收集加密数据,以便在量子硬件成熟后解密(**现在收集-以后解密**)。NIST 于 2024 年确定了后量子标准(FIPS 203/204/205)。大多数企业代码库都没有关于易受攻击加密算法位置的清单。
## 演示
扫描 `paramiko` SSH 库——每家企业都在使用它,其评分为 **0/100**:
```
pip install httpx rich
python scan.py https://github.com/paramiko/paramiko --output cbom.json --report report.html
```
终端输出:
```
Quantum Readiness Score 0/100
Overall Risk Level CRITICAL
Severity Count Risk
CRITICAL 32 ######## Broken by Shor's algorithm — migrate immediately
HIGH 7 ### Weakened by quantum — plan migration
Regulatory Exposure:
✗ NIST PQC (FIPS 203/204/205) RSA, ECDSA
✗ NSA CNSA 2.0 RSA, ECDSA
✗ CMMC 2.0 RSA, ECDSA, MD5, SHA-1, 3DES
✗ NIS2 Directive RSA, ECDSA, MD5, SHA-1, 3DES
```
## 架构
```
quantumshield/
├── scan.py CLI scanner — scans GitHub repos or local directories
├── serve.py CBOM API server
├── scanner/
│ ├── rules.py 33 detection rules (Python, JS, Java, Go)
│ ├── engine.py Regex scanning engine
│ ├── github.py GitHub REST API v3 client
│ └── cbom.py CBOM data model + scoring
├── api/
│ ├── main.py FastAPI app + all routes
│ ├── database.py SQLite storage + CRUD
│ └── models.py Pydantic request/response schemas
└── dashboard/
└── index.html CISO dashboard (served at /dashboard/)
```
**第一阶段 — 扫描器:** CLI 工具,用于流式传输 GitHub 仓库,应用检测规则,并输出 CBOM JSON 和独立的 HTML 报告。
**第二阶段 — CBOM API:** FastAPI 后端,用于存储 CBOM、索引发现结果并提供汇总仪表板统计数据。
**第三阶段 — 仪表板:** 深色主题 Web UI,包含量子准备就绪评分仪表、严重性细分、监管风险和可筛选的发现结果表。
## 快速开始
### 1. 安装依赖项
```
pip install httpx rich fastapi uvicorn aiofiles pydantic
```
### 2. 扫描仓库(无需服务器)
```
python scan.py https://github.com/your-org/your-repo
python scan.py https://github.com/your-org/your-repo --output cbom.json --report report.html
```
### 3. 启动 API + 仪表板
```
python serve.py --port 8002
# 仪表板:http://127.0.0.1:8002/dashboard/
# API 文档:http://127.0.0.1:8002/docs
```
### 4. 扫描并上传到仪表板
```
python scan.py https://github.com/your-org/your-repo \
--output cbom.json \
--report report.html \
--upload http://127.0.0.1:8002
```
### GitHub Token(可选)
为了更快地扫描大型仓库,请设置 `GITHUB_TOKEN` 以将速率限制从每小时 60 个请求增加到 5,000 个:
```
export GITHUB_TOKEN=ghp_your_token_here
```
## 检测覆盖范围
| 语言 | 检测到的算法 |
|----------|-------------------|
| Python | RSA (PyCryptodome, python-rsa, PyCA), ECDSA/ECDH, DH, DSA, Paramiko RSA/ECDSA/DSS keys, PKCS1v15, MD5, SHA-1, 3DES, Blowfish, RC4, RSA-JWT, ECDSA-JWT |
| JavaScript | Node.js crypto RSA/EC generateKeyPair, RSA JWT, ECDSA, MD5, SHA-1 |
| Java | JCA KeyPairGenerator RSA/EC, Cipher RSA, MD5/SHA-1 MessageDigest, DH KeyAgreement |
| Go | `crypto/rsa`, `crypto/ecdsa`, `crypto/elliptic`, `crypto/md5`, `crypto/sha1`, `crypto/dsa` |
## 监管映射
每个发现结果都映射到相关的合规框架:
- **NIST PQC (FIPS 203/204/205)** — 美国后量子迁移强制令
- **NSA CNSA 2.0** — 商业国家安全算法套件
- **CMMC 2.0** — 国防部承包商要求
- **NIS2 Directive** — 欧盟网络安全法规
- **NIST SP 800-131A Rev.2** — 算法弃用时间表
## CBOM 格式
输出遵循 QuantumShield CBOM 模式(与 OWASP CycloneDX CBOM 对齐):
```
{
"quantum_shield_version": "0.1.0",
"scan_id": "...",
"summary": {
"quantum_readiness_score": 0,
"risk_level": "CRITICAL",
"total_findings": 39,
"critical": 32,
"high": 7
},
"findings": [...],
"regulatory_exposure": {
"NIST PQC (FIPS 203/204/205)": {
"status": "NON_COMPLIANT",
"gaps": ["RSA", "ECDSA"],
"finding_count": 38
}
}
}
```
## API 参考
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/health` | 健康检查 |
| `GET` | `/api/dashboard` | 所有扫描的汇总统计 |
| `GET` | `/api/scans` | 列出所有扫描 |
| `POST` | `/api/scans` | 上传 CBOM |
| `GET` | `/api/scans/{id}` | 包含发现结果的完整扫描 |
| `GET` | `/api/scans/{id}/findings` | 带有筛选器的发现结果 |
| `GET` | `/api/scans/{id}/export` | 下载 CBOM JSON |
| `DELETE` | `/api/scans/{id}` | 删除扫描 |
交互式文档位于 `/docs` (Swagger UI) 和 `/redoc`。
## 路线图
- [ ] CI/CD 插件
- [ ] 更多语言:C/C++, Rust, Ruby, PHP, C#
- [ ] AI 驱动的修复计划(特定库的迁移代码)
- [ ] 趋势跟踪——每个仓库随时间变化的评分
- [ ] SBOM 集成——将加密发现结果链接到依赖关系图
- [ ] 企业 SSO (SAML/Okta)
- [ ] PDF 报告导出
*使用 [Claude Code](https://claude.ai/claude-code) 构建*
标签:CBOM, CISO仪表盘, DevSecOps, FIPS 203, Harvest-Decrypt-Later, NIST标准, PQC, Python, RSA, SHA-1, 上游代理, 加密算法, 后量子密码学, 密码学漏洞扫描, 无后门, 网络安全, 网络测绘, 运行时操纵, 逆向工具, 量子计算, 错误基检测, 隐私保护, 静态代码分析, 风险量化