CryptoScan
面向后量子时代的密码学发现工具
找出你代码库中的每一个密码学算法。了解你的量子风险。获取迁移就绪评分。规划你的迁移路径。
为什么选择 CryptoScan •
快速开始 •
功能 •
完整文档 •
贡献
## 量子计算挑战
**量子计算机将在未来十年内破解 RSA、ECDSA 和 Diffie-Hellman。** 这绝非空穴来风——NSA、NIST 和各大科技公司已经在向后量子密码学 (PQC) 迁移。
挑战在哪里?**你无法迁移你不知道的东西。**
大多数组织对代码库、配置和依赖项中使用了哪些密码学算法毫无头绪。CryptoScan 通过在几秒钟内提供完整的密码学清单解决了这个问题——并附带完整的源代码上下文,让你确切知道需要更改什么以及在哪里更改。
## 为什么选择 CryptoScan
CryptoScan 专为量子就绪评估而构建:
| 能力 | CryptoScan | grep/ripgrep | 商业工具 |
|------------|:----------:|:------------:|:----------------:|
| 远程 Git URL 扫描 | **是** | 否 | 部分支持 |
| 源代码上下文 | **是** | 否 | 极少支持 |
| 量子风险分类 | **是** | 否 | 部分支持 |
| **后量子密码检测** | **是** | 否 | 极少支持 |
| **迁移就绪评分** | **是** | 否 | 否 |
| **混合密码识别** | **是** | 否 | 极少支持 |
| **QRAMM 框架映射** | **是** | 否 | 否 |
| **CI/CD 基线比较** | **是** | 否 | 部分支持 |
| **可配置退出代码** | **是** | 否 | 部分支持 |
| 上下文感知置信度 | **是** | 否 | 视情况而定 |
| CBOM 输出 | **是** | 否 | 极少支持 |
| 用于 GitHub Security 的 SARIF | **是** | 否 | 是 |
| 内联忽略注释 | **是** | 否 | 部分支持 |
| 特定模式抑制 | **是** | 否 | 极少支持 |
| 迁移指导 | **是** | 否 | 视情况而定 |
| 依赖扫描 | **是** | 否 | 部分支持 |
| 配置文件 | **是** | 不适用 | 是 |
| 开源 | **是** | 是 | 否 |
### 这些能力意味着什么
点击展开能力描述
**远程 Git URL 扫描** — 通过 URL 直接扫描任何公共或私有 Git 仓库,无需先克隆。只需运行 `cryptoscan scan https://github.com/org/repo.git` 即可立即获取结果。
**源代码上下文** — 每个发现结果都包含匹配项前后各 3 行代码,让你无需打开文件就能立即了解上下文。一眼就能看出它是在注释、测试还是生产代码中。
**量子风险分类** — 每个发现结果都标记有其量子计算威胁等级:VULNERABLE(易受攻击,被 Shor 算法破解)、PARTIAL(部分安全,被 Grover 算法削弱)、SAFE(安全,抗量子)或 UNKNOWN(未知)。这会准确告诉你首先需要迁移什么。
**后量子密码检测** — 检测 NIST 标准化的 PQC 算法,包括 ML-KEM (FIPS 203)、ML-DSA (FIPS 204)、SLH-DSA (FIPS 205) 以及草案版 FN-DSA (FIPS 206)。同时检测有状态哈希签名(根据 SP 800-208 的 XMSS、LMS)。能识别新的 FIPS 名称和旧版名称(Kyber、Dilithium、SPHINCS+)。
**迁移就绪评分** — 获取即时的百分比评分,展示你的代码库在后量子过渡方面的准备情况。该评分根据易受攻击和严重的发现结果,对量子安全算法 (100%)、混合实现 (80%) 和部分安全 (30%) 进行权重衡量。包含需要优先处理的高风险文件。
**混合密码识别** — 识别结合了经典算法和后量子算法的混合密码学实现,以实现深度防御。检测诸如 X25519+ML-KEM 密钥交换和 ECDSA+ML-DSA 组合签名等模式——这是推荐的过渡方案。
**QRAMM 框架映射** — 将所有发现结果映射到量子就绪保证成熟度模型 (QRAMM) 维度 1:密码学可见性与清单 (CVI)。展示你在发现 (实践 1.1)、漏洞评估 (实践 1.2) 和依赖映射 (实践 1.3) 方面的成熟度等级。
**上下文感知置信度** — 并非所有匹配项都同等重要。CryptoScan 会降低在注释、文档、日志消息和测试文件中发现结果的置信度。生产代码中的高置信度发现将优先于文档中的低置信度匹配项。
**CBOM 输出** — 生成密码学物料清单 (CBOM)——这是一种机器可读的清单,记录了代码库中使用的所有密码学算法。它是联邦合规性 (OMB M-23-02) 所必需的,对于跟踪量子迁移进度至关重要。
**用于 GitHub Security 的 SARIF** — 以 SARIF 格式输出发现结果,直接集成到 GitHub 代码扫描中。在 Pull Request 和仓库的 Security 标签页中以安全警报的形式查看密码学问题。
**内联忽略注释** — 使用 `// cryptoscan:ignore` 直接在代码中抑制误报。无需维护单独的排除文件或配置复杂的忽略规则。
**迁移指导** — 每个发现结果都包含具体的补救建议:迁移到哪种 NIST PQC 算法(如 ML-KEM、ML-DSA、SLH-DSA)、标准链接以及工作量估算。
**依赖扫描** — 扫描包清单文件(如 package.json、go.mod、requirements.txt、pom.xml 等),以识别依赖项中的加密库。支持 20 多种包管理器格式。
## 快速开始
### 安装
#### 选项 1:从源码构建
需要 **Go 1.21+**([安装 Go](https://go.dev/dl/))— 始终使用最新的补丁版本以获取安全修复
复制并粘贴整个代码块:
```
git clone https://github.com/csnp/cryptoscan.git
cd cryptoscan
go build -o cryptoscan ./cmd/cryptoscan
sudo mv cryptoscan /usr/local/bin/
cd ..
cryptoscan version
```
#### 选项 2:Go Install
适用于 Go 开发者:
```
go install github.com/csnp/cryptoscan/cmd/cryptoscan@latest
```
#### 选项 3:下载二进制文件
从 [GitHub Releases](https://github.com/csnp/cryptoscan/releases/latest) 下载预编译的二进制文件。
### 基本用法
```
# 扫描本地目录
cryptoscan scan .
# 扫描远程 Git 仓库
cryptoscan scan https://github.com/your-org/your-repo.git
# 输出到 JSON 以用于自动化
cryptoscan scan . --format json --output findings.json
# 生成 SARIF 以用于 GitHub Security 集成
cryptoscan scan . --format sarif --output results.sarif
```
### 试一试
本仓库包含用于测试的示例密码学代码:
```
# 克隆并构建
git clone https://github.com/csnp/cryptoscan.git
cd cryptoscan
go build -o cryptoscan ./cmd/cryptoscan
# 扫描示例文件 (Go, Python, Java, JavaScript)
./cryptoscan scan ./crypto-samples
# 预期:约 100+ 项发现,展示各种加密模式,包括:
# - 后量子:ML-KEM, ML-DSA, SLH-DSA, XMSS, LMS
# - 混合:X25519+ML-KEM, ECDSA+ML-DSA 组合
# - 量子易受攻击:RSA, ECDSA, Ed25519
# - MAC:HMAC-SHA256/512, KMAC
# - KDF:HKDF, PBKDF2, Argon2id, bcrypt
# - 附带迁移准备度评分和 QRAMM 映射
```
## 功能
### 全面检测
CryptoScan 能够识别整个技术栈中的密码学使用情况:
| 类别 | 我们检测的内容 |
|----------|----------------|
| **后量子密码学** | ML-KEM (Kyber), ML-DSA (Dilithium), SLH-DSA (SPHINCS+), FN-DSA (Falcon), XMSS, LMS |
| **混合密码学** | X25519+ML-KEM, ECDSA+ML-DSA 组合签名, 混合 TLS 密钥交换 |
| **非对称加密** | RSA (所有密钥长度), ECDSA, DSA, DH, ECDH, Ed25519, X25519 |
| **对称加密** | AES (CBC, GCM, ECB, CTR), ChaCha20-Poly1305, DES, 3DES, RC4, Blowfish |
| **哈希函数** | SHA-2, SHA-3, SHAKE128/256, BLAKE2, BLAKE3, MD5, SHA-1 |
| **MACs** | HMAC-SHA256/384/512, HMAC-SHA3, KMAC128/256, CMAC, GMAC, Poly1305 |
| **密钥派生 (KDFs)** | HKDF, PBKDF2, Argon2id, scrypt, bcrypt |
| **证书** | X.509, CSR, PKCS#12/PFX, 证书链, mTLS, 验证绕过, 过期, JWK |
| **TLS/SSL** | 协议版本, 密码套件, 弱配置, 证书固定 |
| **密钥材料** | 私钥 (RSA, EC, SSH, PGP, PKCS#8), JWT 密钥, HMAC 密钥 |
| **云 KMS** | AWS KMS, Azure Key Vault, GCP Cloud KMS, HashiCorp Vault |
| **依赖项** | 20 多种包管理器中的加密库 |
| **配置** | 硬编码的密钥长度, 算法选择, TLS 设置 |
拥有 **[90 多种检测模式](PATTERNS.md)**,结合上下文感知的置信度评分,最大程度减少误报。
### 量子风险分类
每个发现结果都根据量子计算威胁等级进行分类:
| 风险等级 | 含义 | 威胁 | 建议操作 |
|------------|---------|--------|-------------------|
| **VULNERABLE** | 被量子计算机破解 | Shor 算法 | 立即迁移至 PQC |
| **PARTIAL** | 安全性被量子计算降低 | Grover 算法 | 增加密钥长度 |
| **HYBRID** | 结合经典算法与 PQC | 深度防御 | 良好的过渡方案 |
| **SAFE** | 抗量子 | 不适用 | 无需操作 |
| **UNKNOWN** | 无法确定 | 未知 | 需要人工审查 |
### 迁移就绪评分
CryptoScan 会计算 **迁移就绪评分**,让你一目了然地了解代码库对后量子过渡的准备情况:
```
═══════════════════════════════════════════════════════════════════════════════
MIGRATION READINESS SCORE
═══════════════════════════════════════════════════════════════════════════════
Score: 41.9% [██████████░░░░░░░░░░░░░░░░░░░░] CRITICAL
┌─────────────────────────────────────────────────────────────────────────┐
│ Safe (Quantum-Resistant) 33 ████████████████████████████████ │
│ Hybrid (Transition) 4 ████ │
│ Partial (Needs Upgrade) 44 ████████████████████████████████████ │
│ Vulnerable (Quantum Risk) 28 ████████████████████████████ │
│ Critical (Immediate Risk) 9 █████████ │
└─────────────────────────────────────────────────────────────────────────┘
```
评分公式:`(Safe + Hybrid×0.8 + Partial×0.3) / Total × 100`
**评分等级:**
- **EXCELLENT** (90%+):已准备好进行后量子过渡
- **GOOD** (70-89%):需要少量整改
- **MODERATE** (50-69%):需要大量工作
- **POOR** (30-49%):需要重大的迁移工作
- **CRITICAL** (<30%):需要紧急采取行动
### QRAMM 框架集成
CryptoScan 将发现结果映射到**量子就绪保证成熟度模型 (QRAMM)** 维度 1:密码学可见性与清单 (CVI):
```
QRAMM CVI Readiness:
┌─────────────────────────────────────────────────────────────────────────┐
│ Practice 1.1 (Discovery) Level 3/5 ████████████░░░░░░░░ │
│ Practice 1.2 (Assessment) Level 3/5 ████████████░░░░░░░░ │
│ Practice 1.3 (Mapping) Level 3/5 ████████████░░░░░░░░ │
└─────────────────────────────────────────────────────────────────────────┘
```
这有助于你使用行业标准的 QRAMM 框架,了解自己在量子就绪之路上所处的位置。
### 上下文感知分析
CryptoScan 超越了简单的模式匹配:
- **源代码上下文**:查看每个发现结果前后各 3 行代码
- **置信度评分**:注释、日志或文档中的发现结果会被标记为低置信度
- **文件类型感知**:代码、测试和文档具有不同的严重性级别
- **语言检测**:支持识别 15 种以上的编程语言
- **降噪处理**:自动过滤压缩文件、锁定文件和构建产物
### 多种输出格式
```
# 人类可读文本(默认)
cryptoscan scan .
# 用于自动化和集成的 JSON
cryptoscan scan . --format json --output findings.json
# 用于表格分析的 CSV
cryptoscan scan . --format csv --output findings.csv
# 用于 GitHub Code Scanning 的 SARIF
cryptoscan scan . --format sarif --output results.sarif
# 用于合规性的 CBOM (Cryptographic Bill of Materials)
cryptoscan scan . --format cbom --output crypto-bom.json
```
## 文档
### CLI 参考
```
cryptoscan scan [path] [flags]
Arguments:
path Local directory, file, or Git URL to scan (default: current directory)
Flags:
-f, --format string Output format: text, json, csv, sarif, cbom (default "text")
-o, --output string Output file path (default: stdout)
-i, --include string File patterns to include (comma-separated globs)
-e, --exclude string File patterns to exclude (comma-separated globs)
-d, --max-depth int Maximum directory depth (0 = unlimited)
-g, --group-by string Group output by: file, severity, category, quantum
-c, --context int Lines of source context to show (default 3)
-p, --progress Show scan progress indicator
--min-severity string Minimum severity to report: info, low, medium, high, critical
--no-color Disable colored output
--pretty Pretty print JSON output
-h, --help Show help
CI/CD Flags:
--ignore string Pattern IDs to ignore (comma-separated, e.g., "RSA-001,CERT-*")
--ignore-category string Categories to ignore (e.g., "Certificate,Library Import")
--fail-on string Exit non-zero if findings at this severity or higher
--baseline string Baseline JSON file - only report new findings
--config string Config file path (default: auto-detect .cryptoscan.yaml)
```
### 常见工作流
```
# 仅关注高优先级问题
cryptoscan scan . --min-severity high
# 扫描并按文件分组发现结果以供审查
cryptoscan scan . --group-by file
# 仅扫描特定文件类型
cryptoscan scan . --include "*.go,*.py,*.java,*.js,*.ts"
# 排除 vendor 和测试目录
cryptoscan scan . --exclude "vendor/*,node_modules/*,*_test.go"
# CI/CD:发现关键问题时失败
cryptoscan scan . --min-severity critical --format json | jq '.findings | length'
```
### 抑制误报
使用内联注释来抑制故意为之或不适用的发现结果:
```
// Suppress all findings on this line
key := rsa.GenerateKey(rand.Reader, 2048) // cryptoscan:ignore
// Suppress only RSA findings (ECDSA would still be reported)
import "crypto/rsa" // cryptoscan:ignore RSA-001
// Suppress an entire pattern family
legacyAuth() // cryptoscan:ignore CERT-*
// Suppress the next line
// cryptoscan:ignore-next-line
legacyKey := oldCrypto.NewKey()
```
支持的指令:
- `cryptoscan:ignore` — 忽略此行上的所有发现结果
- `cryptoscan:ignore RSA-001` — 忽略特定的模式 ID
- `cryptoscan:ignore RSA-*` — 忽略模式系列(通配符)
- `cryptoscan:ignore-next-line` — 忽略下一行的发现结果
- `crypto-scan:ignore` — 替代格式
- `noscan` — 快速忽略所有
### CI/CD 集成
CryptoScan 提供企业级的 CI/CD 灵活性,支持忽略机制、基线比较和可配置退出代码。
#### 配置文件
在你的项目根目录下创建一个 `.cryptoscan.yaml` 以配置默认行为:
```
# .cryptoscan.yaml - CryptoScan 配置
ignore:
patterns:
- CERT-SELFSIGNED-001 # Known dev certificates
- RSA-001 # Legacy auth, migration tracked in JIRA-123
categories:
- Library Import # Don't report import statements
files:
- "vendor/*"
- "testdata/*"
failOn: high # Exit non-zero on HIGH or CRITICAL findings
minSeverity: low # Report LOW and above
baseline: baseline.json # Only report new findings vs baseline
```
#### 基线工作流
使用基线来跟踪进度,并且仅在出现**新**问题时失败:
```
# 1. 生成初始基线(存储当前已知问题)
cryptoscan scan . --format json --output baseline.json
# 2. 在 CI 中,与基线进行比较 - 仅新出现的问题会导致失败
cryptoscan scan . --baseline baseline.json --fail-on high
# 3. 修复问题后,重新生成基线
cryptoscan scan . --format json --output baseline.json
```
#### 退出代码控制
根据发现结果的严重程度控制 CI 何时失败:
```
# 遇到任何 HIGH 或 CRITICAL 的发现时失败
cryptoscan scan . --fail-on high
# 仅遇到 CRITICAL 的发现时失败(最宽松)
cryptoscan scan . --fail-on critical
# 遇到 MEDIUM 及以上级别的发现时失败(更严格)
cryptoscan scan . --fail-on medium
```
#### 抑制已知问题
```
# 忽略特定的 pattern ID
cryptoscan scan . --ignore "RSA-001,CERT-SELFSIGNED-001"
# 忽略整个类别
cryptoscan scan . --ignore-category "Certificate,Library Import"
# 与基线结合使用以获得最大灵活性
cryptoscan scan . --ignore "RSA-*" --baseline baseline.json --fail-on high
```
#### 带有 SARIF 的 GitHub Actions
```
# .github/workflows/crypto-scan.yml
name: Cryptographic Security Scan
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
crypto-scan:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Install CryptoScan
run: go install github.com/csnp/cryptoscan/cmd/cryptoscan@latest
- name: Run Scan
run: |
# Use baseline if it exists, fail on new HIGH+ findings
if [ -f baseline.json ]; then
cryptoscan scan . --baseline baseline.json --fail-on high --format sarif --output results.sarif
else
cryptoscan scan . --fail-on critical --format sarif --output results.sarif
fi
- name: Upload SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: results.sarif
```
#### GitLab CI
```
crypto-scan:
stage: security
image: golang:1.21
script:
- go install github.com/csnp/cryptoscan/cmd/cryptoscan@latest
- cryptoscan scan . --baseline baseline.json --fail-on high --format json --output crypto-findings.json
artifacts:
reports:
sast: crypto-findings.json
paths:
- crypto-findings.json
allow_failure: false
```
#### Pre-commit 钩子
```
#!/bin/bash
# .git/hooks/pre-commit
if command -v cryptoscan &> /dev/null; then
# Only check staged files, fail on critical
cryptoscan scan . --fail-on critical --min-severity high
if [ $? -ne 0 ]; then
echo "Critical cryptographic issues found. Commit blocked."
exit 1
fi
fi
```
### 输出格式说明
#### SARIF (分析结果交换格式)
SARIF 输出可与 GitHub 代码扫描、VS Code SARIF Viewer 及其他安全工具集成:
```
{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [{
"tool": {
"driver": {
"name": "CryptoScan",
"informationUri": "https://github.com/csnp/cryptoscan"
}
},
"results": [...]
}]
}
```
#### CBOM (密码学物料清单)
**什么是 CBOM?** 就像 SBOM(软件物料清单)对你的软件依赖项进行清点一样,CBOM 对系统中所有的密码学算法、密钥和证书进行清点。它解答了:“我们正在使用什么密码学技术、用在哪里、它抗量子吗?”
**为什么它很重要:**
- **合规性**:新兴法规(如 OMB M-23-02、NIST 指南)要求联邦承包商和受监管行业必须具备
- **可见性**:作为整个组织内所有密码学资产的唯一事实来源
- **迁移规划**:准确识别为达到后量子就绪状态需要更改的内容
- **审计轨迹**:为安全评估提供密码学态势的书面证据
```
{
"bomFormat": "CryptoBOM",
"specVersion": "1.0",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"timestamp": "2025-01-15T10:30:00Z",
"components": [
{
"type": "algorithm",
"name": "RSA-2048",
"category": "asymmetric",
"quantumSafe": false,
"occurrences": 12,
"locations": ["src/auth/jwt.go:45", "src/tls/config.go:23"]
},
{
"type": "algorithm",
"name": "AES-256-GCM",
"category": "symmetric",
"quantumSafe": true,
"occurrences": 8,
"locations": ["src/crypto/encrypt.go:67"]
}
],
"summary": {
"totalAlgorithms": 15,
"quantumVulnerable": 7,
"quantumSafe": 8
}
}
```
### 架构
```
cryptoscan/
├── cmd/cryptoscan/ # CLI entry point
├── internal/cli/ # Command implementations
├── pkg/
│ ├── analyzer/ # File context, line analysis, and migration scoring
│ ├── patterns/ # Cryptographic pattern definitions (100+)
│ ├── reporter/ # Output formatters (text, json, csv, sarif, cbom)
│ ├── scanner/ # Core scanning engine with parallel processing
│ └── types/ # Shared type definitions (findings, QRAMM mappings)
└── crypto-samples/ # Sample files for testing (PQC, MACs, KDFs, hybrid)
```
## 路线图
### v1.3 (当前版本)
- [x] 本地和远程仓库扫描
- [x] 90 多种密码学模式
- [x] 多种输出格式(如 text, JSON, CSV, SARIF, CBOM)
- [x] 带有置信度评分的上下文感知分析
- [x] 针对 20 多种包管理器的依赖扫描
- [x] 使用 worker pool 的并行扫描
- [x] 内联忽略注释
- [x] 后量子密码学检测(如 ML-KEM, ML-DSA, SLH-DSA, FN-DSA, XMSS, LMS)
- [x] 混合密码学识别(如 X25519+ML-KEM,组合签名)
- [x] 全面的 MAC 检测(如 HMAC, KMAC, CMAC, GMAC, Poly1305)
- [x] KDF 检测(如 HKDF, PBKDF2, Argon2id, scrypt, bcrypt)
- [x] 带有可视化仪表板的迁移就绪评分
- [x] QRAMM 框架集成(CVI 维度映射)
- [x] 证书检测(如 X.509, CSR, PKCS#12, 证书链, mTLS, JWK)
- [x] 证书验证绕过检测(CRITICAL 严重性)
- [x] 弱证书签名检测(SHA-1/MD5)
- [x] 通过智能上下文分析增强的误报削减
- [x] **新增:CI/CD 灵活性,支持 `--ignore`、`--ignore-category`、`--fail-on`、`--baseline`**
- [x] **新增:配置文件支持 (`.cryptoscan.yaml`)**
- [x] **新增:特定模式的内联抑制 (`cryptoscan:ignore RSA-001`)**
- [x] **新增:基线比较,仅用于跟踪新发现**
### v1.4 (下一个版本)
- [ ] 带有特定语言建议的智能补救引擎
- [ ] 增强的 CBOM 输出 (CycloneDX 1.6 cryptoProperties)
- [ ] Git 历史扫描(查找过去提交中的密码学技术)
### v2.0 (未来规划)
- [ ] AWS 资源扫描 (KMS, ACM, Secrets Manager)
- [ ] Azure 资源扫描 (Key Vault, App Configuration)
- [ ] GCP 资源扫描 (Cloud KMS, Secret Manager)
- [ ] 基础设施即代码分析 (Terraform, CloudFormation, Pulumi)
### 开发环境配置
```
# 克隆仓库
git clone https://github.com/csnp/cryptoscan.git
cd cryptoscan
# 安装依赖
go mod download
# 运行测试
go test -race ./...
# 构建
go build -o cryptoscan ./cmd/cryptoscan
# 运行 linter
golangci-lint run
```
### 添加新模式
新的检测模式位于 `pkg/patterns/matcher.go` 中。每个模式包括:
- 唯一 ID 和描述性名称
- 类别分类
- 编译后的正则表达式
- 严重性和量子风险等级
- 描述和补救指导
- 相关标准或文档的参考链接
## 关于 CSNP
### 我们的使命
我们相信:
- **可及性**:网络安全知识应向所有人开放,不分背景或资源
- **社区**:互助的社区帮助人们学习、分享知识和共同成长
- **教育**:实用且可操作的学习资源使人们能够实施更好的安全防护
- **诚信**:在所有运营和教育内容中保持最高的道德标准
### QRAMM 工具包
CryptoScan 是**量子就绪保证成熟度模型 (QRAMM)** 工具包的一部分——这是一套旨在帮助组织为后量子时代做好准备的开源工具:
- **CryptoScan** — 密码学发现扫描器(本项目)
- **[CryptoDeps](https://github.com/csnp/qramm-cryptodeps)** — 针对软件供应链的量子安全依赖分析
- **QRAMM Assessment** — 量子就绪成熟度评估
- **[TLS Analyzer](https://github.com/csnp/qramm-tls-analyzer)** — TLS/SSL 配置分析与 CNSA 2.0 合规性跟踪
在 [qramm.org](https://qramm.org) 和 [csnp.org](https://csnp.org) 了解更多。
## 参考资料
### NIST 后量子密码学标准
- [FIPS 203 - ML-KEM (基于模块格的密钥封装机制)](https://csrc.nist.gov/pubs/fips/203/final) — 替代用于密钥交换的 RSA/ECDH
- [FIPS 204 - ML-DSA (基于模块格的数字签名算法)](https://csrc.nist.gov/pubs/fips/204/final) — 替代用于签名的 RSA/ECDSA
- [FIPS 205 - SLH-DSA (无状态哈希数字签名算法)](https://csrc.nist.gov/pubs/fips/205/final) — 替代签名方案
- [FIPS 206 - FN-DSA (基于 FFT 的网络数字签名算法)](https://csrc.nist.gov/pubs/fips/206/ipd) — 标准草案(原名 Falcon)
- [SP 800-208 - XMSS 和 LMS 哈希签名](https://csrc.nist.gov/pubs/sp/800/208/final) — 有状态哈希签名
- [NIST SP 800-131A Rev 2](https://csrc.nist.gov/pubs/sp/800/131/a/r2/final) — 过渡时期的密码学算法和密钥长度
### 其他资源
- [NSA 关于后量子密码学的网络安全建议](https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF)
- [CISA 后量子密码学倡议](https://www.cisa.gov/quantum)
- [OWASP 密码学失败](https://owasp.org/Top10/A02_2021-Cryptographic_Failures/)
## 许可证
Apache License 2.0 — 详情见 [LICENSE](LICENSE)。
版权所有 2025 CyberSecurity NonProfit (CSNP)
由 CSNP 怀抱使命感打造 — 推动面向所有人的网络安全
QRAMM •
CSNP •
问题反馈 •
Twitter