Willie-Conway/SOC-Simulator
GitHub: Willie-Conway/SOC-Simulator
专业级安全运营中心仪表板模拟器,用于培训安全分析师掌握威胁检测、调查和响应的完整工作流程。
Stars: 1 | Forks: 0
[](https://github.com/Willie-Conway/SOC-Simulator/actions/workflows/deploy.yml)
# 🛡️ SENTINEL SOC — 安全运营中心仪表板





)
![alt text]()

## 🔍 **模块 02:警报 — 全面的警报管理**
### **警报表** 📋
| 列 | 描述 | 格式 |
| ---------------------- | ------------------------------------- | ------------------- |
| **ID** | 警报标识符 | `ALT-8800` 格式 |
| **时间** | 时间戳 | HH:MM:SS |
| **严重性** | CRITICAL/HIGH/MEDIUM/LOW/INFO | 颜色编码徽章 |
| **类型** | 警报类别 | 12+ 种类型 |
| **源 IP** | 攻击者 IP | IPv4 |
| **目标** | 目标 | IP 或范围 |
| **MITRE ATT&CK** | 技术ID | 例如:T1486 |
| **状态** | OPEN/INVESTIGATING/CLOSED/NEUTRALIZED | 徽章 |
| **分析师** | 指派的分析师 | 姓名或未指派 |
### **警报详情抽屉** 🗂️
- **完整的警报元数据**及 MITRE 映射
- **带有自定义样式的严重性徽章**
- **调查手册**摘要(如果可用)
- **带有绿色勾选标记的消除状态**
- **用于上报给主管的升级按钮**

## 🎮 **模块 03:任务 — 游戏化安全培训**
### **6 个交互式任务** 🎯
| 任务 | CVE | 严重性 | XP | 时间 | 类别 |
| ------------------------------------- | -------------- | ----------- | --- | ------ | ----------------- |
| **Log4Shell 紧急补丁** | CVE-2021-44228 | 🔴 严重 | 500 | 45 分钟 | 补丁部署 |
| **Ivanti 零日漏洞修复** | CVE-2025-0282 | 🔴 严重 | 600 | 60 分钟 | 零日响应 |
| **Windows PrintNightmare** | CVE-2021-34527 | 🟠 高 | 350 | 30 分钟 | 补丁部署 |
| **勒索软件桌面演练** | — | 🟠 高 | 400 | 50 分钟 | 事件响应 |
| **FortiGate 认证绕过** | CVE-2024-55591 | 🔴 严重 | 550 | 40 分钟 | 零日响应 |
| **MOVEit SQL 注入狩猎** | CVE-2023-34362 | 🟠 高 | 450 | 35 分钟 | 威胁狩猎 |
### **任务手册** 📖
每个任务包含 **6-7 个分步调查手册**,具有:
| 元素 | 描述 |
| ------------------------- | ------------------------------------------------ |
| **步骤标签** | 动作描述 |
| **工具** | 要使用的安全工具(EDR, SIEM, Firewall 等) |
| **命令** | 要执行的 CLI 命令 |
| **预期结果** | 执行后的模拟输出 |
### **任务执行** 🖥️
- **分步执行**,带有终端风格输出
- **带有步骤完成指示器的进度跟踪**
- **任务完成后的 XP 奖励**
- **状态跟踪**:可用、进行中、已完成
### **任务类别** 📂
- 补丁部署
- 零日响应
- 事件响应
- 威胁狩猎

## 🔬 **模块 04:CVE 情报 — 实时漏洞情报**
### **实时 NVD API 集成** 🌐
- **来自国家漏洞数据库的实时 CVE 源**
- **显示 20 个最新的严重/高危 CVE**
- **每 6 小时自动刷新**
- **API 不可用时的备用数据**
### **CVE 表** 📋
| 列 | 描述 | 格式 |
| --------------------- | ------------------------ | ------------------------- |
| **CVE ID** | 漏洞标识符 | 例如:CVE-2025-21298 |
| **CVSS** | 基础分 (0-10) | 带颜色编码的小数 |
| **严重性** | CRITICAL/HIGH/MEDIUM/LOW | 颜色编码徽章 |
| **发布日期** | 发布日期 | YYYY-MM-DD |
| **描述** | 漏洞摘要 | 带省略号的截断文本 |
### **严重性过滤器** 🔍
- **过滤条件**:ALL, CRITICAL, HIGH, MEDIUM, LOW
- **一键刷新**按钮

