DefroX556/ThreatLens
GitHub: DefroX556/ThreatLens
一个基于 Python/Flask 的网络安全威胁情报平台,整合实时 CVE 监控、域名侦察扫描和本地 LLM 驱动的 AI 安全分析,帮助安全人员快速完成漏洞情报跟踪、目标技术识别与风险评估。
Stars: 0 | Forks: 0
# ThreatLens 🔍
**实时 CVE 情报 + 域名侦察 + AI 驱动的安全分析**
一个使用 Python/Flask 构建的生产级网络安全威胁情报平台,结合了 NVD 漏洞监控、域名侦察扫描和 AI 驱动的安全分析。
## 🚀 功能
### 📊 CVE 情报仪表板
- 实时 NVD/NIST 漏洞源(最近 14 天)
- CISA KEV(已知被利用漏洞)交叉引用
- 严重性分布、时间线、供应商和攻击向量图表
- 带防抖过滤的关键字搜索
- 带有 CVSS 向量分解的 CVE 详情模态框
### 🔍 域名扫描器
- **子域名枚举** — subfinder + crt.sh 被动侦察
- **端口扫描** — nmap 前 50 个端口及服务检测
- **DNS 记录** — A, AAAA, MX, NS, TXT, CNAME, SOA
- **安全标头** — 9 项标头检查及 A-F 评级
- **SSL/TLS 分析** — 证书验证、密码套件、SANs、过期时间
- **技术检测** — WhatWeb 深度指纹识别与版本提取
### ⚡ 自动 CVE 匹配
- WhatWeb 检测目标域名的技术与版本
- 每项技术自动在 NVD 中查询已知漏洞
- 结果与 CISA KEV 交叉引用,以查找正在被利用的 CVE
- 包含严重性统计、CVE 卡片和按技术分类明细的实时仪表板
### 🤖 AI 安全分析 (GLM 5.1)
- 由 Ollama 本地 LLM (GLM 5.1) 提供支持
- 使用 Server-Sent Events (SSE) 流式传输实现实时响应
- 结合上下文分析扫描及 CVE 匹配结果
- 执行摘要、关键发现、修复优先级
## 📸 截图
## 🛠️ 技术栈
| 组件 | 技术 |
|-----------|-----------|
| 后端 | Python 3.10+, Flask |
| 前端 | Vanilla JS, Chart.js, CSS (Glassmorphism) |
| 数据 | NVD API 2.0, CISA KEV |
| 扫描器 | subfinder, nmap, dig, WhatWeb |
| AI | Ollama (通过本地 API 调用 GLM 5.1) |
| 缓存 | 内存 TTL 缓存 (cachetools) |
## ⚙️ 安装说明
### 前置条件
```
# 安装扫描工具
sudo apt install nmap whatweb dnsutils
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# 安装 Ollama + GLM 5.1
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull glm-5.1:cloud
```
### 配置
```
git clone https://github.com/DefroX556/ThreatLens.git
cd ThreatLens
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
```
在浏览器中打开 `http://localhost:5000`。
## 📁 项目结构
```
threatlens/
├── app.py # Flask app — 13 API routes
├── config.py # Configuration
├── requirements.txt # Python dependencies
├── services/
│ ├── nvd_service.py # NVD API 2.0 integration
│ ├── kev_service.py # CISA KEV feed
│ ├── scanner_service.py # Domain recon engine
│ ├── cve_matcher.py # WhatWeb + NVD CVE matching
│ ├── ai_service.py # Ollama GLM 5.1 streaming
│ ├── cache_manager.py # TTL cache
│ └── data_processor.py # Chart data aggregation
├── templates/
│ └── index.html # Dashboard + Scanner + AI
└── static/
├── css/ (6 files) # Design system
└── js/ (8 files) # App modules
```
## 🔌 API 端点
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| GET | `/api/cves` | 获取 CVE 并支持搜索/过滤 |
| GET | `/api/cves/` | CVE 详情 |
| GET | `/api/stats` | 仪表板统计信息 |
| GET | `/api/kev` | KEV 目录统计信息 |
| POST | `/api/scan` | 全面域名侦察扫描 |
| POST | `/api/scan/match-cves` | WhatWeb → NVD CVE 匹配 |
| POST | `/api/ai/analyze` | AI 分析 (SSE 流) |
| GET | `/api/ai/status` | Ollama 状态检查 |
| GET | `/api/health` | 健康检查 |
## 👨💻 作者
**Shibam Maity** — Bug Bounty Hunter 与安全研究员
## 📄 许可证
MIT License
CVE 仪表板
- 4 个动态统计卡片 - 严重性环形图、CVE 时间线、供应商条形图、攻击雷达图 - 带严重性过滤器的实时 CVE 源域名扫描器 + CVE 匹配
- 带扫描进度的域名输入 - 侦察结果:子域名、端口、DNS、标头、SSL - WhatWeb 技术检测 - 匹配到的 CVE 仪表板(针对 hackerone.com 的 41 个 CVE) - 按技术分类的 CVE 分组AI 分析
- GLM 5.1 流式安全评估 - 修复优先级 - 技术风险分析标签:AI大模型, AI风险缓解, Flask, GitHub, masscan, Python, XSS, 威胁情报平台, 实时处理, 插件系统, 数据可视化, 无后门, 漏洞情报, 网络安全, 资产测绘, 逆向工具, 隐私保护