qpher/pqc-check

GitHub: qpher/pqc-check

一键扫描代码库中易受量子计算攻击的加密算法,助力后量子密码学迁移。

Stars: 1 | Forks: 0

# pqc-check [![npm version](https://img.shields.io/npm/v/pqc-check)](https://www.npmjs.com/package/pqc-check) [![npm downloads](https://img.shields.io/npm/dm/pqc-check)](https://www.npmjs.com/package/pqc-check) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d18d33c202090930.svg)](https://github.com/qpher/pqc-check/actions) [![license](https://img.shields.io/npm/l/pqc-check)](./LICENSE) ## 快速开始 ``` npx pqc-check ./my-project ``` 一条命令。零配置。即时结果:

pqc-check terminal output

## 它能发现什么 量子计算机将利用 [Shor's algorithm](https://en.wikipedia.org/wiki/Shor%27s_algorithm) 破解 RSA、ECDSA 和 Diffie-Hellman。国家级行为者已经在收集当前的加密流量,以便日后解密。NIST 已于 2024 年敲定后量子标准([FIPS 203](https://csrc.nist.gov/pubs/fips/203/final), [204](https://csrc.nist.gov/pubs/fips/204/final))——迁移的倒计时已经开始。 **pqc-check** 扫描您的代码并按现实风险对发现进行分类: | Level | Threat | What It Means | Action | |-------|--------|---------------|--------| | **HIGH** | Harvest Now, Decrypt Later | 当下加密的数据可被未来的量子计算机解密 | 立即迁移至 PQC | | **MEDIUM** | Signature Forgery | 当量子计算机到来时,身份验证可被破解 | 计划迁移 | | **LOW** | Informational | 已具备抗量子能力(例如 SHA-256) | 无需操作 | ## 支持的语言 | Language | Extensions | Detection Patterns | |----------|-----------|-------------------| | Python | `.py` | RSA, ECDSA, Ed25519, X25519, DH, JWT, SHA | | JavaScript / TypeScript | `.js` `.ts` `.mjs` `.cjs` `.jsx` `.tsx` | RSA, ECDSA, ECDH, DH, JWT, Web Crypto, node-forge, jose | | Go | `.go` | RSA, ECDSA, Ed25519, X25519/ECDH | | Java / Kotlin | `.java` `.kt` | RSA, ECDSA, DH, Bouncy Castle | | Rust | `.rs` | RSA (rsa/ring crates), ECDSA, Ed25519, X25519 | | C / C++ | `.c` `.cpp` `.h` `.hpp` | OpenSSL RSA, ECDSA, DH, Ed25519 | | Ruby | `.rb` | OpenSSL RSA, ECDSA, DH | | PHP | `.php` | openssl RSA, ECDSA, DH | | Config files | `.conf` `.yaml` `.toml` `.ini` | SSL certs, PEM keys, TLS cipher suites | 覆盖 9 种语言 + 配置文件,共 48 种检测模式。 ## 安装 ``` # 直接运行(无需安装) npx pqc-check ./my-project # 或全局安装 npm install -g pqc-check pqc-check ./my-project ``` ## 使用 ``` # 扫描项目(控制台输出) pqc-check ./my-project # JSON 输出(用于脚本编写) pqc-check ./my-project --format json # SARIF 输出(用于 GitHub Code Scanning) pqc-check ./my-project --format sarif # 仅扫描特定语言 pqc-check ./my-project --lang python,go # 包含 LOW 风险发现 pqc-check ./my-project --show-low # 忽略特定路径 pqc-check ./my-project --ignore "tests/**,vendor/**" # 适配 CI(无 banner) pqc-check ./my-project --quiet # 隐藏迁移建议 pqc-check ./my-project --no-suggestions ``` ## CI/CD 集成 ### GitHub Actions ``` - name: PQC vulnerability scan run: npx pqc-check . --format sarif > results.sarif - name: Upload SARIF uses: github/codeql-action/upload-sarif@v3 with: sarif_file: results.sarif ``` 发现项将直接显示在您 Pull Request 的 **Security** 标签页中。 ### 退出代码 | Code | Meaning | |------|---------| | `0` | 无 HIGH 或 MEDIUM 发现 | | `1` | 检测到 HIGH 或 MEDIUM 发现 | | `2` | 错误(无效路径等) | ## 输出格式 | Format | Flag | Use Case | |--------|------|----------| | **Console** | *(default)* | 人类可读的彩色输出 | | **JSON** | `--format json` | 脚本编写、自定义集成 | | **SARIF** | `--format sarif` | GitHub Code Scanning, IDE integration | ## 配置 ### `.pqcignore` 在您的项目根目录下创建一个 `.pqcignore` 文件(格式与 `.gitignore` 相同): ``` # 忽略测试文件 tests/ test/ *_test.go # 忽略生成代码 generated/ ``` pqc-check 也会遵循您现有的 `.gitignore`。 ## 准备好迁移了吗? 发现了量子脆弱代码?以下是您的选择: | Resource | Link | |----------|------| | **PQC Migration Guide** | [docs.qpher.ai/guides/migration-guide](https://docs.qpher.ai/guides/migration-guide) | | **Qpher PQC APIs** | [qpher.ai](https://qpher.ai) — 开箱即用的加密 + 签名 | | **Open Quantum Safe** | [openquantumsafe.org](https://openquantumsafe.org) — 开源 liboqs | | **NIST Standards** | [FIPS 203](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM) · [FIPS 204](https://csrc.nist.gov/pubs/fips/204/final) (ML-DSA) | ### SDKs ``` pip install qpher # Python npm install @qpher/sdk # Node.js go get github.com/qpher/qpher-go # Go ``` ## 贡献 欢迎贡献!如需添加新语言或检测模式: 1. 遵循现有模式创建 `src/patterns/.ts` 2. 在 `tests/fixtures/` 中添加测试固件 3. 运行 `npm test` — 所有测试必须通过 4. 提交 PR ## 许可证 [MIT](./LICENSE) — 版权所有 2026 [Qpher](https://qpher.ai)

Qpher 构建 · 文档 · LinkedIn · GitHub

标签:CMS安全, Diffie-Hellman, ECDSA, Go, JavaScript, Kotlin, MITM代理, NIST标准, npm包, PQC, Python, RSA, Ruby工具, Rust, SAST, Shor算法, TypeScript, 云安全监控, 代码安全审计, 加密算法检测, 后量子密码学, 安全插件, 密码学, 开发安全, 手动系统调用, 无后门, 暗色界面, 盲注攻击, 立即存储-未来解密, 网络安全, 网络流量审计, 自动化攻击, 量子安全, 防御绕过, 隐私保护, 静态分析