## 🗺️ **模块 05:攻击地图 — 全球可视化**
### **Leaflet 集成** 🗺️
- **CartoDB 暗色底图**,营造赛博美学
- **10 个全球攻击来源**,带有基于严重性的标记
- **标记大小**随攻击次数缩放
- **严重来源的脉冲效果**
### **攻击来源表** 📊
- **城市、国家** — 攻击源位置
- **事件** — 带有严重性颜色的攻击计数
- **严重性徽章** — CRITICAL/HIGH/MEDIUM/LOW
- **坐标** — 纬度/经度
### **交互功能** 🖱️
- **点击标记**显示攻击详情
- **悬停提示**显示城市和事件计数
- **带有基于严重性边框的标记图标**
![alt text]()
## 💻 **模块 06:端点 — 资产清单**
### **端点表** 📋
| 列 | 描述 | 格式 |
| -------------------- | ---------------------------------------- | ------------------------- |
| **主机名** | 设备名称 | 例如:WS-EXEC-001 |
| **IP 地址** | IPv4 地址 | 例如:10.4.12.88 |
| **操作系统** | 操作系统 | Win 11, RHEL 9, Ubuntu 22 |
| **状态** | ISOLATED/INVESTIGATING/SUSPICIOUS/ONLINE | 颜色编码徽章 |
| **风险评分** | 0-100 | 进度条 + 数字 |
| **最后在线** | 距上次活动的时间 | "Now", "2m", "45s" |
### **状态指示器** 🟢🟠🔴
| 状态 | 颜色 | 所需操作 |
| ----------------------- | --------- | ----------------------- |
| **ISOLATED (已隔离)** | 🔴 红色 | 立即调查 |
| **INVESTIGATING (调查中)** | 🟠 橙色 | 已指派分析师 |
| **SUSPICIOUS (可疑)** | 🟡 黄色 | 密切监控 |
| **ONLINE (在线)** | 🟢 绿色 | 正常运行 |

## 📡 **模块 07:威胁情报 — 情报源**
### **威胁源** 📢
- **7 条实时情报更新**,带时间戳
- **每条更新的严重性徽章**
- **威胁类别的图标**(🚨 CISA KEV, ⚠️ APT, 🔥 勒索软件等)
- **完整的消息文本**(带截断)
### **源示例** 📰
```
🚨 14:38 · CISA KEV: CVE-2025-0282 (Ivanti) added — active exploitation confirmed, patch within 48h.
⚠️ 14:21 · APT-29 spear-phishing campaign targeting NATO affiliates — new IOCs pushed to TIP.
🔥 13:55 · BlackCat affiliate activity spike — 3 new healthcare victims confirmed today.
📡 13:30 · NightHawk C2 variant detected — updated YARA rules deployed fleet-wide.
```

