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, 恶意软件指标, 情报共享, 扫描框架, 数据去重, 数据规范化, 网络威胁情报, 网络安全, 逆向工具, 隐私保护, 风险评分