Gnx80s/Week_9_Project
GitHub: Gnx80s/Week_9_Project
一个Python编写的威胁情报聚合工具,自动从多个来源收集、标准化IoC并生成可操作的黑名单和可视化报告。
Stars: 0 | Forks: 0
## 威胁情报聚合器
一个集中式的网络威胁情报(CTI)工具,用于自动化收集、标准化和分析来自多个不同威胁情报源的妥协指标(IoC)。
该项目从实时API和本地文件获取原始数据,分配风险评分,去除重复条目,并生成可操作的CSV输出和可视化威胁趋势报告。
## 目标
威胁情报聚合器是一个基于Python的ETL管道,旨在:
- 从API和本地情报源收集威胁情报。
- 将数据标准化为统一的模式。
- 通过风险评分丰富IoC。
- 去重并跟踪IoC生命周期。
- 存储历史数据用于趋势分析。
- 生成报告和可视化洞察。
## 功能
- **多源获取:** 从AlienVault OTX、AbuseIPDB和Feodo Tracker僵尸网络C2黑名单获取情报。
- **离线回退能力:** 自动检测网络故障并回退处理本地情报数据(如`feeds/feodo_tracker.txt`)。
- **数据标准化:** 将不一致的数据结构(JSON API、纯文本)转换为统一的内部模式。
- **自动化威胁评分:** 根据置信度评分分配标准风险等级(HIGH、MEDIUM、LOW)。
- **智能去重:** 合并来自不同提供商的重复IoC,确保保留最高置信度评分和最新时间戳。
- **数据可视化:** 自动生成Matplotlib饼图、柱状图和历史趋势线,以可视化威胁分布。
## API设置
### AlienVault OTX
- 访问:https://otx.alienvault.com
- 创建账户 → 设置 → API密钥
### AbuseIPDB
- 访问:https://www.abuseipdb.com
- 创建账户 → API → 生成密钥
### 3. 创建`.env`
ABUSEIPDB_API_KEY=your_key_here
OTX_API_KEY=your_key_here
## 要求
- Python 3.8或更高版本
- 网络连接(用于获取实时API)
## 安装
1. 克隆仓库
```
git clone https://github.com/Gnx80s/Week_9_Project.git
cd Week_9_Project
```
2. 安装依赖
```
pip install -r requirements.txt
```
## 使用方法
从终端运行主协调脚本:
```
python main.py
```
## 项目结构
Week_9_Project/ ├── feeds/ │ └── feodo_tracker.txt # C2 IP本地回退列表 | ├── output/ #(不纳入版本控制) │ ├── reports/ # 生成的文本摘要 │ ├── visuals/ # 生成的Matplotlib PNG图表 │ ├── consolidated_iocs.csv # 最终去重情报列表 │ └── history.csv # 历史跟踪数据库 | ├── .env # API密钥(不纳入版本控制) | ├── aggregator.py # 文件I/O和去重协调 | ├── config.py # 环境变量和路径映射 | ├── fetch_feeds.py # API请求逻辑和本地文件读取 | ├── main.py # 主执行脚本 | ├── normalize_data.py # 模式转换 | ├── requirements.txt # Python依赖 | ├── threat_scoring.py # 风险分配逻辑 | ├── utils.py # 辅助函数(时间戳、目录) | ├── visualise.py # 图形报告引擎 | └── README.md # 项目文档 ## 预期控制台输出:[+] 正在获取威胁情报... [+] 正在标准化数据... [+] 正在添加威胁评分... [+] 正在去重... [+] 正在保存结果... [+] 正在更新历史数据... [✓] 完成。输出:/.../output/consolidated_iocs.csv [✓] 报告:/.../output/reports/report_202X-XX-XX_XX-XX-XX.txt [+] 正在生成可视化... [✓] 可视化已保存至:/.../output/visuals ## 输出 成功运行后,检查output/目录: - consolidated_iocs.csv:您的可操作黑名单,可供SIEM或防火墙摄取。 - history.csv:追加数据库,跟踪聚合器历来见过的每个IoC。 - reports/:当前聚合运行的时间戳文本摘要。 - visuals/:详细说明IoC类型和风险等级分布的图像文件(.png),以及跟踪威胁量的折线图。 ## 免责声明 本项目仅用于教育和防御性网络安全目的。 威胁情报聚合器收集和处理公开可用的威胁情报数据,以演示与以下内容相关的概念: - 威胁情报聚合 - 数据标准化和分析 - 安全监控和可视化 本工具不得用于: - 未经授权的系统扫描或定向攻击 - 恶意活动或网络攻击 - 任何违反适用法律或法规的行为 作者不保证本项目使用或生成的威胁情报数据的准确性、完整性或可靠性。用户有责任在将任何数据用于任何安全或运营环境之前验证其数据。 使用本项目即表示您同意以符合道德、负责任的方式使用本项目,并遵守所有适用的法律和法规。
标签:AbuseIPDB, AMSI绕过, API集成, Botnet, ETL管道, Feodo Tracker, IoC, Matplotlib, 僵尸网络, 可观测性, 妥协指标, 威胁情报, 威胁情报聚合, 威胁检测, 威胁评分, 威胁趋势分析, 安全运营, 开发者工具, 恶意IP, 恶意软件指标, 情报共享, 扫描框架, 数据去重, 数据规范化, 网络威胁情报, 网络安全, 逆向工具, 隐私保护, 风险评分