shaniesadan/cve-trend-analyzer

GitHub: shaniesadan/cve-trend-analyzer

整合 NVD、KEV、EPSS 三大威胁情报源并利用自定义风险公式对 CVE 进行优先级评分与检测覆盖率差距分析的企业级漏洞情报仪表板。

Stars: 1 | Forks: 0

# CVE 趋势分析与告警系统 这是一个实时的漏洞情报仪表板,它从公开的威胁情报源获取 CVE,使用综合风险公式对其进行评分,与公司的检测覆盖率进行交叉对比,并生成 AI 驱动的威胁简报。 ## 技能与工具 - **Python** — 后端逻辑、API 集成、数据处理 - **SQL** — 数据仓库批量查询,带有 5 分钟缓存 - **JavaScript** — 具有动态过滤和分类功能的单页仪表板 - **Claude API (Anthropic)** — AI 威胁简报及针对每个 CVE 的“如何修复”分析 - **Flask** — 包含 22 个 API 路由的 Web 服务器 - **SQLite** — 用于存储 CVE、EPSS 分数、KEV 条目、风险分数和简报的本地数据库 - **Chart.js** — 趋势图、严重性分布、供应商明细、风险矩阵 - **NIST NVD API** — CVE 数据源(最近 14 天) - **CISA KEV Catalog** — 主动漏洞利用检查 - **FIRST EPSS API** — 基于 ML 的漏洞利用概率评分 - **自定义风险引擎** — 综合公式:CVSS × 0.3 + EPSS × 0.4 + KEV × 0.3 - **Excel/CSV 导出** — 带有分类状态的客户端电子表格生成 ## 覆盖率表 + 严重性细分 ![差距分析 — 覆盖率表 + 严重性细分](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5a0bf74ffc193255.png) ## 为什么开发这个工具 安全团队常常淹没在海量的 CVE 噪音中——每个月都会发布数千个漏洞,但大多数都无关紧要。我需要一个能回答以下问题的工具:**哪些新发布的 CVE 对我们真正重要,以及哪些我们目前还没有检测到?** 该工具将三个公开的威胁信号整合为一个优先级评分,并突出了检测覆盖率中的差距。 ## 工作原理 1. **NIST NVD** — 通过 NVD 2.0 API 获取过去 14 天内发布的所有 CVE 2. **CISA KEV** — 将每个 CVE 与已知被利用漏洞目录进行比对检查(在野被主动利用) 3. **FIRST EPSS** — 使用漏洞利用预测评分系统对每个 CVE 进行评分(基于 ML 预测未来 30 天内被利用的概率) 4. **综合风险引擎** — `Risk = (CVSS/10 × 0.3) + (EPSS × 0.4) + (KEV × 0.3)` — EPSS 获得了最高权重,因为被利用的概率比理论上的严重性更重要 5. **公司交叉比对** — 批量查询数据仓库,以找出哪些 CVE 已经被检测到(已覆盖),哪些尚未被检测到(覆盖差距) 6. **EASM 范围过滤器** — 剔除与外部攻击面无关的 CVE(仅限桌面端、本地权限提升、物理访问) 7. **Claude AI 简报** — 生成包含针对每个 CVE 分析的高管威胁情报摘要 ## 核心功能 - **风险矩阵** — CVSS 严重性 × EPSS 漏洞利用概率热力图 - **差距分析** — 按综合风险进行过滤和优先级排序的覆盖率差距 - **AI 威胁简报** — 由 Claude 生成的高管摘要及可操作的建议 - **分类工作流** — 将 CVE 标记为新建 / 处理中 / 已忽略 / 不相关 - **Excel/CSV 导出** — 包含分类状态的完整数据导出,用于报告 - **趋势图** — CVE 发布趋势、严重性分布、受影响最大的供应商 ![CVE 趋势 + 风险矩阵 + AI 威胁简报](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c1afcac472193309.png) ![CVE 详情 — 综合风险评分 + AI 深度分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9b69a4ed9d193320.png) ## 项目结构 ``` cve-trend-analyzer/ ├── app.py # Flask server — 22 API routes, EASM scope filter, all endpoints ├── cve_fetcher.py # NIST NVD API integration — CVE parsing, pagination ├── epss_scorer.py # FIRST EPSS API — batch exploit probability scoring ├── kev_checker.py # CISA KEV catalog — active exploitation check ├── risk_engine.py # Composite risk formula (CVSS 30% + EPSS 40% + KEV 30%) ├── ai_analyzer.py # Claude API — threat briefings and per-CVE deep-dives ├── snowflake_connector.py # Data warehouse connector — batch queries, 5-min cache ├── db.py # SQLite database — 7 tables (cves, epss, kev, risk, briefings...) ├── templates/ │ └── index.html # Single-page dashboard (Chart.js, vanilla JS) ├── requirements.txt └── .env # API keys (not included) ```
标签:Flask, Python, XSS, 威胁情报, 安全, 开发者工具, 数据可视化, 无后门, 漏洞情报, 超时处理, 逆向工具, 风险评分