Vikrant892/threat-lens
GitHub: Vikrant892/threat-lens
一个开源的实时威胁情报与漏洞管理平台,通过聚合 NVD 漏洞数据、IP 信誉和 MITRE ATT&CK 映射,自动对威胁进行综合评分和优先级排序,帮助安全团队从海量警报中快速识别真正需要关注的风险。
Stars: 0 | Forks: 0
# ThreatLens
实时威胁情报与漏洞管理平台。
## 问题所在
安全运营中心每周都会被成千上万的 CVE 警报淹没。其中大部分是噪音——例如,环境中不存在资产的低严重性发现、数月前已修补的过时漏洞,或者是来自重叠扫描器的重复内容。分析师们浪费数小时去分类那些无关紧要的警报,而真正危险的问题却在队列中无人问津。
ThreatLens 解决了这个问题,它从 NVD 提取 CVE 数据,通过 IP 信誉情报和 MITRE ATT&CK 技术映射进行丰富,并通过一个综合评分引擎处理每项发现,该引擎综合考量了 CVSS 严重性、漏洞利用可用性、资产暴露程度和时间相关性。最终呈现的是一个单一且按优先级排序的威胁源,能够凸显出真正需要关注的内容。
## 架构
```
+-----------+
| FastAPI |
| /api/* |
+-----+-----+
|
+-----------+-----------+
| |
+--------v--------+ +--------v--------+
| Feed Aggregator | | Threat Scorer |
+--------+--------+ +-----------------+
|
+---------+---------+---------+
| | |
+---v----+ +------v-+ +--v-----------+
| NVD | | IP | | MITRE |
| Client | |Analyzer| | Mapper |
+---+----+ +---+----+ +--+-----------+
| | |
v v v
NVD API v2.0 ip-api.com Bundled ATT&CK
+ RDAP technique set
```
## 快速开始
```
# 克隆并安装
git clone https://github.com/your-org/threat-lens.git
cd threat-lens
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 运行 API server
uvicorn api:app --reload
# 打开交互式文档
# http://127.0.0.1:8000/docs
```
### 使用 Docker
```
docker build -t threat-lens .
docker run -p 8000:8000 threat-lens
```
### 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `NVD_API_KEY` | *(无)* | NVD API 密钥 — 将速率限制从 5 次请求/30秒 提升至 50 次请求/30秒 |
| `FEED_AUTO_REFRESH` | `false` | 启动时开启后台源刷新 |
| `FEED_REFRESH_INTERVAL` | `900` | 自动刷新源之间的间隔秒数 |
| `CORS_ORIGINS` | `*` | 逗号分隔的允许源 |
| `RATE_LIMIT_WINDOW` | `60` | 速率限制滑动窗口(秒) |
| `RATE_LIMIT_MAX` | `60` | 每个 IP 在每个窗口内的最大请求数 |
| `LOG_LEVEL` | `INFO` | Python 日志级别 |
## API
除非另有说明,所有端点均返回 JSON。
### CVE
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/api/cves` | 列出最近的 CVE(查询参数:`keyword`、`severity`、`days`、`limit`) |
| GET | `/api/cves/{cve_id}` | 包含威胁评分和 ATT&CK 映射的单个 CVE |
### IP 情报
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/api/ip/{ip_address}` | 地理位置、反向 DNS、滥用评分 |
### 威胁源
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/api/threats` | 聚合、评分后的源(查询参数:`severity`、`source`、`limit`、`fmt`) |
| POST | `/api/threats/refresh` | 触发手动刷新源 |
### MITRE ATT&CK
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/api/mitre/techniques` | 所有技术(可选 `tactic` 过滤器) |
| GET | `/api/mitre/techniques/{technique_id}` | 单个技术详情 |
| GET | `/api/mitre/tactics` | 战术名称列表 |
### 仪表板
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/api/stats` | 严重性分布、来源计数、平均/最高评分 |
| GET | `/healthz` | 健康检查 |
### 示例请求
```
# 近期的严重 CVE
curl "http://localhost:8000/api/cves?severity=CRITICAL&days=30&limit=10"
# 带有威胁分数的 CVE 详情
curl "http://localhost:8000/api/cves/CVE-2024-3400"
# IP reputation
curl "http://localhost:8000/api/ip/8.8.8.8"
# 聚合 feed 为 CSV
curl "http://localhost:8000/api/threats?fmt=csv"
# 特定 tactic 的 MITRE techniques
curl "http://localhost:8000/api/mitre/techniques?tactic=Initial+Access"
```
## 截图
截图位于 `docs/screenshots/` 目录中:
- `docs/screenshots/dashboard.png` — 主威胁仪表板
- `docs/screenshots/cve-detail.png` — 带有威胁评分明细的 CVE 详情视图
- `docs/screenshots/feed.png` — 聚合威胁源
## 技术栈
- **Python 3.12** — 运行时
- **FastAPI** — REST API 框架
- **Pydantic v2** — 数据验证与序列化
- **Requests** — 带会话池和重试机制的 HTTP 客户端
- **NVD CVE API v2.0** — 漏洞数据源
- **ip-api.com** — IP 地理位置查询(免费层,无需密钥)
- **ARIN RDAP** — WHOIS 数据备用源
- **MITRE ATT&CK** — 技术映射(内置子集)
- **Docker** — 容器打包
## 项目结构
```
threat-lens/
├── api.py # FastAPI application
├── threat_lens/
│ ├── __init__.py
│ ├── models.py # Pydantic data models
│ ├── nvd_client.py # NVD CVE API v2.0 client
│ ├── ip_analyzer.py # IP threat intelligence
│ ├── threat_scorer.py # Composite threat scoring
│ ├── mitre_mapper.py # ATT&CK technique mapping
│ ├── feed_aggregator.py # Multi-source feed aggregation
│ └── data/
│ └── mitre_techniques.json # Curated ATT&CK technique set
├── tests/
├── Dockerfile
├── requirements.txt
└── .github/workflows/ci.yml
```
## 许可证
MIT 许可证。详见 [LICENSE](LICENSE)。
标签:AV绕过, CISA项目, CVE跟踪, CVSS评分, FastAPI, GPT, IP信誉分析, IP 地址批量处理, MITRE ATT&CK映射, NVD API, Python, RDAP, RESTful API, Uvicorn, 威胁情报, 威胁源聚合, 安全信息与事件管理, 安全警报分类, 安全运营, 实时安全平台, 开发者工具, 扫描框架, 提示词优化, 插件系统, 搜索引擎爬取, 无后门, 无线安全, 漏洞优先级排序, 漏洞管理, 网络安全, 网络安全审计, 自动化威胁评分, 请求拦截, 逆向工具, 隐私保护, 风险量化