ibondarenko1/soc-l1-drill
GitHub: ibondarenko1/soc-l1-drill
一款限时 SOC 一级告警分诊训练器,提供 1860 个基于真实遥测数据的场景,通过 pivot 提取、判定评分和 MITRE ATT&CK 映射复盘帮助分析师提升实战分诊能力。
Stars: 0 | Forks: 0
# SOC L1 演练
面向 SOC 一级技能的告警分诊训练器。Splunk 风格的深色 UI。每张卡片都是一次微型调查,而不是简单的抽认卡:阅读告警,仅提取你所需的 pivots(相关事件、资产、身份、信誉),判断是 FP / 良性 / 恶意,关闭或升级 —— 随后立即获取包含详细原因和 MITRE ATT&CK 技术的复盘。

*一张实时的告警卡片:仅提取你所需的 pivots,对事件进行分类,然后在 3:00 的倒计时内决定判定结果和操作。*

*每次判定后的复盘:你的答案对比正确答案、MITRE ATT&CK 技术、针对此模式应检查的内容,以及背后的原因。*
## 内容
- 93 个场景模板 × 20 个渲染变体 = **1,860 个场景**(用户名、IP、主机名、时间戳均为随机生成,让你学习的是模式,而不是死记硬背卡片)
- 数据源:Windows Security、PowerShell 4104、Sysmon、Microsoft Defender、Microsoft Sentinel
- 刻意设计的*同类型告警*的 FP/TP 配对(成功执行的隔离 vs 执行后触发的隔离;不可能的漫游 vs SWG 出口伪影;Mimikatz 访问 LSASS vs MsMpEng 访问 LSASS)—— 区分它们的关键就在于 pivots
## 运行机制
- 每条告警 3:00 计时;超时 = 0 分
- 评分:判定 50 / 操作 30 / 事件分类 10 / 证据奖励 +10;在**未**检查必需 pivots 的情况下猜对判定 = -15(猜测不等于分诊);多余的 pivots 每项扣 3 分
- 间隔重复:未命中的场景权重 ×2,**恶意-关闭的严重失误 ×3**,完美分诊 ×0.6
- 统计数据:按遥测源和 ATT&CK 技术划分的准确率、每日趋势、严重失误计数器、平均分诊时间
## 运行
```
docker compose up --build
# → http://localhost:8000
```
数据持久化存储在 `drill-data` 卷中。要更改语料库大小:使用 `VARIANTS_PER_TEMPLATE` 环境变量(仅在首次为空数据库生成种子数据时生效)。
不使用 Docker 运行:
```
pip install -r requirements.txt
DB_PATH=./drill.db uvicorn app.main:app --port 8000
```
## 添加场景
编辑 `app/seed_data.py` → `TEMPLATES`。每个模板需要:告警文本、四个 pivot payloads、判定结果、操作、`required_pivots`(哪些 pivots 支撑了该判定)、MITRE 映射、检查清单、复盘。类似 `{user}`、`{ext_ip}`、`{srv}` 的占位符会根据变体进行渲染。删除数据库(或卷)以重新生成种子数据。
## 技术栈
FastAPI · SQLite · Jinja2 · 原生 JS · Docker Compose。不使用前端框架。
标签:AV绕过, Cloudflare, Docker, FastAPI, MITRE ATT&CK, SOC培训, 告警分诊, 安全运营, 安全防御评估, 扫描框架, 请求拦截, 逆向工具