AbhigyanPratap007/THREAT-INTELLIGENCE-IOC-ENRICHMENT-TOOL

GitHub: AbhigyanPratap007/THREAT-INTELLIGENCE-IOC-ENRICHMENT-TOOL

一款基于 Python 和 VirusTotal API 的威胁情报 IOC 富化工具,支持批量分析 IP、域名、URL 和文件哈希并自动生成带威胁评分的结构化报告。

Stars: 0 | Forks: 0

# 威胁情报 IOC 富化工具 一个基于 Python 的威胁情报富化工具,它使用 VirusTotal API 来分析和分类失陷指标 (IOC),包括 IP 地址、域名、URL 和文件哈希。 该工具支持 IOC 类型检测、批量 IOC 处理、威胁评分、生成 JSON/CSV 报告,并根据 VirusTotal 安全厂商的恶意和可疑判定计数提供分析师风格的建议。它被设计为一款实用的蓝队工具,适用于 SOC 分流、威胁情报富化、恶意软件调查支持以及事件响应工作流。 ## 项目摘要 **项目:** 威胁情报 IOC 富化工具 **工具:** Python, VirusTotal API **重点领域:** 威胁情报, IOC 分析, SOC 自动化, 恶意软件分析支持 **状态:** 可用的作品集项目 使用 VirusTotal API 开发了一个基于 Python 的威胁情报富化工具,用于分析 IP、域名、URL 和文件哈希。实现了对 4 种 IOC 类型的支持、批量 IOC 处理、威胁评分,以及生成带有分析师风格建议的 JSON/CSV 报告,这些建议基于 60 多家安全厂商的恶意判定计数。使用已知的恶意软件哈希验证了该工具,以便为 SOC 工作流生成结构化的威胁情报报告。 ## 核心功能 - 分析多种 IOC 类型: - IP 地址 - 域名 - URL - 文件哈希:MD5, SHA1, SHA256 - 使用 VirusTotal API v3 进行富化 - 自动检测 IOC 类型 - 支持单个 IOC 分析 - 支持从文本文件进行批量 IOC 处理 - 根据恶意和可疑判定计数分配威胁等级 - 生成分析师风格的建议 - 以 JSON 和 CSV 格式导出结构化报告 - 处理常见的 API 状况,包括: - 未找到 IOC - API 速率限制 - API 请求错误 - 使用环境变量将 VirusTotal API 密钥保留在源代码之外 ## 使用的技术 - Python 3 - VirusTotal API v3 - requests - argparse - csv - json - base64 - regex ## 仓库结构 ``` ioc-threat-intel-enricher/ | ├── threat_intel_enricher.py ├── requirements.txt ├── iocs.txt ├── threat_intel_report.json ├── threat_intel_report.csv ├── README.md └── screenshots/ ├── terminal_output.png └── sample_report.png ``` ## 安装说明 克隆仓库: ``` git clone https://github.com/YOUR_USERNAME/ioc-threat-intel-enricher.git cd ioc-threat-intel-enricher ``` 安装依赖项: ``` pip install -r requirements.txt ``` ## requirements.txt ``` requests ``` ## VirusTotal API 设置 此工具需要 VirusTotal API 密钥。 1. 创建或登录 VirusTotal 账户。 2. 前往您的 API 密钥页面。 3. 复制您的 API 密钥。 4. 将其设置为环境变量。 ### Windows PowerShell ``` $env:VT_API_KEY="YOUR_API_KEY_HERE" ``` ### Linux/macOS ``` export VT_API_KEY="YOUR_API_KEY_HERE" ``` 不应将 API 密钥硬编码到 Python 脚本中或上传到 GitHub。 ## 用法 ### 分析单个 IOC ``` python threat_intel_enricher.py -i 8.8.8.8 ``` ### 分析域名 ``` python threat_intel_enricher.py -i google.com ``` ### 分析 URL ``` python threat_intel_enricher.py -i https://example.com ``` ### 分析文件哈希 ``` python threat_intel_enricher.py -i 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f ``` ## 批量 IOC 处理 创建一个名为 `iocs.txt` 的文件,每行一个 IOC: ``` 8.8.8.8 google.com https://example.com 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f ``` 以批量模式运行该工具: ``` python threat_intel_enricher.py -f iocs.txt ``` ## 输出文件 默认情况下,该工具会生成两个结构化的输出文件: ``` threat_intel_report.json threat_intel_report.csv ``` 您也可以指定自定义输出名称: ``` python threat_intel_enricher.py -f iocs.txt --json results.json --csv results.csv ``` ## 终端输出示例 ``` Threat Intelligence Report ================================================== ioc: 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f ioc_type: file_hash status: success malicious: 66 suspicious: 0 harmless: 0 undetected: 2 reputation: 3742 threat_level: HIGH recommendation: Block immediately and investigate related activity. generated_at: 2026-05-22T17:06:58.451962 ``` ## 威胁评分逻辑 该工具根据 VirusTotal 的恶意和可疑判定计数分配威胁等级。 | 威胁等级 | 逻辑 | 分析师含义 | |---|---|---| | HIGH | 20+ 次恶意检测 | 强烈的恶意共识。阻止并调查。 | | MEDIUM | 5+ 次恶意或可疑检测 | 潜在威胁。查看日志和相关活动。 | | LOW | 1-4 次恶意/可疑检测 | 弱信号。建议人工审查。 | | INFO | 无检测但具有负面信誉 | 无确认的检测,但应审查上下文。 | | CLEAN/UNKNOWN | 无恶意/可疑检测 | 未发现即时的恶意指标。 | ## 分析师建议 该工具根据 IOC 风险等级生成实用建议,例如: - 立即阻止并调查相关的端点、网络和用户活动。 - 调查 IOC 并检查相关日志。 - 在采取行动之前进行人工审查。 - 在信任具有负面信誉的指标之前审查上下文。 - 未检测到即时的恶意指标。 这些建议旨在支持 SOC 分流,并应结合内部日志、资产上下文和业务影响进行验证。 ## SOC 用例 此项目可以支持初级 SOC 和蓝队工作流,例如: - IOC 分流 - 恶意软件哈希信誉检查 - 威胁情报富化 - 事件响应调查 - 钓鱼调查支持 - 威胁狩猎准备 - 在阻止或升级之前富化指标 - 为分析师记录生成结构化证据 ## 安全考量 - 不要将您的 VirusTotal API 密钥上传到 GitHub。 - 对敏感信息使用环境变量。 - 在采取行动之前,使用内部遥测数据验证结果。 - 将第三方信誉数据视为辅助证据,而不是唯一的决策点。 - 在运行批量 IOC 检查时注意 API 速率限制。 ## 局限性 - 该工具依赖于 VirusTotal API 的可用性和速率限制。 - 它不提交新文件或引爆恶意软件样本。 - 它不能替代完整的恶意软件分析或沙箱。 - 厂商检测计数会随时间变化。 - 干净的结果并不能保证 IOC 是安全的。 ## 未来改进 - ANY.RUN 沙箱集成 - AbuseIPDB 集成 - MITRE ATT&CK 映射 - HTML/PDF 报告生成 - YARA 规则支持 - 电子邮件告警 - SIEM 集成 - IOC 白名单和黑名单对比 - 基于 IOC 类型和厂商共识的置信度评分
标签:IOC分析, Python, 威胁情报, 安全运营自动化, 开发者工具, 无后门, 瑞士军刀, 逆向工具