内容
# 量子加密工具
[](https://github.com/quantakrypto/pqc-tools/actions/workflows/ci.yml)
[](LICENSE)
[](https://www.npmjs.com/package/@quantakrypto/core)
[](https://www.npmjs.com/package/@quantakrypto/qscan)
[](https://www.npmjs.com/package/@quantakrypto/mcp)
[](https://www.npmjs.com/package/@quantakrypto/sieve)
[](https://www.npmjs.com/package/@quantakrypto/agent)



[](docs/COMPLIANCE.md)
由 [quantakrypto](https://quantakrypto.com) 提供的开源抗量子计算工具。用于在任何代码库中查找易受量子计算攻击的加密算法,将抗量子计算能力集成到您的编辑器和CI/CD流程中,并测试抗量子计算实现的合规性 —— **零运行时依赖** (仅使用Node内置模块)。
> **设计目标:** 简单、清洁、可重用的代码;**零运行时依赖**;所有内容都有文档、测试和示例驱动。
## 工具列表
| 工具 | 功能 | 获取方式 |
|---|---|---|
| **[qScan](packages/qscan)** (`@quantakrypto/qscan`) | 命令行工具,用于在 **14种语言** (JS/TS、Python、Go、Java/Kotlin/Scala、C#、Rust、Ruby、PHP、Elixir、C/C++、Swift、Objective-C、Dart、Solidity/Move/Cairo)中查找易受量子计算攻击的加密算法(RSA、(EC)DH、ECDSA、EdDSA等),并输出准备度评分。支持SARIF/JSON/CBOM/证据(ISO 27001 A.8.24)/OpenVEX输出、基准、增量和并行扫描。可选 `--triage` (使用LLM进行重新排序/解释)和 `qremediate` 代码修改命令行工具。 | `npx @quantakrypto/qscan ./` |
| **[MCP](packages/mcp)** (`@quantakrypto/mcp`) | 模型上下文协议服务器,为AI编码代理提供抗量子计算工具(扫描、库存、解释、建议混合、CBOM)。支持本地stdio和可托管的HTTP。 | `claude mcp add quantakrypto npx @quantakrypto/mcp` |
| **[Sieve](packages/sieve)** (`@quantakrypto/sieve`) | 用于ML-KEM(FIPS 203)、ML-DSA(FIPS 204)和SLH-DSA(FIPS 205)实现的合规性测试电池,驱动于JSON stdin/stdout协议。 | `npx @quantakrypto/sieve --help` |
| **[Action](packages/action)** (`@quantakrypto/action`) | GitHub Action,在CI/CD流程中运行qScan,上传SARIF,注释差异,并在发现新的易受量子计算攻击的加密算法时失败构建。 | `uses: quantakrypto/pqc-tools/packages/action@v1` |
| **[agent](packages/agent)** (`@quantakrypto/agent`) | 可选的、零依赖的BYOK(自带密钥)LLM客户端(原生`fetch`;Anthropic + OpenAI兼容适配器),支持qScan `--triage` 和 `qremediate --llm`。网络化、密钥持有 - 隔离(参见qProbe)。 | `npm i @quantakrypto/agent` |
| **[qProbe](packages/qprobe)** (`@quantakrypto/qprobe`) | 主动探测 **您拥有的实时TLS/SSH端点** 的抗量子计算准备度 - PQC混合密钥交换(X25519MLKEM768)和经典证书姿势。需要所有权证明;报告,但不修改(“引擎处理完毕”)。参见 [THREAT-MODEL](packages/qprobe/THREAT-MODEL.md)。 | `npx @quantakrypto/qprobe --i-own-this host` |
所有qScan、MCP、Action、agent和qProbe都共享 [`@quantakrypto/core`](packages/core) 中的引擎 - 检测器、易受量子计算攻击的依赖项数据库、准备度评分、SARIF/JSON/CBOM/证据/OpenVEX报告以及离线代理平面原语(上下文编辑器、`verify_fix`门控、codemods、补丁策略)。Sieve是独立的:它测试 **其他** 实现,并且不实现任何加密算法。
**基础设施覆盖。** 除了应用程序源代码外,共享的`core`引擎还携带 **配置范围检测器** ,用于Terraform/OpenTofu IaC和云KMS、JSON Web Keys、Kubernetes / cert-manager / Istio、CI/CD工件和代码签名(cosign/GPG/jarsigner/codesign/minisign)、静态存储密钥(SOPS/age、PGP、Sealed Secrets)、消息代理(Kafka/MQTT)、数据库(pgcrypto、libpq `sslmode`)和JOSE/JWE密钥管理 - 因此`qscan`、Action和MCP标记 **基础设施** 加密算法,无需额外安装。**qProbe** 添加了实时端点维度(参见上面的表格)。基础设施的叙述锚点是 *现在收获,将来解密*:今天捕获的数据和密钥一旦出现CRQC就可以解密。
## 快速开始
```bash
# 1. 扫描代码库中的量子易受攻击的加密算法。
npx @quantakrypto/qscan ./
# 2. 为AI编码代理提供抗量子计算工具。
claude mcp add quantakrypto npx @quantakrypto/mcp
# 3. 测试抗量子计算实现的合规性(适配器会讲JSON协议)。
npx @quantakrypto/sieve --impl "node ./my-impl.js" --param ml-kem-768
```
通过将
[`packages/action/examples/quantum-readiness.yml`](packages/action/examples/quantum-readiness.yml)
放入`.github/workflows/`,或直接连接:
```yaml
- uses: quantakrypto/pqc-tools/packages/action@v1
with:
path: "."
severity-threshold: "high"
```
每个软件包的README都有完整的选项参考和更多示例:
[qScan](packages/qscan/README.md) ·
[MCP](packages/mcp/README.md) ·
[Sieve](packages/sieve/README.md) ·
[Action](packages/action/README.md) ·
[core](packages/core/README.md) ·
[agent](packages/agent/README.md).
## 将quantakrypto与PQC库(liboqs / OQS)一起使用
quantakrypto **不实现抗量子计算加密算法** ,按照设计 - 它是扫描器、CI/CD门控和合规性测试框架,您将其围绕实际的PQC库(如 [liboqs / Open Quantum Safe](https://openquantumsafe.org/))一起使用。它们组合使用:quantakrypto **查找并门控** 经典加密算法(qScan、Action),
告诉您 **迁移到什么以及按什么顺序** (`qscan --tier`,MCP `plan_migration`,`qremediate`),并 **证明替换是正确的**
(`sieve`根据FIPS 203/204/205测试任何ML-KEM/ML-DSA/SLH-DSA实现)。liboqs提供原始加密算法。
参见 ** [`examples/liboqs-migration/`](examples/liboqs-migration/README.md)** 中的端到端演练 - 扫描 → 迁移 → 验证 → 门控。
## 工作空间布局
```
quantakrypto-tools/
├── packages/
│ ├── core/ @quantakrypto/core — 共享引擎(合约位于src/types.ts + src/index.ts)
│ ├── qscan/ @quantakrypto/qscan — 命令行工具
│ ├── mcp/ @quantakrypto/mcp — MCP服务器(stdio现在,HTTP脚手架用于托管)
│ ├── action/ @quantakrypto/action — GitHub Action
│ ├── sieve/ @quantakrypto/sieve — 合规性测试电池 + JSON协议
│ ├── agent/ @quantakrypto/agent — 可选的BYOK LLM客户端(分诊+补丁)
│ └── qprobe/ @quantakrypto/qprobe — 实时TLS/SSH端点探测(门控;唯一的探测器)
├── docs/ 架构,托管MCP设计,改进路线图
└── examples/ 端到端示例
```
## 开发
需要Node ≥ 20。
```bash
npm install # 链接工作区
npm run build # tsc --build(项目引用)
npm test # node:test跨所有软件包
```
工具链故意很小:TypeScript + `tsx`(运行`.ts`上的`node:test`)是唯一的开发依赖; **没有运行时依赖** 。
## 文档和合规性
完整的文档位于 **[`docs/`](docs/README.md)**:
- **[目标和范围](docs/OBJECTIVES.md)** — 工具链的作用、每个库的作用、承载决策和刻意范围边界。 从这里开始。
- **[架构决策](docs/adr/README.md)** — 每个承载决策背后的不变“为什么”(零依赖、共享核心合约、两平面代理……)。
- **[标准和合规性](docs/COMPLIANCE.md)** — 工具所涉及的内容以及可以对其进行调整的内容:NIST FIPS 203/204/205、SP 800-208、CNSA 2.0、SARIF、CWE、ISO/IEC 27001(A.8.24)、通用标准、FIPS 140-3、欧盟DORA/NIS2、美国M-23-02 / NSM-10和OSS保证(SLSA、OpenSSF记分卡、SPDX/REUSE)。
- **治理:** [贡献](CONTRIBUTING.md) · [安全](SECURITY.md) ·
[行为准则](CODE_OF_CONDUCT.md) · [变更日志](CHANGELOG.md).
## 许可证
[Apache-2.0](LICENSE). 方法论是开放的;审计、证书和交付成果是 [quantakrypto](https://quantakrypto.com) 实践的所在地。
## 支持和培训
问题、商业支持或团队抗量子计算准备度培训 -
访问 **[quantakrypto.com](https://quantakrypto.com)** 或发送电子邮件到
**[hello@quantakrypto.com](mailto:hello@quantakrypto.com)**。