qryptive/pqc-scanner-action
GitHub: qryptive/pqc-scanner-action
一个用于检测量子脆弱加密的GitHub Action,帮助应对后量子计算安全挑战。
Stars: 0 | Forks: 0
# Qryptive — PQC 漏洞扫描器 (GitHub Action)
检测您的 Python、Java、Go、Terraform、CloudFormation 和 Kubernetes 清单中的量子脆弱加密算法(RSA、ECDSA、ECDH、DES、SHA-1、MD5、弱 TLS 等)。
**扫描器在您的 GitHub Actions 运行器内运行。** 在默认模式下(无 API 密钥),不会向 Qryptive 发送任何源代码或扫描数据——检测结果仅以 GitHub PR 注释和您“安全”选项卡中的 SARIF 格式呈现。这是银行及其他受监管行业所需的隐私态势。
完整数据处理文档:[`docs/ENTERPRISE_PRIVACY.md`](https://github.com/qryptive/.github/blob/main/docs/ENTERPRISE_PRIVACY.md)。
## 快速开始 — 仅本地模式(无需账户)
```
# GitHub 工作流中的 pqc-scan.yml 文件
name: PQC Scan
on: [push, pull_request]
permissions:
pull-requests: write
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: qryptive/pqc-scanner-action@v1
with:
fail_on_vulnerable: true
severity_threshold: high
report_format: sarif
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: pqc-results.sarif
```
检测结果会以以下形式呈现:
- PR 差异的行内注释
- GitHub **安全选项卡**中的代码扫描警报
- Actions 运行日志中的 Markdown 摘要表格
## 使用AI增强消歧(可选,付费)
通过基于LLM的模糊发现分析来减少误报。发现元数据(文件路径、行号、算法名称、每个发现约10-30行上下文)会被发送到Qryptive。整个代码库绝不会被上传。
```
- uses: qryptive/pqc-scanner-action@v1
with:
pqc_api_key: ${{ secrets.PQC_API_KEY }}
fail_on_vulnerable: true
```
## 使用自动修复PR(付费)
当发现漏洞时,会自动开启一个应用了后量子迁移的PR。
```
- uses: qryptive/pqc-scanner-action@v1
with:
pqc_api_key: ${{ secrets.PQC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
migration_mode: pqc_only # or staged_rollout, hybrid
```
## 输入
| 输入 | 默认值 | 描述 |
|---|---|---|
| `paths` | `**/*.py **/*.java **/*.go` | 要扫描的 Glob 模式 |
| `scan_scope` | `changed` | `changed`(PR/推送差异)或 `all`(整个仓库) |
| `severity_threshold` | `medium` | `critical`、`high`、`medium`、`low` |
| `fail_on_vulnerable` | `true` | 如果发现漏洞则使构建失败 |
| `report_format` | `annotations` | `annotations`、`sarif` 或 `json` |
| `pqc_api_key` | — | 可选加入 AI 消歧 + 仪表板 |
| `migration_mode` | `pqc_only` | `pqc_only`、`staged_rollout`、`pqc_preferred`、`hybrid` |
| `github_token` | — | 用于创建修复 PR 所需(`secrets.GITHUB_TOKEN`) |
## 语言和框架
| 语言 | 基于AST | 检测的模式 |
|---|---|---|
| **Python** | 是 (LibCST) | hashlib, cryptography, pycryptodome, ssl, hmac, JWT, 数据流 |
| **Java** | 是 (JavaParser) | JCA, BouncyCastle, JWT (jose4j/nimbus/jsonwebtoken), Spring Security |
| **Go** | 是 (go/ast) | crypto 标准库, x509, jwt-go, gosec 模式 |
| **IaC** | 模式 | Terraform, CloudFormation, Kubernetes, Helm — KMS 密钥, TLS 策略, 证书引用 |
## 示例仓库
查看 [`qryptive/example-vulnerable-app`](https://github.com/qryptive/example-vulnerable-app),获取一个包含故意脆弱代码样本和上述工作流文件的完整可运行设置。
## 隐私与安全
| 模式 | 从您的运行器离开的内容 |
|---|---|
| 仅本地模式(无 `pqc_api_key`) | **无。** 零向外呼叫到 Qryptive。 |
| 使用 `pqc_api_key`(可选 AI) | 发现元数据 + 每个发现周围约10-30行代码片段。整个代码库绝不会被上传。 |
要证明仅本地模式下零外传,请向您的运行器添加一个出站网络策略,阻止除 `*.github.com` 以外的所有目标地址——该操作仍将成功。
## 许可证
此仓库中的 action.yml 元数据采用 MIT 许可证。编译后的扫描器镜像是专有的——参见 https://qryptive.ai/terms。
标签:CloudFormation扫描, DevOps安全, GitHub Actions, Go扫描, IPv6支持, Java扫描, JS文件枚举, Kubernetes扫描, Python扫描, SARIF报告, Terraform扫描, 代码安全, 后量子密码学, 子域名突变, 密码学安全, 密码学算法分析, 日志审计, 漏洞枚举, 网络安全, 自动修复, 自动笔记, 逆向工具, 量子威胁检测, 错误基检测, 隐私保护, 静态代码分析