## 🎨 **设计与美学**
### **赛博朋克 SOC 美学** 🖥️
- **深黑背景** (`#04090f`) — 为警报提供最大对比度
- **青色强调** (`#00b8d9`) 用于主要 UI 元素
- **绿色** (`#00c875`) 用于成功和已消除的威胁
- **红色** (`#f0324b`) 用于严重警报
- **橙色** (`#f5841f`) 用于高严重性
- **紫色** (`#9b6dff`) 用于威胁情报
- **登录屏幕上的二进制雨动画**
### **排版** ✍️
- **Rajdhani** — 标题、KPI 值、任务标题
- **JetBrains Mono** — 终端输出、警报、表格
- **Orbitron** — Logo 和特殊标题
### **终端美学** 💻
- **所有技术数据使用等宽字体**
- **调查终端中的闪烁光标**
- **活跃威胁的脉冲动画**
- **关键元素的辉光效果**
- **用于增强真实感的扫描线叠加**
### **严重性颜色编码** 🎨
| 严重性 | 颜色 | 十六进制 | 用法 |
| ------------------ | ------ | ----------- | ------------------------- |
| **CRITICAL (严重)** | 红色 | `#f0324b` | 需立即行动 |
| **HIGH (高)** | 橙色 | `#f5841f` | 2小时内升级 |
| **MEDIUM (中)** | 黄色 | `#f0c040` | 24小时内调查 |
| **LOW (低)** | 蓝色 | `#3a8fff` | 监控 |
| **INFO (信息)** | 灰色 | `#3d6a8a` | 信息类 |
## 🛠️ **技术实现**
### **技术栈** 🥞
- **React 18** — 带有 Hooks 的函数式组件
- **Recharts** — 交互式数据可视化
- **Leaflet** — 全球攻击地图
- **自定义 CSS** — 赛博朋克设计系统
- **Context API** — 认证状态
### **使用的 React Hooks** 🎣
| Hook | 用途 |
| --------------- | ----------------------------------------- |
| `useState` | 30+ 个用于 UI 和数据的状态变量 |
| `useEffect` | API 调用、地图初始化、动画 |
| `useRef` | Canvas 动画、地图实例 |
| `useCallback` | 记忆化数据获取 |
| `useContext` | 跨组件认证 |
| `useMemo` | 热力图数据记忆化 |
### **关键组件** 🧩
| 组件 | 用途 | 功能 |
| ---------------------------- | -------------------- | ------------------------------------------ |
| **BinaryRain** | 登录背景 | 动画下落的二进制数字 |
| **InvestigationModal** | 手册执行 | 分步终端、命令模拟 |
| **AlertDrawer** | 警报详情 | 完整元数据、升级选项 |
| **MissionsTab** | 游戏化培训 | 6 个带有进度跟踪的任务 |
| **LeafletMap** | 全球可视化 | 标记聚类、提示框、严重性点 |
| **IncidentHeatmap** | 基于时间的热力图 | 带有悬停提示的 7x24 网格 |
| **CVEPanel** | 漏洞源 | 实时 NVD API 集成 |
### **数据流** 🔄
```
User Authentication → Dashboard
↓
┌──────────────────┴──────────────────┐
↓ ↓ ↓
Alerts Table Attack Map Endpoint Status
↓ ↓ ↓
Investigation Threat Feed Risk Scoring
↓
Neutralization
```
## 🎥 **视频演示脚本** (60-75 秒)
| 时间 | 模块 | 场景 | 动作 |
| ---- | ------------- | -------------- | ------------------------------------------------------------ |
| 0:00 | Auth | 登录 | 二进制雨背景,输入凭据 → 加载仪表板 |
| 0:05 | 仪表板 | KPIs | 显示 8 个开放警报,3 个严重,2 个已消除 |
| 0:10 | 仪表板 | 实时警报 | 点击严重的“勒索软件执行”警报 |
| 0:15 | 调查 | 手册 | 步骤 1:识别受影响主机 → 运行命令 → 查看输出 |
| 0:20 | 调查 | 进度 | 步骤 1-7 已完成 → 点击“消除威胁” |
| 0:25 | 仪表板 | KPI 更新 | 已消除计数从 2 → 3 增加 |
| 0:30 | 任务 | 开始任务 | 启动“Log4Shell 紧急补丁” |
| 0:35 | 任务 | 步骤执行 | 运行补丁命令 → 查看终端输出 |
| 0:40 | 任务 | 完成 | 任务完成!+500 XP |
| 0:45 | 攻击地图 | 全球视图 | 悬停在上海 → 1,842 个事件,严重 |
| 0:50 | CVE 情报 | 实时源 | 显示 CVE-2025-21298,CVSS 评分 9.8 |
| 0:55 | 威胁情报 | 源 | 滚动浏览 7 条实时更新 |
| 1:00 | 档案 | 用户菜单 | 点击头像 → 显示档案模态框 |
## 🚦 **性能**
- **加载时间**: < 2.5 秒
- **内存使用**: < 80 MB
- **API 调用**: NVD CVE 源(每 6 小时)
- **实时更新**: 每 9 秒模拟警报
### **依赖项** 📦
- **React** 18
- **Recharts** 2.x
- **Leaflet** 1.9.4
- **无 CSS 框架** — 纯自定义样式
## 🛡️ **安全说明**
SENTINEL SOC 是一个**教育模拟项目**:
- ✅ 不传输实际威胁数据
- ✅ 所有调查均在浏览器中模拟
- ✅ 使用本地存储进行身份验证持久化
- ✅ 不影响真实的安全工具
- ✅ 仅供教育目的 — 安全地学习 SOC 工作流程
## 📝 **许可证**
MIT 许可证 — 详情请参阅 LICENSE 文件。
## 🙏 **致谢**
- **NIST NVD** — 国家漏洞数据库 API
- **MITRE ATT&CK** — 威胁框架和技术
- **CISA KEV** — 已知被利用漏洞目录
- **Leaflet** — 开源地图库
- **Recharts** — React 图表库
## 📧 **联系方式**
- **GitHub Issues**: [创建 Issue](https://github.com/Willie-Conway/SENTINEL-SOC/issues)
- **网站**: https://willie-conway.github.io/SENTINEL-SOC/
## 🏁 **未来增强计划**
- [ ] 添加多用户协作
- [ ] 实现真实 SIEM 日志解析
- [ ] 添加 MITRE ATT&CK 导航器集成
- [ ] 包含威胁狩猎查询
- [ ] 添加自动报告生成
- [ ] 实现事件时间线可视化
- [ ] 添加机器学习异常检测
- [ ] 包含合规性映射(NIST, ISO)
- [ ] 添加威胁行为者画像
- [ ] 实现手册创建 UI
🛡️ SENTINEL SOC — 安全运营中心仪表板 — 现已准备好加入您的作品集! 🛡️ *最后更新:2026年3月*
标签:AMSI绕过, CISA项目, HTTP/HTTPS抓包, HTTP工具, IP 地址批量处理, Leaflet, Mutation, OPA, Playbook, React, Recharts, Syscalls, TGT, XSS, 剧本, 可视化, 威胁检测, 安全仪表盘, 安全教育, 安全运营中心, 态势感知, 攻击溯源, 攻防演练, 漏洞修复, 漏洞情报, 终端, 网络安全, 网络安全培训, 网络安全审计, 网络攻防, 网络映射, 自定义脚本, 隐私保护, 靶场, 黑客