nficcew/soc-incident-tracker
GitHub: nficcew/soc-incident-tracker
面向 SOC 安全团队的全栈事件响应跟踪系统,提供基于 MITRE ATT&CK 标签的事件全生命周期管理与审计追踪能力。
Stars: 0 | Forks: 0
# SOC 事件响应跟踪器
一个专为 SOC/安全团队设计的全栈事件跟踪系统 —— 记录事件、
使用 MITRE ATT&CK 战术对其进行标记、分配给分析师、跟踪直至解决的状态、
并通过评论维护完整的审计跟踪。
使用与 [WB-RATS](https://github.com/nficcew/Web-Based-Risk-Assessment-Tool-Dashboard-System) 相同的技术栈构建:
React + Vite(前端),Node.js/Express(后端),MySQL(数据库),JWT 身份验证。
## 功能
- **身份验证**:基于 JWT 的登录/注册,基于角色的访问权限(admin/analyst),登录/注册的速率限制(每 15 分钟 5 次尝试),服务器端 + 客户端密码强度强制校验
- **事件管理**:创建、查看、编辑、删除事件,并自动生成参考编号(INC-0001, INC-0002, ...)
- **MITRE ATT&CK 标记**:使用 14 种 Enterprise ATT&CK 战术之一及可选的技术 ID 标记事件
- **严重性与状态跟踪**:低/中/高/严重级别的严重性,待处理 → 调查中 → 已控制 → 已解决 → 已关闭 的工作流
- **活动时间轴**:每个事件的评论线程,自动记录状态变更以实现完整的审计跟踪
- **仪表板**:统计卡片(总数、待处理、严重、平均解决时间)+ 图表(按严重性、按状态、按 MITRE 战术)
- **管理员用户管理**:查看/提升/降级/删除用户
- **筛选与搜索**:按状态/严重性筛选事件列表,按标题/参考编号/描述进行搜索
## 技术栈
- **前端**:React 18, Vite, React Router, Recharts, Axios
- **后端**:Node.js, Express, MySQL (mysql2), JWT, bcryptjs, Helmet, express-rate-limit
- **数据库**:MySQL
## 本地设置
### 1. 数据库
- 启动 MySQL(例如通过 XAMPP)
- 创建数据库:`CREATE DATABASE soc_tracker_db;`
- 导入 `backend/models/schema.sql`(通过 phpMyAdmin)
- 这将初始化一个管理员账号:`admin@soctracker.com` / `Admin@123`
### 2. 后端
```
cd backend
npm install
cp .env.example .env # then edit DB credentials + set a real JWT_SECRET
npm start
```
运行在 `http://localhost:5000`
### 3. 前端
```
cd frontend
npm install
cp .env.example .env
npm run dev
```
运行在 `http://localhost:5173`
## 项目结构
标签:GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 事件管理, 安全运营, 库, 应急响应, 扫描框架, 自定义脚本