haghfizzuddin/ioc-enricher
GitHub: haghfizzuddin/ioc-enricher
一款整合 VirusTotal、AbuseIPDB 和 Shodan 三大威胁情报源的 Python CLI 工具,帮助安全分析师快速对 IP、域名和文件哈希进行上下文丰富,告别多标签页来回切换的低效工作方式。
Stars: 0 | Forks: 0
# ioc-enricher
CLI 工具,利用 VirusTotal、AbuseIPDB 和 Shodan 来丰富威胁情报指标(IP、域名、文件哈希)。
专为需要在分类调查期间获取快速、整合上下文的威胁分析师和应急响应人员打造 —— 无需在三个浏览器标签页之间来回切换。
## 功能
- 支持 IP、域名和文件哈希 (MD5/SHA1/SHA256)
- 从 **VirusTotal** 获取检测结果、信誉、ASN 和威胁名称
- 从 **AbuseIPDB** 获取滥用置信度分数和 ISP 信息(仅限 IP)
- 从 **Shodan** 获取开放端口、主机名和 CVE(仅限 IP)
- 带有颜色编码风险等级的富文本终端输出
- `--json` 标志可用于管道传输至 SIEM 或其他工具
- 当任何 IOC 被标记为恶意时,退出码为 `1` —— 对 CI/pipeline 友好
## 安装
```
git clone https://github.com/haghfizzuddin/ioc-enricher.git
cd ioc-enricher
pip install -e .
```
## 配置
将 `.env.example` 复制到 `.env` 并填入你的 API 密钥:
```
cp .env.example .env
```
免费层级的密钥即可正常使用:
- [VirusTotal](https://www.virustotal.com/gui/join-us)
- [AbuseIPDB](https://www.abuseipdb.com/register)
- [Shodan](https://account.shodan.io/register)
## 使用方法
```
# 单个 IP
ioc-enricher 8.8.8.8
# 一次性处理多个 IOC
ioc-enricher 185.220.101.1 malware.example.com d41d8cd98f00b204e9800998ecf8427e
# JSON 输出
ioc-enricher 8.8.8.8 --json | jq '.[] | .virustotal.malicious'
# 跳过数据源
ioc-enricher 8.8.8.8 --no-shodan
# 内联传递密钥(覆盖 .env)
ioc-enricher 8.8.8.8 --vt-key YOUR_KEY
```
## 输出
```
╭─────────────────────────╮
│ 185.220.101.1 [ip] │
╰─────────────────────────╯
VirusTotal detections 18/94
Reputation -100
Country DE
AS Owner Fraunhofer-Gesellschaft
Threat names Mirai, Hajime
Abuse confidence 97%
Total reports 1423
ISP Frantech Solutions
Usage type Data Center/Web Hosting/Transit
Org Frantech Solutions
Country Germany
Open ports 22, 80, 443, 8080
Vulns CVE-2021-44228
```
## 运行测试
```
pip install pytest
pytest tests/
```
标签:AbuseIPDB, Ask搜索, DAST, GPT, IOC富化, IP查询, MD5, Python, SHA1, SHA256, SIEM集成, Sigma 规则, SOC工具, VirusTotal, 哈希校验, 域名分析, 威胁情报, 安全运营, 库, 应急响应, 开发者工具, 恶意软件分析, 扫描框架, 攻击指标, 文档结构分析, 无后门, 漏洞发现, 漏洞管理, 网络信息收集, 网络安全, 逆向工具, 隐私保护