rinz0x0cruz/threatscope

GitHub: rinz0x0cruz/threatscope

一款零依赖的自托管威胁情报与漏洞优先级排序仪表板,通过聚合多个公开安全数据源并对 CVE 进行利用感知评分,帮助安全团队快速聚焦高风险漏洞。

Stars: 0 | Forks: 0

# ThreatScope 一个自托管的、**零依赖**的威胁情报与漏洞优先级排序仪表板。 ThreatScope 将公开的网络安全威胁情报(CISA KEV、NVD、EPSS、GitHub 安全公告和安全新闻 RSS)聚合到本地 SQLite 存储中,使用**具备漏洞利用感知能力的模型**(CVSS + EPSS + KEV)对 CVE 进行评分,并生成终端摘要和独立的 HTML 仪表板。它完全在您自己的机器上运行,核心数据源无需 API 密钥,并且**没有第三方依赖** —— 只需要 Python 3.9+。 ## 功能 - **多源数据摄取** — CISA KEV、NVD(新增/更新的 CVE)、EPSS 漏洞利用概率、GitHub 安全公告以及安全新闻 RSS(BleepingComputer、The Hacker News、Krebs、CISA)。 - **具备漏洞利用感知能力的优先级排序** — 透明的加权评分(CVSS + EPSS + KEV),带有 KEV 基础下限,生成 0–100 的分数以及严重/高/中/低等级,并附带人类可读的评估理由。 - **本地 SQLite 存储** — 去重以及跨运行的首次发现/最后发现跟踪。 - **独立的仪表板** — 一个带有内联 CSS/JS 的 `dashboard.html`,可排序/过滤,可离线工作,无需 CDN 或网络即可查看。 - **CLI 摘要** — 终端中的快速主要风险摘要。 - **零依赖** — 仅使用 Python 标准库。可选的 API 密钥可提升速率限制 / 解锁额外的数据源。 - **可调度** — 通过 Windows Task Scheduler 或 cron 进行调度。 ## 架构 ``` flowchart LR subgraph Sources [Public sources] KEV[CISA KEV] NVD[NVD CVEs] EPSS[FIRST EPSS] GHSA[GitHub Advisories] RSS[Security News RSS] end Sources --> F[feeds.py: fetch + normalize] F --> P[prioritize.py: CVSS + EPSS + KEV scoring] P --> S[(SQLite store)] S --> R[report: CLI digest] S --> D[render: dashboard.html] ``` ## 要求 - Python 3.9 或更高版本。无其他要求。 ## 安装 ``` git clone https://github.com//threatscope.git cd threatscope python -m threatscope update ``` ## 使用说明 ``` # 获取所有已启用的来源,进行丰富、评分和存储 python -m threatscope update # 将优先级摘要打印到终端 python -m threatscope report --top 20 # 生成独立的 HTML 仪表板(并打开它) python -m threatscope dashboard --open # 运行离线自检(无网络) python -m threatscope selftest ``` 全局选项:`--config PATH`(默认为 `config.json`),`--data-dir PATH`(默认为 `./data`)。 ## 调度 **Windows (Task Scheduler):** ``` schtasks /Create /SC DAILY /TN "ThreatScope" /TR "python -m threatscope update" /ST 08:00 /RL LIMITED ``` **Linux/macOS (cron) — 每天 08:00:** ``` 0 8 * * * cd /path/to/threatscope && python3 -m threatscope update >> data/cron.log 2>&1 ``` ## 配置 所有行为均由 `config.json` 控制(数据源、回顾窗口、评分权重、输出)。 可选的环境变量可提升限制或启用额外的数据源: | 变量 | 用途 | |---|---| | `NVD_API_KEY` | 提高 NVD 速率限制 | | `GITHUB_TOKEN` | 提高 GitHub 安全公告速率限制 | | `THREATFOX_AUTH_KEY` | 启用 abuse.ch ThreatFox IOC 数据源(免费密钥) | ## 评分模型 ``` score = 100 * ( w_cvss * (CVSS / 10) + w_epss * EPSS + w_kev * KEV ) ``` - `CVSS` — NVD CVSS v3.1 基础分数 (0–10)。 - `EPSS` — FIRST EPSS 在未来 30 天内的漏洞利用概率 (0–1)。 - `KEV` — 如果 CVE 在 CISA 已知被利用漏洞目录中则为 1,否则为 0。 - KEV 命中还会强制触发可配置的**基础下限**(默认为 80)—— 任何已知被利用的漏洞至少为高/严重等级。 默认权重:CVSS 0.4,EPSS 0.4,KEV 0.2(均可在 `config.json` 中配置)。 ## 展示的技能 漏洞管理 · 威胁情报 · 具备漏洞利用感知能力的优先级排序 (CVSS/EPSS/KEV) · 数据摄取与标准化 · SQLite 数据建模 · Python(标准库 HTTP、解析、打包) · 报告/仪表板生成 · 自动化与调度。 ## 路线图 - 从公告文本中进行 MITRE ATT&CK 技术标记 - 每个 CVE 的 Sigma 规则参考 - 在出现新的 KEV 条目时提供 Slack / Discord / 电子邮件警报 - 可选的 Docker 镜像 - 导出为 CSV / JSON / STIX ## 许可证 MIT © 2026 Mohit Sharma — 请参阅 [许可证](LICENSE)。 ## 免责声明 ThreatScope 仅使用公开可用的数据源,仅供研究和教育使用。请尊重每个数据源的服务条款和速率限制。
标签:CVE优先级评估, GPT, Python, 可视化看板, 多模态安全, 威胁情报, 安全态势感知, 开发者工具, 数据可视化, 无后门, 漏洞管理, 逆向工具