yatuk/soc-simulation
GitHub: yatuk/soc-simulation
一个模拟SOC分析师日常工作流的全功能SIEM/SOAR/EDR演示项目,包含告警管理、事件响应、MITRE ATT&CK矩阵等模块,适合蓝队培训与安全工具原型展示。
Stars: 2 | Forks: 0
# SOC Console — 安全运营中心模拟器
[](LICENSE)
[](https://vitejs.dev/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://pages.github.com/)
[🔗 在线演示](https://yatuk.github.io/SOC-case-study-project/) · [📊 架构](./docs/ARCHITECTURE.md) · [📁 数据模型](./docs/DATA_MODEL.md) · [📖 场景](./docs/SCENARIOS.md)
## 截图

*KPI、告警趋势、严重性分布、顶级MITRE技术。*

*筛选、搜索、严重性分解、IOC去混淆。*

*剧本步骤、DAG式流程、运行历史。*
## 故事:一名SOC分析师的日记
_日期:星期一,上午 09:00_
我叫Mehmet。我是一名SOC分析师。
喝咖啡的时候我瞥了一眼SIEM仪表盘。**420万事件**。不错,昨天只有380万。我们在进步。
**第一条告警:** "检测到可疑PowerShell活动"。
我打开它。一个用户运行了`Get-Process`。**严重级别**。当然了,这家伙好奇自己电脑上跑了哪些程序,绝对是APT29。
**第二条告警:** "不可能出行 - 用户在5分钟内从伊斯坦布尔和安卡拉登录"。
我打电话给用户。"大哥,你咋5分钟从伊斯坦布尔飞到安卡拉的?"
"我用VPN。"
"……"
**告警关闭:误报 - VPN**
**第三条告警:** "检测到暴力破解攻击 - 3次失败的登录尝试"。
三次。整整三次。攻击者要么太没耐心,要么就是个忘了密码的员工。剧透:是忘了密码的员工。
_日期:星期一,上午 11:30_
主管来了。"Mehmet,上周的安全报告准备好了吗?"
当然准备好了。47页。内容包括:
- 12页 "一切正常"
- 15页 "潜在威胁"(全是误报)
- 20页图表(因为领导喜欢图表)
我最喜欢的图表:"被阻止的攻击 - 月度趋势"。柱状图在上升。这是好事吗?我们阻止了更多攻击。但同时也遭到了更多攻击。薛定谔的安全。
_日期:星期一,下午 14:00_
**真正的告警来了。** 千真万确。
一个用户点击了钓鱼邮件中的链接。凭证被盗。攻击者访问了邮箱并创建了"将所有邮件导出到外部"的规则。
**经典。**
事件响应开始:
1. 锁定账户 ✓
2. 终止会话 ✓
3. 重置密码 ✓
4. 强制启用MFA ✓
5. 给用户培训"不要点击链接" ✓
用户:"但是邮件看起来太真实了!"
邮件主题:_"紧急!!!请在5分钟内更改密码,否则您的帐户将被删除 - Microsoft安全团队 (microsoft-guvenlik-takim@gmail.com)"_
是的。非常真实。
_日期:星期一,下午 17:45_
一天结束。我看了评分卡:
| 指标 | 数值 |
| ------ | ----- |
| 审查告警 | 127 |
| 真实阳性 | 1 |
| 误报 | 126 |
| 咖啡消耗量 | 6杯 |
| 脱发量 | 47根 |
| 叹气次数 | 89次 |
**MTTD(平均检测时间):** 4分钟
**MTTR(平均响应时间):** 23分钟
**MTTC(平均咖啡时间):** 12分钟
这个项目模拟了那一天。19条告警,9个事件,其中1个是真的。
Mehmet不在,但可以是。你。
## 快速开始
```
git clone https://github.com/yatuk/SOC-case-study-project.git
cd SOC-case-study-project/frontend
npm install
npm run dev
# → http://localhost:3000
```
(可选)重新生成数据——仓库中已有现成数据:
```
python -X utf8 scripts/build_dataset.py --seed 42 --out data/normalized/
cp data/normalized/*.json frontend/public/data/
```
生产构建:
```
cd frontend
npm run build
npm run preview
```
## 这是什么?
- **SIEM:** 19条告警,可按严重性/状态/来源/源过滤。支持搜索、MITRE映射、IOC去混淆。每条告警可点击,详情页包含关联IOC、MITRE技术、建议操作。
- **事件管理:** 9个事件,每个都有杀伤链时间线(初始访问 → 执行 → …… → 数据渗出),2-3段土耳其语叙述,关联告警、SOAR剧本运行链接。包含"锁定账户"、"运行剧本"、"关闭事件"等虚构操作。
- **SOAR:** 4个剧本定义(钓鱼响应、账户劫持、恶意软件隔离、数据泄露)+ 运行历史。DAG式步骤流程,每个步骤标注自动/手动状态。
- **EDR:** 25个终端,类型过滤(工作站/笔记本/服务器/移动设备),风险评分条,隔离开关,进程树(父子关系),网络连接。
- **IOC资源管理器:** 24个IOC(域名/IP/URL/哈希/邮箱),威胁评分条,可展开的"在哪里出现过"部分,去混淆 + 复制到剪贴板。
- **MITRE ATT&CK:** 横向滚动矩阵(14个战术列 × 50+技术卡片)。覆盖的技术以填充颜色 + 告警计数徽章显示。点击弹出抽屉:相关告警。
- **检测规则:** 8条Sigma规则,可展开原始规则查看,误报率,MITRE技术标签。
- **可访问性:** 跳过内容、地标角色、键盘导航、焦点陷阱、Escape键、ARIA标签图标、`prefers-reduced-motion`。
- **零后端:** 部署在GitHub Pages上。无后端、无认证、无API密钥。只有JSON + React。
### v2.1 — 高级功能(2026)
- **取证联动:** IP、用户、资产——均可点击。真实的SOC分析师工作流。
- **AI分诊:** 每条告警都提供Mehmet风格的分析摘要(模拟,仅供培训)。
- **调查图:** 将事件实体关系以Sentinel风格的可视化图形呈现。
- **地理威胁地图:** 在世界地图上用脉冲标记显示攻击来源。
- **命令面板(Ctrl+K):** Linear风格的全局搜索 + 命令。
- **Sigma高亮 + CSV导出:** 专业级打磨。
## 架构
```
flowchart LR
A[Raw Logs] --> B[scripts/build_dataset.py]
C[IOC Feeds] --> B
D[MITRE Mapping] --> B
B --> E[(data/normalized/*.json)]
E --> F[Vite Build]
F --> G[GitHub Pages]
G --> H[React + Zustand]
H --> I[13 Lazy Routes]
```
更详细内容:[docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)
## 技术栈
- **前端:** React 18, TypeScript, Vite 5, Tailwind CSS 3, Radix UI, Zustand, Recharts, lucide-react
- **数据管道:** Python 3.10+(仅stdlib),确定性种子(`--seed 42`)
- **部署:** GitHub Actions → GitHub Pages(原生`actions/deploy-p@v4`)
- **后端:** 无。完全没有。永远没有。这是一个特性。
## 已知限制
- 无认证——所有人都是"管理员"。因为是虚构项目。
- 数据在内存中——刷新页面后虚构操作会丢失。这不是一个真正的SIEM,而是一个展示台。
- 没有实时流——告警量是静态快照。
- 移动端(<375px)未优化,能用但不好看。
- 管道中只有19条告警(演示目的)。生产SIEM中这个数字会超过5000。
## 路线图(或许有一天)
- [ ] 真正的Sigma规则解析器
- [ ] STIX/TAXII 源集成
- [ ] 网络图视图(攻击者-资产-IOC关系)
- [ ] 场景编辑模式(创建自己的事件)
- [ ] PDF导出(事件报告)
- [ ] 国际化:中/英切换
- [ ] Playwright e2e测试
## 为什么?
一个作品集。一个案例研究。一个"我想在简历上展示的不仅仅是一行'我使用过现代SIEM',而是更多"的项目。
但同时:这是一个为任何想了解SOC工具长什么样、如何工作、如何误导人——而无需订阅其他工具的人准备的。
代替47页的报告,这是一个可点击、可浏览的展示台。
## 许可证
MIT。用于教育和作品集目的时,只需注明出处。
**注意:** 所有数据、公司、域名、IP和人物**完全虚构**。与真实世界没有任何联系。
标签:AMSI绕过, Cloudflare, EDR, GitHub Pages, HTTP/HTTPS抓包, MITRE ATT&CK, OpenCanary, PB级数据处理, SOAR, SOC模拟, Tailwind CSS, TypeScript, Vite, 前端模拟, 告警管理, 威胁检测, 安全插件, 安全演练, 安全运维, 安全运营中心, 态势感知, 网络映射, 脆弱性评估, 误报分析, 逆向工具