BhavikaBhoir/ThreatVision-Platform
GitHub: BhavikaBhoir/ThreatVision-Platform
基于 Python Flask 的网络威胁情报仪表板,集成 CVE 查询、IP/域名信誉检测与 IOC 分析,模拟真实 SOC 工作流程。
Stars: 0 | Forks: 0
# 🛡️ ThreatVision 平台





## 👨💻 开发者
## | 姓名 | GitHub |
|------|--------|
| **Bhavika Bhoir** | [@BhavikaBhoir](https://github.com/BhavikaBhoir)
| **Samyak Jadhav** | [@SamyakJadhav](https://github.com/samyaksantoshjadhav-oss)
## 📌 关于本项目
**ThreatVision 平台**是一个网络安全威胁情报仪表板,模拟了真实的 SOC(安全运营中心)环境。它允许安全分析师监控威胁、调查可疑的 IP 和域名、追踪最新的 CVE 以及生成威胁情报报告。
本项目作为一项**小型项目**开发,旨在展示以下技能:
- 威胁情报与网络分析
- 安全仪表板开发
- IOC(失陷指标)分析
- 真实的 SOC 工作流程
## ✨ 功能特性
### 📊 威胁仪表板
- 实时威胁统计(严重、高、中、低)
- 威胁检测趋势图(42 天历史记录)
- 威胁类型细分(勒索软件、APT、钓鱼、恶意软件、DDoS)
- 严重级别历史柱状图
### 🔓 CVE 订阅源
- 最新的常见漏洞和披露
- 按严重程度筛选(严重 / 高 / 中 / 低)
- CVSS 评分及可视化进度条
- 通过 CVE ID、供应商或描述进行搜索
### 🌐 IP 信誉检测器
- 检查 IP 是否为恶意、可疑或安全
- 带有可视化仪表的滥用置信度得分
- 国家、ISP、总报告数、威胁标签
- 由 **AbuseIPDB API** 驱动(无 API 密钥时为演示模式)
### 🔎 域名信誉检测器
- 分析任何域名是否存在钓鱼、恶意软件、垃圾邮件
- 逐引擎细分及环形图
- 威胁类别和信誉评分
- 由 **VirusTotal API** 驱动(无 API 密钥时为演示模式)
### 📡 IOC 订阅源
- 实时的失陷指标(IP、域名、哈希、URL)
- 按 IOC 类型筛选
- 置信度得分、威胁标签和日期
- 跨所有 IOC 字段搜索
### 📋 报告生成
- 生成完整版 / 执行版 / CVE / IOC 报告
- 下载为 JSON 或 TXT 格式
- 包含面向 SOC 团队的建议
### 🔐 安全登录面板
- 基于 Session 的身份验证
- 基于角色的访问控制(管理员 / SOC 分析师)
- 动画赛博朋克风格登录页面
## 🛠️ 技术栈
| 层级 | 技术 |
|-------|-----------|
| 后端 | Python Flask |
| 前端 | HTML5, CSS3, JavaScript (ES6) |
| 图表 | Chart.js 4.4 |
| APIs | VirusTotal, AbuseIPDB |
| 认证 | Flask Sessions |
| 样式 | 自定义暗黑网络安全主题 |
## 📁 项目结构
```
ThreatVision/
├── app.py ← Flask backend (routes + APIs)
├── requirements.txt
├── static/
│ ├── css/
│ │ ├── style.css ← Main dark theme
│ │ └── login.css ← Login page styles
│ └── js/
│ ├── main.js ← Shared utilities
│ ├── dashboard.js ← Dashboard charts
│ ├── cve_feed.js ← CVE filter & search
│ ├── ip_checker.js ← IP scan logic
│ ├── domain_checker.js ← Domain analysis logic
│ ├── ioc_feed.js ← IOC table logic
│ └── reports.js ← Report generation
└── templates/
├── base.html ← Sidebar + topbar layout
├── login.html ← Login page
├── dashboard.html ← Main dashboard
├── cve_feed.html ← CVE feed page
├── ip_checker.html ← IP checker page
├── domain_checker.html ← Domain checker page
├── ioc_feed.html ← IOC feed page
└── reports.html ← Reports page
```
## ⚙️ 安装与设置
### 1. 克隆仓库
```
git clone https://github.com/BhavikaBhoir/ThreatVision-Platform.git
cd ThreatVision-Platform
```
### 2. 安装依赖
```
pip install -r requirements.txt
```
### 3. 运行应用
```
python app.py
```
### 4. 在浏览器中打开
http://localhost:5000
## 🔑 登录凭据
| 角色 | 用户名 | 密码 |
|------|----------|----------|
| 管理员 | `admin` | `admin123` |
| SOC 分析师 | `analyst` | `analyst123` |
## 🔌 API 密钥(可选)
应用默认在**演示模式**下运行,使用逼真的模拟数据。
要启用实时威胁查询,请在 `app.py` 中添加您的免费 API 密钥:
```
VIRUSTOTAL_API_KEY = "your_virustotal_key" # virustotal.com → free 500 req/day
ABUSEIPDB_API_KEY = "your_abuseipdb_key" # abuseipdb.com → free 1000 req/day
```
## 🧪 如何测试
| 页面 | 测试操作 |
|------|------------|
| 仪表板 | 图表和统计数据自动加载 |
| CVE 订阅源 | 使用筛选标签和搜索栏 |
| IP 检测器 | 点击快速测试的 IP,例如 `185.220.101.45` |
| 域名检测器 | 点击快速测试的域名,例如 `malware-cdn.ru` |
| IOC 订阅源 | 按 IP / 域名 / 哈希 / URL 筛选 |
| 报告 | 点击 ⚡ 生成 → 下载 JSON 或 TXT |
## 📸 页面概览
- 🏠 **仪表板** — 威胁统计、图表、快捷操作
- 🔓 **CVE 订阅源** — 可筛选的漏洞表格
- 🌐 **IP 检测器** — 带有评分仪表的 IP 信誉
- 🔎 **域名检测器** — 带有引擎图表的域名分析
- 📡 **IOC 订阅源** — 失陷指标表格
- 📋 **报告** — 生成并下载威胁报告
## 📄 许可证
本项目基于 **MIT 许可证**授权 — 可免费用于教育和作品集展示目的。
## 🙏 致谢
- [VirusTotal](https://www.virustotal.com) — 域名与文件信誉 API
- [AbuseIPDB](https://www.abuseipdb.com) — IP 信誉 API
- [Chart.js](https://www.chartjs.org) — 精美的图表
- [Flask](https://flask.palletsprojects.com) — 轻量级 Python Web 框架
由 Bhavika Bhoir 和 Samyak Jadhav 用 ❤️ 制作
标签:Chart.js, Clean Code, CMS安全, CVSS评分, Flask, HTTP/HTTPS抓包, IP信誉查询, IP 地址批量处理, JavaScript, Object Callbacks, Python, Syscall, Threat Intelligence, Web开发, XSS, 仪表盘, 分布式拒绝服务, 勒索软件, 域名信誉检测, 失陷标示, 威胁分析, 威胁情报, 安全运营中心, 密码管理, 开发者工具, 开源安全项目, 态势感知, 恶意软件, 数据可视化, 无后门, 漏洞情报, 网络安全, 网络安全分析工具, 网络攻击检测, 网络映射, 网络钓鱼, 自动化侦查工具, 逆向工具, 隐私保护, 高级持续威胁