RyanJBush/soc-threat-detection-and-incident-response-platform

GitHub: RyanJBush/soc-threat-detection-and-incident-response-platform

基于 FastAPI 和 React 构建的全栈 SOC 平台,使用合成安全遥测数据展示威胁检测、告警分诊和事件响应的完整蓝队工作流。

Stars: 0 | Forks: 0

# SOC 威胁检测与事件响应平台 ## 1. 项目名称 **SOC 威胁检测与事件响应平台** ## 2. 项目摘要 本项目是一个全栈 SOC 作品集平台,用于摄取合成安全事件、运行基于 Python 的检测,以及管理从告警到事件的响应工作流。它包含一个带有检测逻辑、分诊/事件 API 和运营指标的 FastAPI 后端,以及一个用于分析师工作流的 React 仪表板。其目标是通过透明、可审查的代码库,展示实际的检测工程和 SOC 运营。 ## 3. 本项目解决的安全问题 SOC 团队需要一种真实的方式来展示端到端的蓝队工作流:事件摄取、威胁检测、告警分诊、升级和响应跟踪。本仓库使用合成遥测数据提供了该 pipeline,以便审查人员可以在同一系统中评估检测逻辑、分诊决策和事件处理。 ## 4. 核心功能 - 事件摄取 endpoint,支持单事件、批量摄取、流式摄取、回放和预设场景。 - 检测引擎,实现了基于规则和基于异常的逻辑(包括置信度评分和证据捕获)。 - 告警创建,支持去重/关联、严重程度、解释、MITRE 技术元数据和推荐的后续步骤。 - 分析师分诊操作:状态流转、分配、注释、时间线条目以及真/假阳性反馈。 - 事件工作流:创建事件、关联告警、更新事件状态以及查看事件审计时间线。 - 用于 SOC KPI 的指标 endpoint(包括打开/高严重性计数、MTTD、MTTR 和检测覆盖率)。 - 跨越 Admin、Analyst、Detection Engineer 和 Viewer 角色的基于角色的访问控制 (RBAC)。 - 前端视图:仪表板、事件、告警、告警调查、事件、检测/任务以及狩猎查询。 ## 5. 技术栈 - **后端:** Python, FastAPI, SQLAlchemy - **数据/处理:** PostgreSQL, pandas, scikit-learn - **前端:** React + Vite, React Router, Recharts - **安全/搜索服务:** JWT 认证,可选的 Elasticsearch 事件索引 - **开发工作流:** Docker Compose, Makefile, pytest, ruff, ESLint ## 6. 检测与事件响应工作流 1. 通过 `/api/events` 摄取事件(单个、批量、流式、回放、场景或模拟运行)。 2. 将检测任务排队并处理它们,以生成检测和告警。 3. 使用关联 ID 和去重时间窗口将重复信号关联为活跃告警。 4. 在 UI/API 中对告警进行分诊(状态更新、分配、调查注释、反馈、时间线)。 5. 将相关告警升级为事件,并跟踪事件生命周期(`open` → `investigating` → `contained` → `closed`)。 6. 通过指标和仪表板摘要监控 SOC 性能。 ## 7. 架构概述 - **API 层 (`backend/app/routers`)**:auth、events、detections、alerts、incidents、jobs、hunting、metrics、platform。 - **检测/服务层 (`backend/app/services`)**:检测目录、检测引擎、任务编排、MITRE enrichment、审计日志、feature flags、场景植入。 - **数据层 (`backend/app/models.py`)**:organizations、users、events、detections、alerts、incidents、notes、analyst feedback、jobs、audit logs。 - **UI 层 (`frontend/src`)**:SOC 仪表板和面向分析师的页面,用于摄取、调查、分诊和响应。 ## 8. 设置与安装说明 ### 选项 A:Docker ``` make dev ``` ### 选项 B:本地开发 ``` make install make backend-dev make frontend-dev ``` ### 演示凭据 - `admin / admin123` - `analyst / analyst123` - `deteng / deteng123` - `viewer / viewer123` ### 快速验证流程 1. 启动服务。 2. 在 `http://localhost:5173` 登录前端。 3. 使用 **Events** 页面摄取事件或植入场景。 4. 在 **Alerts**、**Alert Detail**、**Incidents**、**Detections** 和 **Dashboard** 中查看生成的结果。 ## 9. 安全用例示例 - 从重复的失败认证尝试中检测并对暴力登录行为进行分诊。 - 调查可疑的登录异常,例如异常的登录时间和不可能的旅行模式。 - 跟踪潜在的权限提升或账户操纵活动。 - 当存在 `threat_intel_match` 元数据时,展示 IOC 风格的事件。 - 将多个相关的告警关联并升级为单一的事件响应案例。 ## 10. 展示的技能 - 在 Python 中进行检测工程(规则、异常逻辑、置信度评分、去重/关联)。 - SOC 告警分诊和事件响应流程的设计与实现。 - 安全事件摄取和日志分析工作流的开发。 - 分析师工具:仪表板、调查视图、时间线 artifact 和 KPI 跟踪。 - 具有 JWT 认证和 RBAC 权限的安全 API 设计。 - 使用 FastAPI、PostgreSQL 和 React 进行全栈交付。 ## 11. 简历项目描述 构建了一个基于 FastAPI、PostgreSQL 和 React 的全栈 **SOC 威胁检测与事件响应平台**,用于摄取合成安全遥测数据、运行基于规则/异常的检测、生成关联告警,并通过事件升级管理分析师分诊。实现了 SOC 指标(MTTD/MTTR、覆盖率、假阳性信号)、RBAC、狩猎查询和调查 artifact,以展示实际的检测工程和蓝队响应工作流。 ## 12. 未来改进 - 添加更多场景包,并扩展对其他攻击行为的检测覆盖率。 - 使用分析师反馈记录改进告警调优工作流。 - 扩展狩猎功能,超越当前基于选择器的类 Sigma 查询处理。 - 为更多前端视图添加分页/过滤控件,以处理更庞大的数据集。 **范围说明:** 本项目专为作品集和学习使用而设计,使用的是合成数据,不应将其视为生产级别的 SIEM 替代品。
标签:AMSI绕过, AV绕过, FastAPI, incident response, PostgreSQL, React, SOC平台, Syscalls, 威胁检测, 安全运营, 扫描框架, 测试用例, 请求拦截, 逆向工具