Manojkumar1705/IOC-Aggregator

GitHub: Manojkumar1705/IOC-Aggregator

一个基于 Python 的自动化威胁情报流水线,聚合 27 个开源源头并规范化处理 IOC,专为 Sumo Logic 平台的每周威胁情报导入设计。

Stars: 0 | Forks: 0

# 🛡️ 自动化 IOC 聚合系统 一个基于 Python 的自动化威胁情报流水线,从 **27 个开源订阅源和经过认证的 API** 收集 **威胁指标 (IOC)**,将其规范化为标准格式,在各个来源和每周运行之间进行去重,并生成一个整洁的 CSV 文件,可直接导入 **Sumo Logic Threat Intelligence**。 ## 📌 项目背景 网络安全团队依赖 IOC 来检测和响应威胁,然而开源情报订阅源分散、不一致且经常冗余。每周手动收集和规范化来自 27 个以上来源的数据既耗时又容易出错。 该工具自动化了整个流水线 —— 从获取到规范化、去重再到输出 —— 因此 SOC 分析师无需任何手动操作,即可在每周一收到一个整洁、丰富且经过去重的订阅源。 ## 🧰 语言与技术 | 组件 | 技术 | |---|---| | 语言 | Python 3.9+ | | HTTP 请求 | `requests` 库 | | IP 验证 | `ipaddress` (stdlib) | | 凭据管理 | `.env` + `python-dotenv` | | 调度 (可选) | `APScheduler` | | 输出格式 | CSV — Sumo Logic Threat Intel Ingest 规范 | | 去重状态 | JSON 文件持久化 | ## ⚙️ 使用的方法 | 方法 | 描述 | |---|---| | **正则表达式驱动的分类** | 使用 `re` 和 `ipaddress` 验证并将每个 IOC 分类为 IP、URL、域名或文件哈希 | | **跨源去重** | IOC 值被哈希并存入集合,并与持久化的每周状态文件进行比对 | | **置信度评分** | 根据符合 STIX 2.1 标准的订阅源信誉,为每个来源分配 1–100 的置信度分数 | | **杀伤链映射** | 原始威胁标签自动映射到洛克希德·马丁网络杀伤链 阶段 | | **威胁类型规范化** | 所有特定于来源的标签均被规范化为符合 STIX 2.1 标准的 `threatType` 值 | | **优雅的错误处理** | 每个获取器都独立封装 —— 单个来源失败永远不会阻止整个运行 | ## 📦 使用的 Python 模块 | 模块 | 用途 | |---|---| | `requests` | 对所有 27 个源订阅源和 API 执行 HTTP GET/POST | | `python-dotenv` | 从 `.env` 文件安全加载 API 密钥 | | `ipaddress` | 验证 IP 并确定 IPv4 与 IPv6 | | `re` | 用于哈希、域名、URL 的正则表达式验证 | | `csv` | 写入最终的 Sumo Logic CSV 输出 | | `json` | 读取/写入去重状态文件 | | `uuid` | 为每行生成唯一的 `indicator--uuid4` ID | | `logging` | 结构化的带时间戳终端输出 | | `datetime` | UTC 时间戳生成和 `validUntil` 计算 | | `collections.Counter` | 按来源和类型划分的 SOC 摘要统计 | | `pathlib.Path` | 跨平台文件路径管理 | | `apscheduler` | 每周调度(可选,位于 `scheduler.py` 中) | ## 🌐 使用的来源 ### API 来源(需要密钥) | # | 来源 | IOC 类型 | 描述 | URL | |---|---|---|---|---| | 1 | **OTX AlienVault** | IP, URL, 域名, 哈希 | 社区驱动的威胁情报,支持基于 Pulse 的 IOC 共享和攻击者归因 | https://otx.alienvault.com | | 2 | **Malshare** | 哈希 | 恶意软件仓库,提供新发现的恶意软件样本的每日哈希订阅源 | https://malshare.com | | 3 | **Pulsedive** | IP, URL, 域名, 哈希 | 威胁情报聚合器,提供带有丰富信息的风险评级指标 | https://pulsedive.com | | 4 | **ThreatFox** | IP, URL, 域名, 哈希 | Abuse.ch IOC 数据库,包含恶意软件家族标签和结构化威胁数据 | https://threatfox.abuse.ch | | 5 | **MalwareBazaar** | 哈希 | Abuse.ch 恶意软件样本数据库,提供哈希订阅源和恶意软件家族标签 | https://bazaar.abuse.ch | | 6 | **VirusTotal** | URL, 域名, 哈希 | 多引擎文件和 URL 分析平台,提供恶意软件判定结果 | https://www.virustotal.com | | 7 | **AbuseIPDB** | IP | 众包 IP 滥用报告,根据报告数量提供置信度评分 | https://www.abuseipdb.com | | 8 | **HybridAnalysis** | 哈希 | Falcon Sandbox 验证的恶意软件哈希,源自提交文件的动态分析 | https://www.hybrid-analysis.com | ### 公共订阅源(无需密钥) | # | 来源 | IOC 类型 | 描述 | URL | |---|---|---|---|---| | 9 | **AbuseSSL** | IP | Abuse.ch SSL 黑名单,追踪使用 SSL 证书的僵尸网络 C2 服务器 | https://sslbl.abuse.ch | | 10 | **Firehol Level 1** | IP | 精选的多源 IP 阻断列表,聚合了最危险的已知恶意 IP | https://github.com/firehol/blocklist-ipsets | | 11 | **Emerging Threats** | IP | 业界知名的 IP 列表,涉及已知被攻陷的基础设施 | https://rules.emergingthreats.net | | 12 | **URLhaus** | URL | Abuse.ch 的活跃恶意 URL 订阅源,用于恶意软件分发 | https://urlhaus.abuse.ch | | 13 | **OpenPhish** | URL | 通过自动和手动分析识别出的已验证钓鱼 URL | https://openphish.com | | 14 | **PhishTank** | URL | 经过社区验证并具有人工审查流程的钓鱼 URL | https://phishtank.org | | 15 | **Spamhaus DROP** | IP | 最受信任的全球阻断列表之一,涵盖僵尸网络控制的 IP 范围 | https://www.spamhaus.org/drop | | 16 | **Feodo Tracker** | IP | Abuse.ch 追踪器,用于银行恶意软件 C2 基础设施 (Emotet, Dridex, TrickBot) | https://feodotracker.abuse.ch | | 17 | **Blocklist.de** | IP | 高容量 IP 订阅源,涵盖 SSH、邮件和 Web 的暴力攻击来源 | https://lists.blocklist.de | | 18 | **Botvrij** | IP, URL, 域名, 哈希 | 比利时 CERT 提供的 IOC 订阅源,涵盖所有指标类型 | https://www.botvrij.eu | | 19 | **VXVault** | URL | 恶意软件载荷 URL 列表,追踪活跃的恶意软件分发基础设施 | http://vxvault.net | | 20 | **Threatview** | IP, 域名 | 高置信度 Cobalt Strike C2 IP 和域名订阅源,用于定向 SOC 使用 | https://threatview.io | | 21 | **IPsum** | IP | 将 30 多个 IP 阻断列表聚合为单个订阅源,并提供基于出现次数的评分 | https://github.com/stamparm/ipsum | | 22 | **CINS Army** | IP | 每日更新的扫描和暴力攻击源 IP 订阅源 | https://cinsscore.com | | 23 | **Bambenek C2** | 域名 | 经研究支持的 DGA 恶意软件 C2 域名订阅源 | https://osint.bambenekconsulting.com/feeds | | 24 | **Binary Defense** | IP | 由 Binary Defense 威胁研究团队积极维护的 IP 封禁列表 | https://www.binarydefense.com/banlist.txt | | 25 | **Tor Exit Nodes** | IP | Tor 项目的官方活跃出口节点列表 —— 权威的匿名化订阅源 | https://check.torproject.org/torbulkexitlist | | 26 | **Disconnect.me** | 域名 | 由 Disconnect 隐私项目维护的恶意软件和追踪域名列表 | https://disconnect.me | | 27 | **DigitalSide** | IP, URL, 域名 | 与意大利 CERT 对齐的 OSINT 订阅源,涵盖多种指标类型 | https://osint.digitalside.it | ## 📁 项目结构 ``` IOC-SOC/ ├── ioc_aggregator.py # Main aggregation script ├── scheduler.py # APScheduler weekly automation ├── .env # Your API keys (never commit this) ├── .env.example # Template — copy to .env and fill in keys ├── .gitignore # Excludes .env, output/, state/ from git ├── requirements.txt # Python dependencies ├── README.md # Project overview (this file) ├── HELP.md # Installation, setup, and automation guide ├── output/ # Generated CSV files (auto-created) │ └── ioc_feeds_YYYY-MM-DD.csv └── state/ # Dedup persistence (auto-created) └── ioc_dedup_state.json ``` ## 📤 输出格式 输出文件严格遵循 **Sumo Logic CSV 上传规范**。无标题行。每行 10 列: ``` id, indicator, type, source, validFrom, validUntil, confidence, threatType, actors, killChain ``` **示例行:** ``` indicator--uuid, 1.2.3.4, ipv4-addr, Feodo, 2026-03-12T08:00:00Z, 2026-03-19T08:00:00Z, 90, malicious-activity,,command-and-control indicator--uuid, http://evil.com, url, URLhaus, 2026-03-12T08:00:00Z, 2026-03-19T08:00:00Z, 85, malicious-activity,,delivery indicator--uuid, malware.xyz, domain-name, BambenekC2, 2026-03-12T08:00:00Z, 2026-03-19T08:00:00Z, 87, malicious-activity,,command-and-control indicator--uuid, d41d8cd98f00b204e9800998ecf8427e, file:hashes.MD5, MalwareBazaar, 2026-03-12T08:00:00Z, 2026-03-19T08:00:00Z, 88, malicious-activity,,installation ``` ## 🚀 快速开始 有关完整的安装、设置和自动化说明,请参阅 **[HELP.md](HELP.md)**。 ``` # 克隆 repo git clone https://github.com/Manojkumar1705/IOC-Aggregator.git cd IOC-SOC # 安装 dependencies pip install -r requirements.txt # 配置 API keys cp .env.example .env nano .env # fill in your keys # 运行 python3 ioc_aggregator.py ``` ## 👥 团队 由 SOC 自动化团队开发 —— Hindustan Institute of Technology & Science - Manoj Kumar R (23SU2400039) - Gowshik S (23SU2400022) - Sivamuthu Selvadurai M (23SU2400071)
标签:API 集成, CSV 生成, ESC4, FTP漏洞扫描, HTTP/HTTPS抓包, IOC 自动化聚合, IP 地址批量处理, IP 地址验证, OSINT, Python, SOC 运维, STIX 2.1, Sumo Logic, 去重, 域名收集, 威胁情报, 字符串匹配, 安全编排, 密码管理, 开发者工具, 态势感知, 数字取证, 数据清洗, 数据管道, 数据规范化, 无后门, 杀伤链映射, 漏洞指标, 网络信息收集, 网络安全, 自动化脚本, 软件工程, 逆向工具, 隐私保护