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, 上游代理, 加密算法, 后量子密码学, 密码学漏洞扫描, 无后门, 网络安全, 网络测绘, 运行时操纵, 逆向工具, 量子计算, 错误基检测, 隐私保护, 静态代码分析, 风险量化