cmjayasinghe/Threat-Intelligence-Dashboard
GitHub: cmjayasinghe/Threat-Intelligence-Dashboard
基于Python和Dash的威胁情报仪表板,用于可视化网络安全威胁数据。
Stars: 0 | Forks: 0
# 威胁情报仪表板
一个以网络安全为重点的威胁情报仪表板,它从多个情报源收集、处理和可视化威胁数据。
## 项目概述
该项目旨在展示实用的网络安全、威胁情报、自动化和数据可视化技能。仪表板从公共威胁情报源聚合安全数据,并通过交互式Web界面展示。
## 功能
### CVE 收集
* 从国家漏洞数据库(NVD)API收集通用漏洞和暴露(CVE)。
* 将收集到的CVE数据以CSV格式存储,以供分析和可视化。
### 恶意IP情报
* 与AbuseIPDB API集成。
* 获取高置信度的恶意IP地址。
* 将威胁情报数据本地存储,以供仪表板可视化。
### IOC 收集
* 集成AlienVault OTX API。
* 获取威胁情报脉冲。
* 将IOC数据以CSV格式存储。
* 在仪表板上显示IOC指标。
### 勒索软件情报
* 从ransomware.live收集勒索软件受害者数据。
* 将勒索软件情报以CSV格式存储。
* 在仪表板上显示勒索软件指标。
* 提供对当前勒索软件活动的可见性。
### 仪表板可视化
* 使用Dash和Plotly构建。
* 显示:
* 收集到的CVE总数
* 收集到的恶意IP总数
* 收集到的IOC总数
* 收集到的勒索软件记录总数
* 设计为可扩展,以添加额外的威胁情报指标。
### 安全API密钥管理
* 通过`.env`文件使用环境变量。
* 防止敏感API密钥在源代码或GitHub仓库中暴露。
## 使用的技术
* Python
* Pandas
* Requests
* Dash
* Plotly
* NVD API
* AbuseIPDB API
* AlienVault OTX API
* ransomware.live API
* Git
* GitHub
## 项目结构
```
Threat-Intelligence-Dashboard/
│
├── dashboard/
│ └── app.py
│
├── data/
│ ├── cves.csv
│ ├── iocs.csv
│ ├── malicious_ips.csv
│ └── ransomware.csv
│
├── docs/
│
├── screenshots/
│ ├── dashboard_v1.png
│ ├── dashboard_v2_abuseipdb.png
│ ├── dashboard_v3_iocs.png
│ ├── dashboard_v4_ransomware.png
| ├── cve_collection1.png
│ ├── cve_collection2.png
│ ├── malicious_ips_collection1.png
│ ├── malicious_ips_collection2.png
| ├── ioc_collection1.png
| ├── ioc_collection2.png
| ├── ransomware_collection1.png
│ └── ransomware_collection2.png
│
├── scripts/
│ ├── fetch_cves.py
│ ├── fetch_abuseipdb.py
│ ├── fetch_iocs.py
│ ├── fetch_ransomware.py
│ └── scheduler.py
│
├── .env
├── .gitignore
├── README.md
└── requirements.txt
```
## 截图
### 仪表板版本 1

### 与AbuseIPDB集成的仪表板

### 与IOC指标集成的仪表板

### 与勒索软件源集成的仪表板

### CVE 收集


### 恶意IP收集


### IOC 收集


### 勒索软件收集


## 安装说明
### 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/Threat-Intelligence-Dashboard.git
cd Threat-Intelligence-Dashboard
```
### 创建虚拟环境
```
python -m venv venv
```
### 激活虚拟环境
Windows:
```
.\venv\Scripts\Activate.ps1
```
### 安装依赖项
```
pip install -r requirements.txt
```
### 配置环境变量
创建一个`.env`文件:
```
ABUSEIPDB_API_KEY=YOUR_API_KEY
OTX_API_KEY=YOUR_API_KEY
```
### 运行CVE收集
```
python scripts/fetch_cves.py
```
### 运行AbuseIPDB收集
```
python scripts/fetch_abuseipdb.py
```
### 运行IOC收集
```
python scripts/fetch_iocs.py
```
### 运行勒索软件收集
```
python scripts/fetch_ransomware.py
```
### 启动仪表板
```
python dashboard/app.py
```
## 当前进度
* [x] 项目设置
* [x] 使用NVD API进行CVE收集
* [x] AbuseIPDB集成
* [x] 基本Dash仪表板
* [x] 环境变量管理
* [x] IOC收集(AlienVault OTX)
* [x] 勒索软件情报源集成
* [ ] 高级可视化
* [ ] 自动化调度
* [ ] 威胁情报丰富化
## 未来改进
* 交互式Plotly可视化
* 恶意IP地理位置映射
* 威胁情报丰富化
* 自动化威胁源调度
* 邮件警报系统
* IOC类型分类
* 威胁趋势分析
* 仪表板过滤和搜索
## 学习目标
该项目展示了:
* 威胁情报收集
* 网络安全自动化
* API集成
* 安全数据处理
* IOC管理
* 漏洞情报
* 仪表板开发
* Git & GitHub工作流程
* 安全密钥管理
## 免责声明
该项目仅用于教育和作品集目的。威胁情报数据是从公开可用的来源和API收集的。
标签:API集成, CVE, Dash, DNS解析, Git, IOC, Plotly, Python, 代码示例, 勒索软件, 可观测性, 威胁情报, 字符串匹配, 开发者工具, 开源项目, 恶意IP, 数字签名, 数据分析, 无后门, 环境变量管理, 网络安全, 逆向工具, 隐私保护