AlexWhitaker/ioc-feed-pipeline

GitHub: AlexWhitaker/ioc-feed-pipeline

从多个公开威胁情报源拉取 IOC 数据,标准化后发送到 Datadog 进行安全关联分析与告警的自动化管道工具。

Stars: 0 | Forks: 0

# threat-intel-pipeline 从公开威胁情报源拉取失陷标志 (IOC),并将其作为结构化日志事件发送到 Datadog,以进行关联和告警。 ## 情报源 | 情报源 | 来源 | 指标类型 | |---|---|---| | CISA KEV | cisa.gov | CVE(已知被利用的漏洞) | | AlienVault OTX | otx.alienvault.com | IP、域名、URL、文件哈希 | | ThreatFox | abuse.ch | 恶意软件 C2 IP、域名、URL | | MalwareBazaar | abuse.ch | 恶意软件文件哈希 (SHA256、SHA1、MD5) | | Feodo Tracker | abuse.ch | 僵尸网络 C2 服务器 IP | | URLhaus | abuse.ch | 托管恶意软件的恶意 URL | | OpenPhish | openphish.com | 网络钓鱼 URL | ## 工作原理 每个情报源模块暴露两个函数: - `fetch_data()` — 从情报源的 API 或公开 endpoint 拉取原始数据 - `process_data(data, standardize_indicator_type)` — 将条目标准化为结构化的 Datadog 日志 payload `main.py` 动态加载每个情报源模块,运行这两个函数,并将生成的 IOC 日志事件批量发送到 Datadog。 所有指标类型都会通过 `standardize_indicator_type()` 标准化为统一的分类体系(`ip`、`domain`、`url`、`md5`、`sha1`、`sha256`、`cve`、`email`、`file`)。 ## 设置 ``` pip install -r requirements.txt cp .env.example .env # 填写你的 API keys python main.py ``` ## 必需的环境变量 | 变量 | 描述 | |---|---| | `DD_API_KEY` | 具有日志写入权限的 Datadog API 密钥 | | `OTX_API_KEY` | AlienVault OTX API 密钥 | | `THREATFOX_API_KEY` | ThreatFox API 密钥 | | `MALWAREBAZAAR_API_KEY` | MalwareBazaar API 密钥 | CISA、URLhaus、OpenPhish 和 Feodo Tracker 是无需认证的公开情报源——不需要 API 密钥。 ## 添加新情报源 1. 创建 `feeds/myfeed.py`,按照现有的模式编写 `fetch_data()` 和 `process_data()` 2. 将情报源名称添加到 `main.py` 的 `feeds` 列表中 ## 安全 没有硬编码的凭据。所有 API 密钥均从环境变量中加载。请参阅 `.env.example`。
标签:API集成, Datadog, Python, 可观测性, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 逆向工具