dracangelo/cyber-threat-intel-dash
GitHub: dracangelo/cyber-threat-intel-dash
聚合多个主流威胁情报源数据的实时可视化仪表板,提供统一检索、态势展示和告警功能。
Stars: 0 | Forks: 0
# 🛡️ 网络威胁情报仪表板
一个实时网络威胁情报仪表板,聚合来自多个威胁情报源(包括 AbuseIPDB、AlienVault OTX 和 VirusTotal)的数据。该仪表板通过可视化和实时监控提供可操作的情报。
## 🚀 功能
- **多源集成**:聚合来自 AbuseIPDB、AlienVault OTX 和 VirusTotal 的威胁数据
- **实时更新**:每 30 秒自动刷新数据
- **交互式可视化**:用于威胁分析的图表和图形
- **告警系统**:针对高优先级威胁的实时告警
- **指标搜索**:跨所有源搜索 IP、域名、URL 和哈希值
- **威胁时间线**:7 天威胁活动时间线
- **源状态监控**:所有数据源的实时状态
- **响应式设计**:支持桌面和移动设备
## 📋 前置条件
- Python 3.8 或更高版本
- 威胁情报源的 API 密钥(见设置部分)
- Git(用于克隆)
## 🛠️ 安装说明
### 1. 克隆仓库
```
git clone
cd cyber-threat-dashboard
```
### 2. 创建虚拟环境
```
python -m venv venv
# 在 Windows 上
venv\Scripts\activate
# 在 macOS/Linux 上
source venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 配置环境变量
1. 复制示例环境文件:
```
cp .env.example .env
```
2. 使用你的 API 密钥编辑 `.env` 文件:
```
# Threat Intelligence Feeds 的 API Keys
ABUSEIPDB_API_KEY=your_abuseipdb_api_key_here
VIRUSTOTAL_API_KEY=your_virustotal_api_key_here
ALIENVAULT_API_KEY=your_alienvault_api_key_here
# Flask 配置
FLASK_ENV=development
SECRET_KEY=your_secret_key_here
# Dashboard 配置
REFRESH_INTERVAL=30000 # Refresh interval in milliseconds (30 seconds)
```
## 🔑 获取 API 密钥
### AbuseIPDB
1. 访问 [AbuseIPDB](https://abuseipdb.com/)
2. 创建一个免费账户
3. 进入你的账户设置并生成 API 密钥
4. 将密钥复制到你的 `.env` 文件中
### AlienVault OTX
1. 访问 [AlienVault OTX](https://otx.alienvault.com/)
2. 创建一个免费账户
3. 进入你的个人资料设置找到你的 API 密钥
4. 将密钥复制到你的 `.env` 文件中
### VirusTotal
1. 访问 [VirusTotal](https://www.virustotal.com/)
2. 创建一个免费账户
3. 进入你的个人资料并请求 API 密钥
4. 将密钥复制到你的 `.env` 文件中
## 🚀 运行仪表板
### 方法 1:开发模式
```
python app.py
```
仪表板将可以通过 `http://localhost:8050` 访问
### 方法 2:使用 Gunicorn 的生产模式
```
gunicorn -w 4 -b 0.0.0.0:8050 app:server
```
## 📊 仪表板组件
### 关键指标卡片
- **威胁总数**:来自所有源的综合威胁计数
- **高风险指标**:高优先级威胁的数量
- **活跃活动**:当前活跃的威胁活动
- **数据源**:已连接的威胁情报源数量
### 可视化
- **按来源划分的威胁分布**:显示威胁分布的饼图
- **趋势威胁**:热门趋势威胁的条形图
- **威胁时间线**:7 天威胁活动时间线
- **威胁类别**:威胁类型的细分
### 告警系统
针对以下情况的实时告警:
- 高滥用活动
- 新威胁活动
- 恶意软件检测
### 搜索功能
跨所有源搜索:
- IP 地址
- 域名
- URL
- 文件哈希
## 🔧 配置
### 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `ABUSEIPDB_API_KEY` | AbuseIPDB API 密钥 | 必需 |
| `ALIENVAULT_API_KEY` | AlienVault OTX API 密钥 | 必需 |
| `VIRUSTOTAL_API_KEY` | VirusTotal API 密钥 | 必需 |
| `FLASK_ENV` | Flask 环境 | `development` |
| `SECRET_KEY` | Flask 密钥 | 自动生成 |
| `REFRESH_INTERVAL` | 仪表板刷新间隔 (ms) | `30000` |
### 速率限制
- **AbuseIPDB**:1,000 次请求/天(免费层)
- **AlienVault OTX**:30 次请求/分钟(免费层)
- **VirusTotal**:4 次请求/分钟(免费层)
## 🐛 故障排除
### 常见问题
1. **API 密钥错误**
- 验证 `.env` 文件中的 API 密钥是否正确
- 检查 API 密钥是否已过期
- 确保未超过速率限制
2. **连接问题**
- 检查你的网络连接
- 验证防火墙设置是否允许出站连接
- 检查 API 端点是否可访问
3. **仪表板无法加载**
- 确保已安装所有依赖项
- 检查端口 8050 是否可用
- 验证 Python 版本兼容性
4. **数据缺失**
- 检查“数据源状态”部分
- 验证 API 密钥配置是否正确
- 检查控制台中的错误消息
### 调试模式
通过以下设置启用调试模式:
```
FLASK_ENV=development
```
这将提供详细的错误消息并在代码更改时自动重载。
## 📁 项目结构
```
cyber-threat-dashboard/
├── app.py # Main dashboard application
├── config.py # Configuration settings
├── data_aggregator.py # Data aggregation logic
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── .gitignore # Git ignore file
├── README.md # This file
└── threat_integrations/ # API integration modules
├── __init__.py
├── abuseipdb.py # AbuseIPDB integration
├── alienvault.py # AlienVault OTX integration
└── virustotal.py # VirusTotal integration
```
## 🤝 贡献
1. Fork 该仓库
2. 创建一个功能分支
3. 进行更改
4. 如果适用,添加测试
5. 提交 Pull Request
## 📝 许可证
本项目采用 MIT 许可证授权 - 详见 LICENSE 文件。
## 🔒 安全注意事项
- 切勿将你的 `.env` 文件提交到版本控制
- 使用强大且唯一的 API 密钥
- 监控 API 使用情况以避免速率限制
- 考虑在生产环境中使用反向代理
- 在生产环境中启用 HTTPS
## 📈 性能优化
- 数据缓存 5 分钟以减少 API 调用
- 仪表板默认每 30 秒刷新一次
- 考虑在生产环境中使用 Redis 进行分布式缓存
- 监控 API 速率限制并实施退避策略
## 🆘 支持
如果你遇到问题:
1. 查看故障排除部分
2. 检查控制台输出中的错误消息
3. 验证你的 API 密钥和速率限制
4. 创建包含详细信息的 Issue
## 🎯 使用案例
该仪表板非常适合:
- **SOC 团队**:实时威胁监控
- **安全分析师**:威胁情报研究
- **CISO**:高管威胁报告
- **渗透测试人员**:指标研究
- **安全研究人员**:威胁趋势分析
## 🔄 未来增强
- 更多威胁情报源
- 基于机器学习的威胁评分
- 自定义告警规则和通知
- 历史数据分析
- 报告导出功能
- 与 SIEM 系统集成
- 移动应用伴侣
**⚠️ 免责声明**:本仪表板仅用于教育和研究目的。在采取行动之前,务必从多个来源验证威胁情报。
标签:AbuseIPDB, API集成, Ask搜索, DAST, Flask, IP信誉检测, Python, SOC工具, VirusTotal, WSL, 仪表盘, 可观测性, 威胁情报, 安全运营, 开发者工具, 开源安全, 恶意软件分析, 扫描框架, 数据聚合, 无后门, 漏洞发现, 网络安全, 调试辅助, 逆向工具, 隐私保护