webjojoc/ioc-pipeline
GitHub: webjojoc/ioc-pipeline
一款自动化威胁情报分类流水线,通过 VirusTotal 和 AbuseIPDB API 对实时 IoC 指标进行富化分析和自动化判定,大幅缩短 SOC 团队的手工分类时间。
Stars: 0 | Forks: 0
# IOC 自动化 Pipeline
一款自动化威胁情报分类工具,用于监控实时的恶意
URL/IP 数据源,通过 VirusTotal 和 AbuseIPDB API 对每个指标进行富化分析,
并将带有评分的判定结果记录到结构化的 CSV 分类日志中。
## 解决的问题
在 SOC 中,手动进行 IOC 分类通常每个指标需要 3-5 分钟:
打开浏览器,导航到 VirusTotal,粘贴 IOC,读取结果,
打开 AbuseIPDB,重复上述操作,然后手动记录判定结果。
这个 Pipeline 在每个 IOC 不到 3 秒的时间内完成相同的工作 —— 全自动、
持续运行,且无需分析师干预。
## 架构
URLhaus 数据源 --> IOC 解析器 --> VirusTotal API --> 判定引擎 --> triage.csv
+
AbuseIPDB API
## 工作原理
1. 每 10 分钟获取一次 URLhaus 最新威胁 CSV 数据源
2. 使用 ioc-finder 提取所有 URL 和 IP 地址
3. 与已记录的集合进行去重,以避免冗余的 API 调用
4. 查询 VirusTotal 获取恶意引擎数量
5. 查询 AbuseIPDB 获取滥用置信度评分(仅限 IP)
6. 应用判定逻辑:MALICIOUS / SUSPICIOUS / CLEAN
7. 将带有时间戳的结果追加到 triage.csv
## 判定逻辑
| 条件 | 判定结果 |
|------------------------------------|------------|
| VT engines >= 3 或 Abuse >= 50 | MALICIOUS |
| VT engines >= 1 或 Abuse >= 20 | SUSPICIOUS |
| 均未达到阈值 | CLEAN |
## 示例输出
| timestamp | ioc_type | ioc_value | vt_malicious_engines | abuse_confidence_score | verdict |
|---------------------|----------|--------------------|----------------------|------------------------|-----------|
| 2026-05-22 10:14:02 | url | http://malware.com | 16 | N/A | MALICIOUS |
| 2026-05-22 10:14:32 | ip | 185.220.101.45 | 5 | 87 | MALICIOUS |
| 2026-05-22 10:15:02 | url | http://suspect.net | 2 | N/A | SUSPICIOUS|
有关真实结果,请参见 sample_output.csv。
## 设置
1. 克隆仓库
git clone https://github.com/YOURUSERNAME/ioc-pipeline.git
cd ioc-pipeline
2. 创建并激活虚拟环境
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Mac/Linux
3. 安装依赖项
pip install -r requirements.txt
4. 添加你的 API 密钥
将 .env.example 复制到 .env 并填入你的密钥:
VT_API_KEY=your_virustotal_key_here
ABUSE_API_KEY=your_abuseipdb_key_here
5. 运行 Pipeline
python pipeline.py
## 所需的 API 密钥
- VirusTotal: (免费层级 — 每分钟 4 次请求)
- AbuseIPDB: (免费层级 — 每天 1,000 次检查)
## 节省的时间
| 任务 | 手动 | 自动化 |
|-----------------------------|------------|------------|
| 每个 IOC 的分类时间 | ~5 分钟 | ~3 秒 |
| 记录到电子表格 | ~1 分钟 | 自动 |
| 检查 10 个 IOC | ~1 小时 | ~3 分钟 |
## 展现的技能
- REST API 集成(VirusTotal v3,AbuseIPDB v2)
- 通过环境变量安全管理 secrets
- 通过 sleep 间隔处理 rate limit
- IOC 提取与去重
- 自动化判定评分逻辑
- 结构化 CSV 日志记录
- 具备详尽注释的生产级代码
标签:IoC分析, Python, 威胁情报, 威胁情报管道, 安全运营中心, 开发者工具, 无后门, 网络信息收集, 网络映射, 自动化分析, 跨站脚本, 逆向工具, 配置审计