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, 威胁情报, 威胁情报管道, 安全运营中心, 开发者工具, 无后门, 网络信息收集, 网络映射, 自动化分析, 跨站脚本, 逆向工具, 配置审计