csnp/cryptoscan

GitHub: csnp/cryptoscan

CryptoScan 是一款密码学发现工具,用于扫描代码库中的各类加密算法并评估其后量子迁移就绪状态。

Stars: 14 | Forks: 7

CryptoScan

面向后量子时代的密码学发现工具

找出你代码库中的每一个密码学算法。了解你的量子风险。获取迁移就绪评分。规划你的迁移路径。

CI Go Report Card License Go Version

为什么选择 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 怀抱使命感打造 — 推动面向所有人的网络安全

QRAMMCSNP问题反馈Twitter

标签:EVTX分析, Go, Ruby工具, 云安全监控, 后量子密码学, 安全合规, 密码学, 手动系统调用, 日志审计, 网络代理, 网络安全研究, 静态分析