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, 可视化看板, 多模态安全, 威胁情报, 安全态势感知, 开发者工具, 数据可视化, 无后门, 漏洞管理, 逆向工具