RAHULKATARA1/SOC-Alert-Enrichment-Pipeline

GitHub: RAHULKATARA1/SOC-Alert-Enrichment-Pipeline

企业级 SOC 告警富化与自动化响应管道,通过异步并发架构整合多源威胁情报、算法风险评分和 MITRE ATT&CK 映射来自动化告警分诊并降低 MTTR。

Stars: 0 | Forks: 0

# 🛡️ 企业级 SOC 富化与 SOAR 管道 **一个异步、高度可扩展的安全编排、自动化与响应 (SOAR) 后端,旨在消除一线警报疲劳并大幅降低 MTTR (平均响应时间)。** [![Python](https://img.shields.io/badge/Python-3.10+-3776AB.svg?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org) [![SQLite](https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite&logoColor=white)]() [![Concurrency](https://img.shields.io/badge/Architecture-Async%20Workers-success.svg?style=for-the-badge)]() [![MITRE](https://img.shields.io/badge/Framework-MITRE%20ATT%26CK-lightgrey.svg?style=for-the-badge)]()
## 🚀 研发初衷 (执行摘要) 在现代的安全运营中心 (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, 告警富化, 威胁情报, 安全编排与自动化响应, 安全运营, 开发者工具, 扫描框架, 无后门, 逆向工具