patricelachelle/automated-threat-parser
GitHub: patricelachelle/automated-threat-parser
一个用 Python 编写的自动化威胁情报富化 pipeline,将非结构化日志清洗后通过 AbuseIPDB API 进行 IP 信誉查询,输出结构化的 CSV 威胁报告,帮助安全分析师减少手动指标验证工作。
Stars: 0 | Forks: 0
# 自动化 OSINT 威胁情报富化 Pipeline
本项目展示了如何利用 Python 自动化,将杂乱的安全数据转化为可用的分析师报告。该 pipeline 会摄入非结构化的日志条目,提取有效的 IP 地址,去除重复项,使用 AbuseIPDB 威胁情报对其进行富化,并将结果导出为整洁的 CSV,以便进行分流或报告。
对于招聘人员或招聘经理而言,该项目凸显了实用的安全工程技能:日志解析、API 集成、数据清洗、自动化,以及以对分析师友好的格式呈现分析结果。
## 项目功能
- 清理嘈杂的原始日志数据并分离出有效的 IPv4 地址
- 移除重复指标以避免冗余的富化调用
- 查询 AbuseIPDB API 获取信誉和报告上下文
- 在执行过程中标记可疑 IP 以便快速审查
- 使用 Pandas 将响应标准化为结构化的 CSV
## 重要意义
安全分析师经常因为需要手动验证来自不一致数据源的指标而浪费时间。该项目展示了一个轻量级的工作流,它减少了这种人工劳动,并将原始指标转化为 SOC 团队真正可用的内容。
## 端到端工作流
`messy_logs.txt` -> `threat_parser.py` 逻辑 -> `osint_pipeline.py` 富化 -> `threat_report.csv`
1. 从 `messy_logs.txt` 加载原始数据。
2. 基于 Regex 的解析可识别有效的 IP 地址并剔除重复项。
3. 每个 IP 都会与 AbuseIPDB 进行比对富化。
4. 结果被结构化为 Pandas DataFrame。
5. 最终报告导出为 `threat_report.csv`。
## 仓库指南
- `osint_pipeline.py`:主要的端到端 pipeline,负责清理数据、调用 API、打印终端警报,并生成最终的 CSV 报告。
- `threat_parser.py`:专用的解析器原型,用于从嘈杂的源数据中提取有效且唯一的 IP。
- `api_test.py`:小型的 API 连接测试,用于验证针对 AbuseIPDB 的单 IP 查询。
- `messy_logs.txt`:包含重复项、空格问题和无效条目的非结构化输入数据样本。
- `threat_report.csv`:由 pipeline 生成的输出报告示例。
## 截图
### 1. 原始输入数据
样本源文件包含重复项、不一致的空格以及解析器需要处理的非 IP 噪音。

### 2. Pipeline 执行
主脚本对每个唯一的 IP 进行富化,将进度打印到终端,并通过警告输出揭示可疑的指标。

### 3. 最终结构化报告
生成的 CSV 将富化后的情报组织成列,分析师可以快速查看或移交给下游处理。

## 技术栈
- Python
- Regex (`re`)
- Requests
- Pandas
- AbuseIPDB API
## 如何运行
1. 安装依赖项:
```
pip install requests pandas
```
2. 在 `osint_pipeline.py` 中添加您的 AbuseIPDB API 密钥。
3. 运行 pipeline:
```
python osint_pipeline.py
```
4. 查看生成的 `threat_report.csv`。
## 展现的技能
- 聚焦安全的数据解析
- 威胁情报富化
- REST API 调用
- 数据标准化与报告
- 用于 SOC 风格自动化的 Python 脚本
## 未来改进
- 将 API 密钥迁移至环境变量中
- 为私有和保留地址段添加更严格的 IP 验证
- 将结果导出为 JSON 或对 SIEM 友好的格式
- 为解析和富化逻辑添加单元测试
标签:Python, Web技术栈, 威胁情报, 字符串匹配, 安全运营(SOC), 开发者工具, 数字取证, 无后门, 自动化脚本, 逆向工具