smitem1/PQC_scanner
GitHub: smitem1/PQC_scanner
基于 Python 的 CLI 工具,通过被动 TLS 握手清点加密资产并评估后量子密码迁移优先级,帮助组织应对「先收集、后解密」威胁。
Stars: 0 | Forks: 0
# Quantum shield
这是一个基于 Python 的 CLI 工具,用于清点指定域和服务的 TLS 加密状况,以支持后量子密码 (PQC) 就绪度和敏捷性规划。
该工具执行标准的 TLS 握手,以收集证书和加密元数据(例如,TLS 版本、公钥算法、证书有效性),并应用基于代理的风险模型,以帮助组织规划未来的 PQC 迁移时,优先确定可能需要关注的端点。
要使用该工具,请编辑 targets 文件(CSV 文件),并在 host 列下填入经授权的目标域或 IP 地址,然后从命令行运行扫描。输出包含结构化结果(CSV/JSON)和供分析与报告之用的人类可读摘要。
====> 如何运行..
下载 pqcmvp 并命名为:pqcscan1.0.py 文件,下载 targets 文件并命名为:targets.csv 文件,将它们放入同一个文件夹 > 命名文件夹为 pqcscan_mvp > 在 targets.csv 文件的 hosts 列中输入您的目标主机 > 保存 csv > 右键点击该文件夹并在 CLI 中打开 > 输入 python -m pip install cryptography / 如果上述命令不起作用,请尝试 py -m pip install cryptography > 然后在您的 CLI 中运行 python pqcscan1.0.py scan --input targets.csv --out output > 检查您的 pqcscan_mvp 文件夹,您的清单现在已可用 =)
## 风险评分方法论(PQC 优先级划分)
该工具**不会**在 CVE 的意义上将资产标记为“量子脆弱的”。相反,它使用与关于**先收集,后解密 (HNDL)** 风险和迁移复杂度的常见行业指导相一致的、可解释的模型,为**后量子密码 (PQC) 迁移规划**确定加密资产的优先级。
### 为什么“PQC 风险”不同于传统的漏洞评分
当今使用的大多数公钥密码(例如,RSA 和 ECC)被认为可以通过足够强大的量子计算机(通过 Shor 算法)被破解。因此,实际问题不是“它是否可被破解?”,而是:
**如果加密流量或签名制品今天被收集,哪些资产在未来被解密/伪造时会产生最高的影响,哪些资产将最难迁移?**
### 评分模型
扫描器基于四个可解释的子分数计算出一个 0-100 的优先级分数:
- **数据生命周期风险:** 使用业务关键性和证书角色/用途作为长期敏感性的代理。
- **暴露 / 可收集性:** 作为 HNDL 暴露(面向互联网、TLS 状态、长有效期证书)的代理。
- **密码可破解性信号:** 识别 RSA/ECC 系列密钥和传统签名规范(可见性/传统指标)。
- **迁移复杂性:** 代理操作难度(例如,CA 证书、传统 TLS 协议栈、长期有效性)。
最终优先级融合了这些组成部分:
`Priority = (DataLifetime × Exposure) + (Breakability × MigrationComplexity) + ExpiryUrgency`
输出包含子分数和每个端点的人类可读原因,以支持可审计性和修复规划。
### 重要提示
权重和阈值被有意设置为保守值,旨在根据每个环境、数据敏感性和监管要求进行调整。
## 允许的目标和扫描策略
该工具通过发起标准的 TLS 握手并分析服务器自愿提供的加密元数据(例如,证书、协议版本),执行**被动加密状态检查**。
### 该工具的功能
- 建立到指定主机和端口的 TCP 连接
- 执行标准的 TLS 握手(无身份验证)
- 收集公开可见的 TLS 和证书元数据
- **不**发送应用程序负载
- **不**解密流量
- **不**绕过访问控制
### 允许的目标
您**只能**针对满足以下一个或多个条件的系统使用此工具:
- 您拥有或运营的系统
- 您有明确授权测试的系统
- 专为 TLS/安全测试设计的公共测试基础设施(例如,BadSSL)
- 保留的示例域(例如,example.com, example.org)
- 基本的 TLS 握手属于正常且预期行为的公共互联网服务
### 禁止使用的情况
您**不得**将此工具用于:
- 未获授权的系统
- 未经许可的政府、金融或医疗系统
- 需要身份验证的目标
- 扫描将违反可接受使用政策或当地法律的任何系统
### 道德使用
本项目旨在用于:
- 密码清单和可见性
- 后量子密码 (PQC) 迁移规划
- 先收集,后解密 (HNDL) 暴露评估
- 安全研究和防御性分析
滥用此工具是操作员的责任。
### 免责声明
作者对滥用本软件**不承担任何责任**。
用户有责任确保所有扫描均是合法、已授权且符合道德规范的。
扫描器仅执行 TLS 握手以收集证书和加密元数据,作用于..
公共网站和 API(HTTPS 的 443、8443、9443 端口)
内部 Web 服务(在 VPN 后或私有网络上)
云端点(AWS、Azure、GCP 服务)
负载均衡器和反向代理
暴露 TLS 的 IoT 设备和网关
基于 TLS 的 MQTT 代理(例如,端口 8883)
网络设备(防火墙、路由器、管理接口)
启用了 TLS 服务的内部服务器
测试/预发布环境
标签:API安全, CSV处理, HNDL, Homebrew安装, JSON输出, PQC, Python安全工具, Shor算法, SSL/TLS扫描, TLS安全, 企业安全架构, 公钥基础设施, 加密流量分析, 后量子密码学, 实时处理, 密码学, 密码盘点, 密码管理, 手动系统调用, 插件系统, 敏捷密码, 文档结构分析, 现在收集以后解密, 端点安全, 网络安全, 网络安全合规, 补丁管理, 证书分析, 资产清点, 逆向工具, 量子安全, 量子计算威胁, 隐私保护, 风险评估模型, 风险评分