Jeremy-Burgos/threat-observation-pipeline
GitHub: Jeremy-Burgos/threat-observation-pipeline
一个本地优先的安全遥测处理流水线,用于将 Cloudflare 和 Firewalla 日志标准化、脱敏、分类并生成供人工审查的滥用报告草稿,支持可选的在线情报丰富化。
Stars: 0 | Forks: 0
# 威胁观测 Pipeline
这是一个本地优先的 pipeline,用于导入 Cloudflare Security Events 和 Firewalla flow 导出文件,对观测结果进行标准化,对报告候选对象进行评分,并为 AbuseIPDB、AlienVault OTX、现场报告草稿和已脱敏的 GitHub 导出文件生成仅供审查的输出。
默认模式为离线模式。该项目不会提交报告、发布 OTX pulse、在 VirusTotal 上发表评论、上传文件或发布任何内容。
## 功能说明
- 导入 Cloudflare Security Events JSON 导出文件。
- 导入 Firewalla CSV 导出文件。
- 将数据行标准化并存入本地 SQLite 数据库。
- 将观测结果归类为安全的报告类别。
- 在导出前对敏感字段进行脱敏处理。
- 构建本地分析师审查队列。
- 生成草稿专属输出:
- AbuseIPDB 候选 CSV。
- AlienVault OTX pulse 草稿。
- 现场报告草稿。
- 已脱敏的指标(indicators)CSV 和 JSON。
## 非本项目功能
- 它不会暴露原始日志。
- 它不会提交 AbuseIPDB 报告。
- 它不会创建或发布 OTX pulse。
- 它不会在 VirusTotal 上投票或发表评论。
- 它不会向 VirusTotal 上传文件、URL、截图或日志。
- 它不会将其发布到 GitHub 或任何网站。
## 快速开始
创建虚拟环境:
```
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
```
创建数据库:
```
threat-pipeline init-db --db data/processed/observations.sqlite
```
将您的原始导出文件放置于:
```
data/private/raw/
```
导入文件:
```
threat-pipeline import --input data/private/raw --db data/processed/observations.sqlite
```
构建审查队列:
```
threat-pipeline build-queue --db data/processed/observations.sqlite
```
导出仅供审查的输出:
```
threat-pipeline export --db data/processed/observations.sqlite --output-dir exports
```
一次性运行本地工作流:
```
threat-pipeline run-local --input data/private/raw --db data/processed/observations.sqlite --output-dir exports
```
## 本地测试
```
PYTHONPATH=src python -m unittest discover -s tests
```
此脚手架有意未包含 GitHub Actions 工作流。请稍后添加 CI,并使用锁定到完整 commit SHA 的第三方 action。
## 可选的信息丰富化
信息丰富化默认处于禁用状态。
请仅在您的本地环境或永远不会被提交的本地 `.env` 文件中设置 API 密钥。
```
export VIRUSTOTAL_API_KEY="redacted"
export OTX_API_KEY="redacted"
export ABUSEIPDB_API_KEY="redacted"
```
显式运行信息丰富化:
```
threat-pipeline enrich --db data/processed/observations.sqlite --online
```
`enrich` 命令仅检查去重后的公开远程 IP 指标。它不会发送私有设备名称、目标 IP、Cloudflare Ray ID、原始请求标头、原始 CSV 或原始 JSON 导出文件。
## 安全的公开表述
使用本项目时,您可以声明:
```
Observed web application probing and ingress firewall blocks against personal, lab-controlled infrastructure. Indicators were deduplicated, enriched against public sources, and manually reviewed before sharing. No actor attribution is claimed.
```
请勿使用本项目来宣称已确认的恶意软件、已确认的攻击者归属或系统遭入侵,除非您拥有主机取证、抓包、DNS 证据或二进制文件证据。
## Patch 0.1.1
修复了本地导入检测功能,使得 Cloudflare Security Events JSON 和 Firewalla flow CSV 文件能够通过文件内容和标头被检测到,而不再强制要求特定的文件名文本。这支持诸如 `jb-firewall-events-*.json` 和 `flows_2026_05_24.csv` 之类的文件名。诸如 `.gitkeep` 之类的隐藏文件将被静默忽略。
标签:Python, SQLite, 代码示例, 威胁情报, 安全合规, 开发者工具, 数据分析, 数据处理流水线, 无后门, 网络代理, 运维, 逆向工具