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, 代码示例, 威胁情报, 安全合规, 开发者工具, 数据分析, 数据处理流水线, 无后门, 网络代理, 运维, 逆向工具