Kuyenda18/ioc-enrichment-threat-intelligence-pipeline

GitHub: Kuyenda18/ioc-enrichment-threat-intelligence-pipeline

自动化IOC富化管道,从分类报告中提取威胁指标,结合多个CTI源进行情报富化、MITRE ATT&CK映射和风险评分,辅助SOC和DFIR调查。

Stars: 0 | Forks: 0

# 使用威胁情报的自动化 IOC 丰富管道 本项目是一个小型的基于 Python 的管道,用于从分类式的 JSON 遗物中提取威胁指标(IOC),使用威胁情报源丰富网络 IOC,将选定发现映射到 MITRE ATT&CK 技术,并生成用于调查支持的风险评分报告。 本项目旨在作为 SOC、Blue Team 和 DFIR 实习申请的作品集项目。它并不宣称可用于生产部署或具备真实的企业事件响应经验。 ## 功能说明 该管道支持分析式工作流程: 1. 解析分类 JSON 报告,查找可疑的公共 IP 连接和内存注入指标。 2. 使用 VirusTotal 和 AlienVault OTX 元数据丰富提取出的 IP 地址。 3. 将进程和网络行为映射到相关的 MITRE ATT&CK 技术。 4. 为每项发现计算简单的风险评分和严重性标签。 5. 生成最终的 JSON 报告,可供直接审查或加载到 Streamlit 仪表板中。 ## 安全用例 本项目涉及: - 用于提供调查背景的 IOC 丰富。 - 使用公共 CTI API 进行威胁情报查询。 - 通过添加风险评分、严重性和 ATT&CK 上下文来提供告警分类支持。 - 从原始遗物到丰富后发现的 Blue Team 调查工作流。 - 使用网络连接和内存注入证据进行 DFIR 式的遗物审查。 ## 技术栈 - Python 3 - Requests - python-dotenv - VirusTotal API - AlienVault OTX API - MITRE ATT&CK 技术映射 - Streamlit - Plotly - Pandas - 基于JSON的管道输出 ## 仓库结构 ``` . |-- README.md |-- requirements.txt |-- .env.example |-- .gitignore |-- docs/ | `-- security-review.md |-- sample-data/ | |-- triage_lockdown_report.sample.json | |-- raw_iocs.sample.json | |-- enriched_iocs.sample.json | |-- mapped_iocs.sample.json | `-- enriched_report.sample.json `-- src/ |-- main.py |-- paths.py |-- ioc_extractor.py |-- cti_enricher.py |-- mitre_mapper.py |-- risk_scorer.py `-- cti_dashboard.py ``` ## 管道工作流 ``` triage_lockdown_report.sample.json | v ioc_extractor.py | v raw_iocs.json | v cti_enricher.py | v enriched_iocs.json | v mitre_mapper.py | v mapped_iocs.json | v risk_scorer.py | v enriched_report.json ``` 运行时输出将写入到本地的 `output/` 目录中,该目录会被 Git 忽略。 ## 设置 创建一个虚拟环境并安装依赖项: ``` python -m venv .venv pip install -r requirements.txt ``` 从模板创建本地 `.env` 文件: ``` cp .env.example .env ``` 然后添加你自己的 API 密钥: ``` VT_API_KEY=your_virustotal_api_key OTX_API_KEY=your_otx_api_key ``` 切勿提交 `.env`。 ## 用法 运行完整管道: ``` python src/main.py ``` 运行仪表板: ``` streamlit run src/cti_dashboard.py ``` 仪表板在可用时会加载 `output/enriched_report.json`。如果不存在运行时输出,它将回退到 `sample-data/enriched_report.sample.json`。 ## 评分逻辑 风险评分被有意设计得简单且透明: - VirusTotal 的恶意检测最高贡献 50 分。 - OTX 脉冲数量最高贡献 30 分。 - 带有 `MZ` 标头的注入内存增加 20 分。 - 映射的 MITRE ATT&CK 技术最高贡献 20 分。 严重性标签: - `HIGH`:score >= 70 - `MEDIUM`:score >= 40 - `LOW`:score >= 10 - `INFO`:score < 10 ## 注意事项与限制 - MITRE ATT&CK 映射是基于规则的,仅限于示例工作流程中使用的选定行为。 - 该分数是一种分类辅助工具,而不是决定恶意程度的最终裁决。 - 示例数据已经过脱敏处理,在测试时应替换为授权的实验数据。 - 存在 API 速率限制,这尤其适用于免费的 VirusTotal 账户。 ## GitHub 安全性 原始的本地工作区包含 API 密钥、虚拟环境、原始分类输出以及个人的学术报告。这些内容并未被复制到可发布的公开项目结构中。有关清理记录的详情,请参阅 `docs/security-review.md`。
标签:API集成, Ask搜索, Cloudflare, IOC自动化富化, IP 地址批量处理, Kubernetes, MITRE ATT&CK, Plotly, Python, Streamlit, VirusTotal, 内存注入分析, 可观测性, 告警分诊, 威胁情报, 威胁指标提取, 字符串匹配, 安全分析师工具, 安全可视化, 安全工具开发, 安全调查, 安全运营中心, 开发者工具, 开源安全项目, 恶意IP分析, 攻击技战术映射, 数字取证与应急响应, 无后门, 网络信息收集, 网络安全, 网络映射, 访问控制, 隐私保护