jayant-kumar-dev/AegisGuard-Quantum-Safe-PQC-Scanner

GitHub: jayant-kumar-dev/AegisGuard-Quantum-Safe-PQC-Scanner

一款抗量子密码学扫描审计平台,用于检测和评估 TLS 加密实现在后量子计算威胁下的脆弱性,并生成合规报告与加密物料清单。

Stars: 0 | Forks: 0

# AegisGuard PQC Scanner v2.0.0 **具有登录系统和模块化架构的抗量子加密扫描器** ## v2.0.0 中的新功能 ### 1. 登录系统 - 使用用户名、邮箱、密码进行**注册/登录** - **类 JWT token 认证**(HMAC 签名,72 小时有效期) - **按用户划分的扫描历史记录** —— 登录时会保存每一次扫描 - **个人资料端点** —— 查看您的账户详细信息和扫描次数 - 未登录时扫描仍可正常工作(只是不会保存到历史记录) ### 2. 代码分割 单一的 2400 行 `app.py` 已被拆分为 **15 个专注的模块**: ``` AegisGuard_v2/ ├── app.py ← Slim entry point (wires routers together) ├── config.py ← All constants, CVE DB, compliance frameworks ├── database.py ← SQLite setup (users + scan_history tables) │ ├── auth/ ← Authentication system │ ├── utils.py ← Password hashing, token create/verify │ ├── models.py ← Pydantic models (Register, Login, Profile) │ └── routes.py ← /auth/register, /auth/login, /auth/me │ ├── scanner/ ← Core scanning engine (separated by stage) │ ├── tls_probe.py ← Stage 1: Raw TLS connection + cert parsing │ ├── pqc_analyzer.py ← Stage 2: PQC algorithm detection │ ├── risk_scorer.py ← Stage 3: Weighted risk scoring + grading │ ├── cbom_generator.py ← Stage 4: CycloneDX 1.6 CBOM generation │ ├── intelligence.py ← Stages 5-10: Headers, CVEs, HNDL, compliance │ ├── certificate.py ← PQC compliance certificate PDF generation │ └── pipeline.py ← Full scan orchestrator + UI response builder │ ├── routes/ ← API route handlers │ ├── scan.py ← /scan, /export, /scan/bulk, /cbom, /certificate │ └── discovery.py ← /discover, /report/generate, /report/schedule │ ├── scan_history/ ← Scan history persistence │ └── routes.py ← /history (list, view, delete, clear) │ ├── frontend/ ← Updated with login UI + history tab │ ├── index.html ← Added auth modal + scan history tab │ ├── script.js ← Added auth logic + history management │ ├── style.css ← (unchanged) │ └── chart.js ← (unchanged) │ └── requirements.txt ``` ## 快速开始 ### Windows PowerShell ``` py -3.14 -m venv .venv314 .\.venv314\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -r requirements.txt python app.py ``` ### 单行运行(无需激活) ``` .\.venv314\Scripts\python.exe -u app.py ``` 然后打开 `http://localhost:8000/` ## API 端点 ### 认证 | 方法 | 端点 | 描述 | |--------|----------|-------------| | POST | `/auth/register` | 创建新账户 | | POST | `/auth/login` | 登录,获取 token | | GET | `/auth/me` | 获取个人资料(需要 token) | ### 扫描 | 方法 | 端点 | 描述 | |--------|----------|-------------| | POST | `/scan` | 完整 PQC 扫描(如已登录则自动保存) | | POST | `/export` | 扫描 + 导出 JSON | | POST | `/scan/bulk` | 多目标并发扫描 | | POST | `/cbom` | 导出 CBOM | | POST | `/certificate` | 生成 PQC 证书 PDF | | POST | `/discover` | 启动异步发现任务(返回 job_id) | | GET | `/status/{job_id}` | 发现任务进度 + 部分状态 | | GET | `/discover/result/{job_id}` | 发现任务最终 payload | | POST | `/discover/sync` | 兼容性阻塞式发现(有界等待) | ### 历史记录(需要登录) | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/history/` | 列出您过去的扫描 | | GET | `/history/{id}` | 某次扫描的完整详情 | | DELETE | `/history/{id}` | 删除一条扫描记录 | | DELETE | `/history/` | 清除所有历史记录 | ### 报告 | 方法 | 端点 | 描述 | |--------|----------|-------------| | POST | `/report/generate` | 多目标执行报告 | | POST | `/report/schedule` | 计划循环报告 | ## 认证流程 1. **注册**:使用 `{username, email, password}` 请求 `POST /auth/register` 2. **登录**:使用 `{username, password}` 请求 `POST /auth/login` 3. **使用 token**:在请求中添加 `Authorization: Bearer ` 请求头 4. **扫描自动保存**:当存在 token 时,扫描将保存到您的历史记录中 5. **查看历史记录**:`GET /history/` 显示您过去所有的扫描记录 ## 技术栈 - **后端**:FastAPI + Uvicorn - **数据库**:SQLite(零配置,基于文件) - **认证**:SHA-256 + salt 密码哈希,HMAC 签名 token - **扫描器**:pyOpenSSL, cryptography - **PDF**:fpdf2 - **前端**:原生 HTML/CSS/JS + Chart.js ## 发现调优 子域名发现的覆盖率在 `scanner/enumeration_config.py` 中配置。 - `SUBDOMAIN_LIMIT`:返回的已发现主机的最大数量。 - `RECURSION_DEPTH`:支持多层子域名,例如 `dev.test.example.com`。 - `SUBDOMAIN_WORDLIST`:暴力破解字典的路径(默认:`scanner/wordlists/extended_recon_list.txt`)。 - `USE_DNS_BRUTEFORCING`:启用/禁用主动 DNS 暴力破解模式。 - `MAX_THREADS`:DNS 解析尝试的并发级别。 - `ENABLE_CRTSH_OSINT`:从 crt.sh 查询证书透明度记录。 - `ENABLE_HACKERTARGET_OSINT`:从 HackerTarget 查询被动主机记录。 - `OSINT_TIMEOUT_SECONDS` / `OSINT_RETRIES`:被动 API 的超时和重试行为。 `/discover` 响应包含 `discovered_subdomains` 和 `domains` 条目,代表完整的已发现集合,而不仅仅是可通过 TLS 访问的主机。
标签:AV绕过, CBOM生成, Claude, CVE检测, CycloneDX, FastAPI, HMAC, JWT认证, PDF生成, PQC扫描器, Pydantic, Python, SQLite, TLS探测, 动态插桩, 后量子密码学, 安全基线, 密码学审计, 密码管理, 抗量子加密, 插件系统, 教学环境, 无后门, 无服务器架构, 模块化架构, 漏洞修复, 网络安全, 网络安全培训, 自定义脚本, 证书解析, 逆向工具, 量子安全, 量子计算威胁, 隐私保护