basakarchan/Threat-intelligence-enrichment-pipeline
GitHub: basakarchan/Threat-intelligence-enrichment-pipeline
一款基于 Python 的威胁情报富化管道,通过 VirusTotal API 自动调查 IP 地址并将结构化安全事件转发至 Splunk,帮助安全团队加速 IOC 研判流程。
Stars: 0 | Forks: 0
# IOC 富化 Pipeline
一款基于 Python 的威胁情报自动化工具,利用 VirusTotal API 富化妥协指标(IOC),并通过 HTTP Event Collector (HEC) 将结构化的安全事件转发至 Splunk Enterprise。
## 项目概述
安全团队通常会从告警、防火墙日志或入侵检测系统中接收到 IP 地址。手动调查每个 IP 可能非常耗时。
本项目通过以下方式实现该流程的自动化:
- 从输入文件中读取 IP 地址。
- 查询 VirusTotal API 获取威胁情报。
- 根据检测结果计算严重程度级别。
- 将富化后的事件发送至 Splunk Enterprise。
- 将富化后的事件保存为 JSON,以供后续分析。
这展示了如何使用 Python 和 Splunk 将威胁情报集成到 SOC 工作流中。
## 功能特性
- 从文本文件中读取 IP 地址
- 查询 VirusTotal API
- 计算事件严重程度
- 将事件转发至 Splunk HEC
- 将富化后的事件保存为 JSON
- 通过 `.env` 提供环境变量支持
- 模块化的 Python 项目结构
- 基础的错误处理和请求超时机制
## 架构
```
alerts.txt
│
▼
IOC Enrichment Pipeline
│
┌────────────┴────────────┐
▼ ▼
VirusTotal API Severity Engine
│
▼
Splunk HTTP Event Collector
│
▼
Splunk Enterprise
│
▼
Search & Dashboards
```
## 项目结构
```
IOC-Enrichment-Pipeline/
│
├── src/
│ ├── main.py
│ ├── vt.py
│ ├── splunk.py
│ └── config.py
│
├── logs/
│ ├── alerts.txt
│ └── enriched_alerts.json
│
├── screenshots/
│
├── docs/
│
├── .env.example
├── .gitignore
├── requirements.txt
└── README.md
```
## 使用的技术
- Python 3
- VirusTotal API
- Splunk Enterprise
- Splunk HTTP Event Collector (HEC)
- Requests
- python-dotenv
- JSON
## 安装说明
克隆代码仓库:
```
git clone https://github.com/YOUR_USERNAME/IOC-Enrichment-Pipeline.git
```
进入项目文件夹:
```
cd IOC-Enrichment-Pipeline
```
安装所需的依赖包:
```
pip install -r requirements.txt
```
使用 `.env.example` 创建 `.env` 文件:
```
VT_API_KEY=YOUR_API_KEY
SPLUNK_HEC_TOKEN=YOUR_SPLUNK_TOKEN
SPLUNK_HEC_URL=https://localhost:8088/services/collector
```
## 使用方法
运行应用程序:
```
python src/main.py
```
应用程序将执行以下操作:
1. 从 `logs/alerts.txt` 读取 IP 地址
2. 查询 VirusTotal
3. 计算严重程度
4. 将事件发送至 Splunk
5. 将富化后的事件保存至 `logs/enriched_alerts.json`
## 事件示例
```
{
"ip": "8.8.8.8",
"severity": "Low",
"malicious": 0,
"suspicious": 0,
"harmless": 89
}
```
## 展示的技能
- Python 编程
- REST API 集成
- 威胁情报
- Splunk Enterprise
- HTTP Event Collector (HEC)
- JSON 处理
- 环境变量
- 错误处理
- 安全自动化
## 未来改进
未来潜在的增强功能包括:
- 直接从 Splunk 搜索结果中进行 IOC 富化
- 支持 domain 和 file hash
- 在 Splunk 中创建 Dashboard
- 定时富化任务
- 支持额外的威胁情报提供商
- 使用 Python 的 logging 模块进行日志记录
## 截图
部署完成后将添加截图。
- 应用程序执行
- VirusTotal 富化
- Splunk 搜索
- Splunk Dashboard
## 作者
由 **ARCHAN BASAK** 创建
SOC 工程师 | 网络安全爱好者 | Python 安全自动化
标签:API集成, Homebrew安装, Python, Retryablehttp, 可观测性, 威胁情报, 字符串匹配, 安全运营, 开发者工具, 扫描框架, 无后门, 网络信息收集, 网络调试, 自动化, 逆向工具