viriviola/ThreatLens

GitHub: viriviola/ThreatLens

将原始 IOC 威胁情报自动采集、评分、富化并映射到 MITRE ATT&CK 框架,为 SOC 分析师生成交互式仪表盘和可操作的处置建议。

Stars: 0 | Forks: 0

# ThreatLens - 威胁情报到 SOC 仪表盘 ![Python](https://img.shields.io/badge/Python-3.7+-blue) ![威胁情报](https://img.shields.io/badge/Threat%20Intelligence-Live%20IOC%20Feeds-red) ![MITRE ATT\&CK](https://img.shields.io/badge/MITRE-ATT%26CK-orange) ![SOC 运营](https://img.shields.io/badge/SOC-Operations-green) ![许可证](https://img.shields.io/badge/License-Educational-lightgrey) 一个生产就绪的威胁情报仪表盘,将**威胁情报、SOC 运营、检测工程、对手分析和客户安全沟通**整合到一个统一的工作流程中。 该项目从威胁情报源收集失陷指标 (IOC),使用上下文信息对其进行丰富,分配置信度和优先级评分,将其映射到 MITRE ATT&CK 技术,并通过易于分析师使用的仪表盘呈现结果。 ## 概述 安全团队每天都会收到大量威胁情报,但仅靠原始指标提供价值有限。分析师需要上下文、优先级排序和可操作的指导来做出明智的决策。 此项目通过以下方式将原始威胁情报转化为可操作的情报: * 从 AlienVault OTX 收集 IOC 数据 * 分配置信度得分 * 对威胁进行优先级排序 * 将指标映射到 MITRE ATT&CK 技术 * 提供 SOC 行动建议 * 生成交互式 HTML 仪表盘 * 将结果导出为 CSV 以供 SIEM 摄取 ## 功能 ### 实时威胁情报收集 * 从 AlienVault OTX 获取真实世界的 IOC * 支持常见的指标类型 * 使用当前的威胁情报源 ### IOC 置信度评分 每个 IOC 根据威胁上下文和相关的情报标签,获得一个介于 **0 到 100** 之间的置信度得分。 ### VirusTotal 丰富信息 (可选) * 使用 VirusTotal 验证指标 * 提供额外的检测信息 * 帮助分析师验证恶意活动 ### 优先级分类 指标被分类为: * 高 * 中 * 低 这使得 SOC 分析师能够优先关注最关键的威胁。 ### MITRE ATT&CK 映射 将威胁映射到相关的 ATT&CK 技术,包括: | 技术 | 描述 | | --------- | -------------------------- | | T1071 | 应用层协议 | | T1486 | 影响型数据加密 | | T1566 | 钓鱼 | ### 交互式仪表盘 提供: * IOC 过滤 * 优先级过滤 * 置信度过滤 * 威胁统计 * 可视化置信度指标 * MITRE ATT&CK 映射 * SOC 建议 ### CSV 导出 将分析后的 IOC 数据导出为带有时间戳的 CSV 文件: ``` iocs_YYYY-MM-DDTHH-MM-SS.csv ``` 示例: ``` iocs_2026-05-30T08-01-34.csv ``` CSV 输出可用于: * SIEM 摄取 * 威胁狩猎 * 安全调查 * 报告 * IOC 共享 ### 离线演示模式 如果 API 密钥不可用,项目会自动回退到样本数据,从而允许在没有外部依赖的情况下演示仪表盘。 ## 架构 ``` AlienVault OTX │ ▼ IOC Collection │ ▼ Threat Analysis Engine ├── Confidence Scoring ├── Priority Assignment ├── MITRE Mapping └── SOC Action Suggestions │ ▼ VirusTotal Enrichment │ ▼ Dashboard Generator │ ▼ HTML Dashboard + CSV Export ``` ## 项目结构 ``` ThreatLens/ ├── fetch_ti.py ├── dashboard_template.html ├── requirements.txt ├── README.md ├── output/ │ ├── dashboard.html │ └── iocs_YYYY-MM-DDTHH-MM-SS.csv └── .gitignore ``` ### 文件说明 | 文件 | 用途 | | ----------------------- | ------------------------------------------ | | fetch_ti.py | 主要的威胁情报收集和分析脚本 | | dashboard_template.html | 用于生成仪表盘的 Jinja2 模板 | | requirements.txt | Python 依赖项 | | output/dashboard.html | 生成的仪表盘 | | output/iocs_*.csv | 导出的 IOC 数据集 | | README.md | 项目文档 | ## 展示技能 此项目展示了跨多个网络安全学科的能力。 | 领域 | 展示的能力 | | ---------------- | --------------------------------- | | 威胁情报 | IOC 收集和信息丰富 | | SOC 运营 | 优先级排序和分析师工作流 | | 检测工程 | 置信度评分和 MITRE 映射 | | 对手分析 | 威胁标签解释和 TTP 识别 | | 安全沟通 | 风险总结和可操作的建议 | | 安全自动化 | 自动化报告和仪表盘生成 | ## 安装说明 ### 前置条件 * Python 3.7 或更高版本 * pip 包管理器 ### 克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/ThreatLens.git cd ThreatLens ``` ### 安装依赖项 ``` pip install -r requirements.txt ``` ## 依赖要求 ``` requests jinja2 ``` ## 配置 ### AlienVault OTX API (可选) 将您的 API 密钥设置为环境变量: ``` export OTX_API_KEY="your_api_key" ``` ### VirusTotal API (可选) ``` export VT_API_KEY="your_api_key" ``` 如果未提供 API 密钥,应用程序将自动使用样本数据。 ## 用法 运行主脚本: ``` python fetch_ti.py ``` ## 输出 运行脚本将生成: ``` output/ ├── dashboard.html └── iocs_YYYY-MM-DDTHH-MM-SS.csv ``` ### 仪表盘 在浏览器中打开生成的仪表盘: ``` output/dashboard.html ``` 仪表盘提供: * IOC 统计数据 * 优先级划分 * 置信度得分 * VirusTotal 检测结果 * MITRE ATT&CK 映射 * SOC 行动建议 ### CSV 导出 生成的 CSV 包含: * IOC 值 * IOC 类型 * 优先级 * 置信度得分 * 威胁标签 * MITRE ATT&CK 映射 * VirusTotal 结果 (如果启用) * 推荐的 SOC 操作 该文件可以导入到 SIEM 平台中,或在威胁狩猎和事件响应活动中使用。 ## 示例 SOC 工作流 1. 从 AlienVault OTX 收集指标 2. 分析威胁上下文 3. 计算置信度得分 4. 分配威胁优先级 5. 使用 VirusTotal 丰富指标 6. 将威胁映射到 MITRE ATT&CK 7. 生成仪表盘和 CSV 导出 8. 与分析师分享结果或摄取到 SIEM 中 ## 仪表盘预览 ## 未来改进 潜在的增强功能包括: * 多个威胁情报源 * MISP 集成 * STIX/TAXII 支持 * Splunk 集成 * Elastic Security 集成 * 威胁行为者归属 * IOC 趋势可视化 * 自动化 IOC 阻断工作流 * Sigma 规则生成 ## 学习成果 该项目展示了对以下方面的实际经验: * 威胁情报运营 * IOC 信息丰富 * MITRE ATT&CK 框架 * 检测工程概念 * SOC 分析师工作流 * 安全报告 * 安全自动化 ## 作者 **Alaka Parida** 构建此项目旨在展示结合了以下领域的多学科网络安全角色: * 威胁情报 * SOC 运营 * 检测工程 * 对手分析 * 客户安全沟通 ## 许可证 本项目旨在用于教育、研究和作品展示目的。
标签:Cloudflare, IOC分析, MITRE ATT&CK, Python, 后端开发, 多模态安全, 威胁情报, 字符串匹配, 安全运营中心, 开发者工具, 无后门, 网络映射, 逆向工具