ibernal1815/threat-intel-enricher
GitHub: ibernal1815/threat-intel-enricher
一款基于 Python 的命令行工具,通过 VirusTotal 和 AbuseIPDB 增强 IOC 并输出结构化威胁情报报告。
Stars: 0 | Forks: 0
# threat-intel-enricher
对 IOCs(IP、域名、文件哈希)进行提取,并使用 VirusTotal 和 AbuseIPDB 进行增强。输出包含检测次数、滥用置信度评分、标签以及每个 IOC 的判决结果的 JSON 结构化报告。
设计为与 [log-normalizer](https://github.com/yourusername/log-normalizer) 协同工作作为管道组件,但也可独立使用。
## 安装与设置
```
git clone https://github.com/yourusername/threat-intel-enricher
cd threat-intel-enricher
pip install requests
```
运行前请将 API 密钥设置为环境变量。免费密钥可至 [virustotal.com](https://www.virustotal.com) 和 [abuseipdb.com](https://www.abuseipdb.com) 获取。
```
export VT_API_KEY="your_virustotal_key"
export ABUSEIPDB_API_KEY="your_abuseipdb_key"
```
VT 免费层限制为每分钟 4 次请求、每天 500 次。速率限制器会自动处理每分钟的配额。
## 使用方法
从 log-normalizer 管道输入:
```
python main.py --input auth.log --iocs-only | python enricher.py
```
从 JSON 文件加载:
```
python enricher.py --iocs iocs.json
```
直接传递 IOC:
```
python enricher.py --ip 185.220.101.5 --domain malicious.example.com --hash abc123...
```
与完整 log-normalizer 输出内联增强:
```
python main.py --input auth.log | python enricher.py --enrich
```
输出到文件而非标准输出:
```
python enricher.py --iocs iocs.json --output report.json
```
包含原始 API 响应(用于调试或深入分析):
```
python enricher.py --ip 185.220.101.5 --include-raw
```
紧凑输出,便于通过 jq 或其他工具处理:
```
python enricher.py --iocs iocs.json --compact | jq '.iocs[] | select(.verdict == "malicious")'
```
## 输出结构
每个 IOC 生成一条记录,示例如下:
```
{
"ioc": "185.220.101.5",
"type": "ip",
"verdict": "malicious",
"virustotal": {
"detection_count": 17,
"total_engines": 93,
"tags": ["tor-exit-node", "scanner"],
"categories": ["malicious sites"],
"analysis_stats": {
"malicious": 15,
"suspicious": 2,
"undetected": 10,
"harmless": 5,
"timeout": 0
}
},
"abuseipdb": {
"confidence_score": 95,
"total_reports": 142,
"categories": ["Brute-Force", "SSH Brute-Force", "Port Scan", "Hacking"],
"country": "NL",
"isp": "Frantech Solutions",
"usage_type": "Data Center/Web Hosting/Transit",
"is_tor": true
}
}
```
完整报告会将所有 IOC 封装在带有判决类型统计的信封结构中。
判决结果包括 `clean`、`suspicious` 或 `malicious`。阈值定义在 `config.py` 中,可自行调整。默认情况下,VT 检测使用 10 个引擎,AbuseIPDB 置信度阈值为 75。Tor 出口节点无论评分如何均会被标记为可疑。
## 测试
所有 API 调用均被模拟,无需真实密钥即可运行测试套件:
```
python -m pytest tests/ -v
```
## 相关项目
[log-normalizer](https://github.com/yourusername/log-normalizer) 可从原始安全日志中提取并标准化 IOC。使用 `--iocs-only` 标志可直接将其输出传入本工具。
标签:AbuseIPDB, AMSI绕过, API密钥, CLI, IOC, IP, JSON报告, PB级数据处理, WiFi技术, 域名, 威胁情报, 威胁检测, 安全运维, 开发者工具, 恶意检测, 数据丰富, 文件哈希, 日志管道, 漏洞探测, 病毒总汇, 结构化输出, 网络安全, 逆向工具, 隐私保护