abdullaalhussein/soc-training-simulator

GitHub: abdullaalhussein/soc-training-simulator

一个开源的AI驱动SOC分析师培训平台,支持自托管和多角色协作,帮助安全团队在可控环境中进行实战化的威胁调查训练。

Stars: 3 | Forks: 0

SOC Training Simulator Logo

SOC Training Simulator

一个开源平台,让 SOC 分析师在面临真实事件之前做好充分准备。

面对全球 350 万网络安全专业人员的短缺,大多数 SOC 培训要么价格昂贵、内容静态,要么与真实调查工作流脱节。本平台填补了这一空白 —— 免费、自托管、AI 驱动。

SOC Training Simulator — Landing Page

[![GitHub stars](https://img.shields.io/github/stars/abdullaalhussein/soc-training-simulator?style=flat&logo=github)](https://github.com/abdullaalhussein/soc-training-simulator/stargazers) [![CI](https://img.shields.io/github/actions/workflow/status/abdullaalhussein/soc-training-simulator/ci.yml?label=CI&logo=github)](https://github.com/abdullaalhussein/soc-training-simulator/actions/workflows/ci.yml) [![Next.js](https://img.shields.io/badge/Next.js-15-black?logo=next.js)](https://nextjs.org/) [![Express](https://img.shields.io/badge/Express-5-000?logo=express)](https://expressjs.com/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-336791?logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Socket.io](https://img.shields.io/badge/Socket.io-4-010101?logo=socket.io)](https://socket.io/) [![Prisma](https://img.shields.io/badge/Prisma-ORM-2D3748?logo=prisma)](https://www.prisma.io/) [![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![Anthropic](https://img.shields.io/badge/Anthropic-Claude_AI-D4A574?logo=anthropic&logoColor=white)](https://www.anthropic.com/) [![Vitest](https://img.shields.io/badge/Vitest-96_tests-6E9F18?logo=vitest&logoColor=white)](https://vitest.dev/) [![Playwright](https://img.shields.io/badge/Playwright-68_tests-2EAD33?logo=playwright&logoColor=white)](https://playwright.dev/) ## 功能对比 | 特性 | SOC Training Simulator | LetsDefend | TryHackMe | CyberDefenders | |---------|----------------------|------------|-----------|----------------| | 开源 | 是 (MIT) | 否 | 否 | 否 | | 自托管 | 是 | 否 | 否 | 否 | | AI 导师 / 评分 | 是 (Claude) | 否 | 否 | 否 | | AI 场景生成器 | 是 | 否 | 否 | 否 | | 自定义场景 | JSON 导入 + AI 生成器 | 有限 | 社区房间 | 有限 | | 实时培训师监控 | 是 (Socket.io) | 否 | 否 | 否 | | YARA 规则演练场 | 是 | 否 | 否 | 否 | | MITRE ATT&CK 映射 | 是 (可搜索选择器) | 部分 | 否 | 是 | | 多角色 (Admin/Trainer/Trainee) | 是 | 单用户 | 单用户 | 单用户 | | 安全加固 | CSRF, 锁定, 审计日志, CSP | N/A | N/A | N/A | | 成本 | 免费 (AI 需自带 Key) | $25/月+ | $14/月+ | 免费版受限 | ## 截图
Trainer Console
Create sessions, assign scenarios, monitor trainees in real-time

Trainer Console
Investigation Workspace
3-panel layout: briefing, log viewer with filters, evidence collection

Investigation Workspace
Scenario Management
13 built-in scenarios with MITRE ATT&CK mapping and difficulty levels

Scenario Management
Trainee Dashboard
Track assigned sessions, progress stats, and start investigations

Trainee Dashboard
更多截图 (落地页, 深色模式, 课程视图) #### 落地页

Landing Page

#### 调查前课程

Pre-Investigation Lesson

#### 深色模式

Scenarios — Dark Mode

Dashboard — Dark Mode

## 核心特性 **调查与培训** - **13 个内置场景**,涵盖从初级到高级的难度(钓鱼、暴力破解、横向移动、DNS 隧道、APT 攻击、SQL 注入、内部威胁、YARA 规则、SOC 基础知识) - **多阶段场景调查**,具有可配置的解锁条件 - **10 种真实日志类型** — SIEM、EDR、Sysmon、Firewall、DNS、Network Flow、Proxy、Windows Event、Auth、Email Gateway - **8 种检查点类型** — 真假判断、多选题、严重性分类、建议措施、简答题、证据选择、事件报告、YARA 规则 **AI 驱动 (自带密钥)** - **AI SOC 导师** — 上下文感知助手,通过苏格拉底式提问引导学员(绝不直接给出答案) - **AI 评分** — Claude 为简答题和事件报告检查点评分,并提供详细反馈 - **AI 场景生成器** — 从文本提示创建新场景,支持基于难度的 token 预算缩放 - **优雅降级** — 平台在没有 API 密钥的情况下仍可完全运行;AI 功能显示“不可用”状态 **培训师工具** - **实时监控** 通过 Socket.io(提示、警报、暂停/恢复、聊天) - **5 维评分** — 准确性 (35%)、调查 (20%)、证据 (20%)、响应 (15%)、报告 (10%) - **PDF 与 CSV 报告**,包含详细的分数明细 **安全** - httpOnly cookie 认证, CSRF 双重提交, 数据库锁定, 登录异常检测 - 答案收割防护, 提示重放保护, AI 提示注入清洗器 - Unicode 标准化, 审计日志, 内容安全策略 (CSP), 速率限制 | 角色 | 权限 | |------|-------------| | **Admin** | 管理用户、场景、审计日志、系统设置 | | **Trainer** | 创建会话、实时监控学员、发送提示、调整分数 | | **Trainee** | 调查场景、分析日志、提交证据和报告 | ## 快速开始 ### 前置条件 - **Node.js 20+** - **Docker** (用于 PostgreSQL) - **YARA 4.5+** (可选,用于 YARA 检查点评分 — 包含在 Docker 镜像中) ### 本地设置 ``` # 克隆并安装 git clone https://github.com/abdullaalhussein/soc-training-simulator.git cd soc-training-simulator npm install # 配置环境 cp .env.example .env # 启动数据库 (PostgreSQL 位于端口 5433,pgAdmin 位于端口 5050) docker-compose up -d # Push schema & seed demo data (包含所有 13 个场景) npm run db:push npm run db:seed # 启动开发服务器 npm run dev # Client → http://localhost:3000 # Server → http://localhost:3001 ``` ### 默认凭据 | 角色 | 邮箱 | 密码 | |------|-------|----------| | Admin | `admin@soc.local` | `Password123!` | | Trainer | `trainer@soc.local` | `Password123!` | | Trainee | `trainee@soc.local` | `Password123!` | ## AI 功能 (自带密钥) | 功能 | 作用 | 无 API 密钥时是否可用? | |---------|-------------|----------------------| | **SOC Mentor** | 上下文感知聊天助手,利用苏格拉底式提问引导学员 | 否 (显示“不可用”状态) | | **AI Scoring** | 为简答题和事件报告检查点评分并提供详细反馈 | 否 (回退到关键词匹配) | | **AI Scenario Generator** | 根据文本描述创建新场景,按难度级别进行缩放 | 否 (按钮禁用并显示提示) | | **AI Security Scan** | 扫描 AI 生成的内容是否存在提示注入风险 | 否 (禁用) | **如需启用**,请在 `.env` 文件中设置 `ANTHROPIC_API_KEY`。有关所有 AI 相关设置,请参阅 [配置指南](docs/DEVELOPMENT.md#environment-variables)。 **如果没有 API 密钥**,平台仍可完全正常运行 —— 所有调查、评分、检查点、证据、YARA 和报告功能均可在无 AI 的情况下使用。 ## 技术栈 | 层级 | 技术 | |-------|-------------| | **客户端** | Next.js 15, React 19, Tailwind CSS, Radix UI, Zustand, TanStack Query | | **服务端** | Express 5, Socket.io, JWT Auth, RBAC, CSRF, Prisma ORM, Zod, Helmet | | **AI** | Anthropic Claude API (SOC Mentor, AI 评分, 场景生成器) | | **数据库** | PostgreSQL 16, Prisma ORM (18 个模型, 8 个枚举) | | **测试** | Vitest (96 个单元 + 集成测试), Playwright (跨 22 个规范文件的 68 个 E2E 测试) | | **DevOps** | Docker (多阶段构建), Railway.app, GitHub Actions CI | ## 文档 | 文档 | 描述 | |----------|-------------| | [开发指南](docs/DEVELOPMENT.md) | 环境变量、脚本、项目结构、测试 | | [部署指南](docs/DEPLOYMENT.md) | Docker, Railway, CI/CD, 生产检查清单 | | [API 参考](docs/API.md) | REST 端点, Socket.io 事件, 评分系统 | | [架构演示](docs/presentation.html) | 14 张幻灯片, EN/AR 双语 | | [安全策略](SECURITY.md) | 漏洞报告 | | [威胁模型](THREAT_MODEL.md) | STRIDE 分析 — 31 个威胁, 6 个残余风险 | ## 企业与定制部署 针对需要超越开源版本的组织: - **托管云服务** — 完全配置好的实例,无需设置 - **SSO / SAML 集成** — 连接到您组织的身份提供商 - **定制场景开发** — 针对您的威胁环境量身定制培训内容 - **专属支持 & SLA** — 为您的团队提供优先响应 **联系方式:** [abdullaalhussein@gmail.com](mailto:abdullaalhussein@gmail.com) ## 许可证 本项目基于 [MIT 许可证](LICENSE) 授权。

محاكي تدريب مركز العمليات الأمنية — منصة تدريب متعددة الأدوار لمحللي الأمن السيبراني

标签:AI驱动, Anthropic Claude, Express, PostgreSQL, Prisma, Socket.io, SOC分析师培训, TypeScript, WSL, 事件响应模拟, 多角色扮演, 安全意识, 安全插件, 安全教育, 安全运营中心, 实战演练, 开源, 测试用例, 漏洞修复, 网络安全培训, 网络映射, 网络靶场, 自动化攻击, 自动化攻击, 自托管, 请求拦截