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





一个生产就绪的威胁情报仪表盘,将**威胁情报、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, 后端开发, 多模态安全, 威胁情报, 字符串匹配, 安全运营中心, 开发者工具, 无后门, 网络映射, 逆向工具