RAHULKATARA1/SOC-Alert-Enrichment-Pipeline
GitHub: RAHULKATARA1/SOC-Alert-Enrichment-Pipeline
企业级 SOC 告警富化与自动化响应管道,通过异步并发架构整合多源威胁情报、算法风险评分和 MITRE ATT&CK 映射来自动化告警分诊并降低 MTTR。
Stars: 0 | Forks: 0
# 🛡️ 企业级 SOC 富化与 SOAR 管道
**一个异步、高度可扩展的安全编排、自动化与响应 (SOAR) 后端,旨在消除一线警报疲劳并大幅降低 MTTR (平均响应时间)。**
[](https://www.python.org)
[]()
[]()
[]()
## 🚀 研发初衷 (执行摘要)
在现代的安全运营中心 (SOC) 中,分析师的职业倦怠和“警报疲劳”是最大的威胁。这个项目不仅仅是一个脚本——它是一个**定制构建的检测工程引擎**,模拟了企业级的后端架构。
它以可编程方式摄取原始 SIEM 日志,并行执行威胁情报查询,通过算法对风险进行评分,并将发现映射到 MITRE ATT&CK 框架——所有这一切都在几毫秒内完成。
**通过自动化分诊和遏制阶段,该管道将 MTTR 降低了 99% 以上,使安全工程师能够专注于主动的威胁狩猎。**
## 🏗️ 高级系统架构 (出彩之处在哪?)
与典型的“玩具”脚本不同,重构此项目时采用了**企业级软件工程**思维:
- ⚡ **异步并发 (`ThreadPoolExecutor`)**:使用多线程并行处理数以千计的警报。发往威胁情报 API 的网络 I/O 不会阻塞主线程,使得该架构具备线性可扩展性。
- 🗄️ **关系型数据库持久化 (`SQLite3`)**:弃用静态 JSON 文件,转而采用真正的数据库后端。事件报告以结构化方式插入到 `data/soc_alerts.db` 中,允许分析师编写 SQL 查询来检索历史威胁数据。
- 💾 **持久化 TTL 缓存 (`diskcache`)**:集成了类似 Redis 的缓存机制,用于威胁情报查询。外部 API 请求会被缓存到磁盘中,并设置 24 小时的生存时间 (TTL),从而保护 API 的速率限制,并将重复 IOC 的执行时间降至零。
- 🧩 **清晰的数据/逻辑分离**:剥离了硬编码的模拟逻辑。该管道通过完全独立分离的 `mock_threat_intel.json` 数据层进行离线运行,严格遵守 MVC 和 SOLID 软件设计原则。
## ✨ 核心安全能力
- **🧠 算法风险评分**:以加权 Python 算法取代主观的人工分诊,该算法基于多源威胁情报命中情况和 MITRE 战术严重程度,计算出 0-100 的风险评分。
- **🔍 高级 IOC 正则提取**:一个具备高弹性的提取引擎,能够规范化非结构化的原始日志,过滤 RFC1918 内部 IP 空间,并提取可操作的 IP、域名、URL 和哈希值。
- **🌐 威胁情报关联**:集成了 **VirusTotal**、**AbuseIPDB** 和 **AlienVault OTX**,以动态富化 IOC。
- **🗺️ MITRE ATT&CK 映射**:自动将 SIEM 警报映射到标准化的 MITRE 技术,为事件响应人员提供即时的战术上下文。
- **🤖 自主 SOAR 剧本**:执行可编程的遏制操作,模拟与边界防火墙 (自动阻断) 和 EDR 解决方案 (端点隔离) 的 API 集成。
## 🛠️ 管道执行流程
```
graph TD;
A[Raw SIEM Telemetry] -->|Ingestion| B(Alert Normalization & Regex Extraction);
B --> C{ThreadPool Concurrency};
C -->|Worker 1| D[VirusTotal / AbuseIPDB];
C -->|Worker 2| D[VirusTotal / AbuseIPDB];
C -->|Worker N| D[VirusTotal / AbuseIPDB];
D -->|Cache Check| E[(DiskCache - 24hr TTL)];
E --> F[Algorithmic Risk Scoring];
F --> G[MITRE ATT&CK Mapping];
G --> H[Automated SOAR Containment];
H --> I[(SQLite Database)];
I --> J[Streamlit Analytics / Slack Notifier];
```
## ⚙️ 快速入门与执行
### 1. 环境设置
```
git clone https://github.com/yourusername/SOC-Alert-Enrichment-Pipeline.git
cd SOC-Alert-Enrichment-Pipeline
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
### 2. 执行引擎 (离线/演示模式)
针对本地化的模拟数据库运行该管道,以立即查看并发和 SQLite 集成的实际运行效果:
```
python pipeline.py --offline
```
### 3. 验证数据库持久化
检查 SQLite 数据库是否成功捕获了异步处理的结果:
```
sqlite3 data/soc_alerts.db "SELECT incident_id, severity, score FROM incident_reports;"
```
## 📈 业务影响与 ROI
| 指标 | 传统的一线工作流 | 采用 SOAR 架构 | 影响 |
| ------ | ----------------- | ---------------- | ------ |
| **平均分诊时间** | 每个警报约 15 分钟 | **< 2 秒** | 减少 99.7% |
| **IOC 验证** | 手动浏览器查询 | **自动化 API + 缓存** | 零人为延迟 |
| **数据存储** | 分散的 JSON/CSV | **集中式 SQL 数据库** | 支持可操作的查询 |
| **执行扩展性** | 顺序执行 (存在瓶颈) | **线程池并发** | 企业级可扩展性 |
*基于 Python、SQLite、Threading 构建,并专注于主动防御架构。*标签:Kubernetes, Python, SOAR, SQLite, 告警富化, 威胁情报, 安全编排与自动化响应, 安全运营, 开发者工具, 扫描框架, 无后门, 逆向工具