dfirvault/LogEnricher
GitHub: dfirvault/LogEnricher
LogEnricher 是一款 CSV 日志威胁情报富化工具,通过集成多源情报自动为日志添加威胁上下文,便于后续导入 SIEM 进行安全调查。
Stars: 0 | Forks: 0
# LogEnricher - CSV 威胁情报富化工具
[](LICENSE)
[](https://www.python.org/)
[](https://github.com/dfirvault/LogEnricher)
**LogEnricher** 是一款强大的网络安全工具,可利用来自多个来源的威胁情报自动富化 CSV 日志文件。它会从您的日志中提取危害指标 (IOC),并添加上下文威胁情报、地理位置数据、代理/VPN 检测以及信誉评分。
## 🚀 功能
- **多源威胁情报**
- AlienVault OTX - Pulse 订阅源和威胁评分
- AbuseIPDB - IP 信誉和置信度评分
- IP2Location PX12 - 代理、VPN、TOR 和托管检测
- Tor Exit Node - 实时 TOR 出口节点检测
- **IOC 提取**
- IP 地址 (IPv4)
- 域名
- URL
- 文件哈希 (MD5, SHA1, SHA256)
- **丰富的富化数据**
- 地理位置(国家、地区、城市、ISP)
- 代理/VPN/TOR 检测
- 威胁评分和置信度评级
- 恶意 Pulse 信息
- ASN 和网络提供商数据
- 欺诈评分
- **用户友好功能**
- 使用 questionary 的交互式 CLI
- 使用 rich 的精美控制台输出
- 进度条和实时状态更新
- Windows 注册表配置持久化
- 用于离线性能的本地缓存
- 多个 CSV 文件的批量处理
## 📋 前置条件
- Python 3.7 或更高版本
- 用于 API 查询的活跃互联网连接
- 您希望使用的服务的 API 密钥
### 所需的 API 密钥(提供免费层级)
| 服务 | 免费层级 | 注册 |
|---------|-----------|---------------|
| AlienVault OTX | ✅ 每天最多 1000 次请求 | [在此注册](https://otx.alienvault.com/) |
| IP2Location PX12 LITE | ✅ 使用 token 免费 | [在此注册](https://www.ip2location.com/register) |
| AbuseIPDB | ✅ 每天 1000 次请求 | [在此注册](https://www.abuseipdb.com/register) |
## 🔧 安装说明
### 方法 1:预编译可执行文件 (Windows)
1. 从 [Releases](https://github.com/dfirvault/LogEnricher/releases) 下载最新的 `LogEnricher.exe`
2. 运行可执行文件 - 无需安装 Python!
### 方法 2:从源码安装
`#` 克隆仓库
`git clone https://github.com/dfirvault/LogEnricher.git`
`cd LogEnricher`
`#` 运行工具
`python LogEnricher.py`
### Requirements.txt
`questionary>=2.0.0`
`rich>=13.0.0`
`requests>=2.31.0`
## 💻 用法
### 快速开始
`python LogEnricher.py`
该工具将引导您完成:
1. API 密钥配置
2. 富化服务选择
3. 文件/文件夹选择
4. 输出目录选择
### 输入格式
任何包含日志、事件或文本数据的 CSV 文件。该工具会自动:
- 检测 CSV 方言和编码
- 从所有列中提取 IOC
- 保留原始数据,同时添加富化列
### 输出格式
原始列 + 富化列(以数据源为前缀):
- `geo_*` - 地理位置数据 (IP2Location)
- `proxy_*` - 代理/VPN 检测
- `abuse_*` - AbuseIPDB 信誉
- `otx_*` - OTX 威胁情报
- `combined_threat_score` - 综合威胁评分 (0-100)
### 输出列示例
| 原始 | 富化后 |
|----------|----------|
| timestamp | geo_country_code |
| src_ip | geo_country_name |
| dst_ip | proxy_type |
| user_agent | abuse_confidence_score |
| url | otx_pulse_count |
| ... | combined_threat_score |
## 🎯 用例
### 安全运营 (SOC)
- 使用威胁情报富化防火墙日志
- 实时识别恶意 IP
- 根据威胁评分确定事件响应的优先级
### 威胁狩猎
- 从历史日志中提取 IOC
- 识别之前遗漏的指标
- 构建威胁情报数据集
### 取证分析
- 富化 PCAP/NetFlow 日志
- 对可疑连接进行地理定位
- 检测代理/VPN 的使用
### 合规性报告
- 生成丰富的证据文件
- 创建可审计的报告
- 展示威胁检测能力
## 🔒 Windows 注册表配置
该工具将 API 密钥和首选项保存至:
`HKEY_CURRENT_USER\Software\DFIRVault\LogEnricher`
保存的设置包括:
- API 密钥(在注册表中加密)
- 上次使用的输入/输出路径
- 已启用的富化服务
## 📁 缓存系统
本地缓存可提高性能并减少 API 调用:
`%USERPROFILE%\.log_enricher_cache\`
`├── ip2location_px12_db.pkl` `#` IP2Location 数据库(30 天缓存)
`├── tor_exit_nodes.pkl` `#` TOR 出口节点(24 小时缓存)
`└── ip2location_px12_metadata.json`
## 📊 性能考量
## 🐛 故障排除
### 常见问题
**问:“No module named 'questionary'”**
`pip install questionary rich requests`
**问:IP2Location 下载失败**
- 在 IP2Location.com 验证您的 token
- 检查网络连接
- 确保防火墙允许下载
**问:Windows 注册表访问被拒绝**
- 以管理员身份运行
- 工具将在不保存注册表的情况下继续运行
**问:大型 CSV 文件处理缓慢**
- 减少富化服务
- 使用较小的批量大小
- 考虑拆分大文件
## 📄 许可证
MIT 许可证 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件
## 🔗 链接
- [GitHub 仓库](https://github.com/dfirvault/LogEnricher)
- [问题追踪器](https://github.com/dfirvault/LogEnricher/issues)
- [DFIRVault 博客](https://dfirvault.com)
## 🙏 鸣谢
- AlienVault 提供的 OTX 威胁情报
- IP2Location 提供的代理检测数据库
- AbuseIPDB 提供的信誉数据
- Tor Project 提供的出口节点列表
## 📧 联系方式
- **作者**:DFIRVault
- **电子邮件**:contact@dfirvault.com
- **Twitter**:[@DFIRVault](https://twitter.com/DFIRVault)
标签:Python, 威胁情报, 开发者工具, 无后门, 日志富化, 逆向工具