LF16007/sentinel-flow-triage
GitHub: LF16007/sentinel-flow-triage
一个面向 SOC 的轻量级事件分诊看板工具,通过拖拽式界面和自动化分类帮助安全团队高效管理从告警到事后回顾的完整事件生命周期。
Stars: 0 | Forks: 0
# Sentinel-Flow:SOC 事件分流看板
用于 SOC 事件工作流的单面板看板式分流看板。此 MVP 专注于快速交互、清晰的状态流转以及用于事件处理的简洁 UI。
## 包含内容
- 一个包含五个固定工作流列的看板:
- `Incoming Alerts`
- `Investigation`
- `Containment`
- `Resolved`
- `Post-Incident Review`
- 看板标题和列标题的内联重命名
- 卡片的创建、编辑、删除
- 看板状态在刷新后持久化保存(存储在 `localStorage` 中)
- 在所有列之间拖放卡片
- 从 `Incoming Alerts` 中的 `security_logs.csv` 样式文件导入 CSV 日志
- 每张卡片的自动分类标签:`Critical`、`Suspicious`、`Informational`
- 优先处理 Critical 的事件,高风险项会自动置顶
- 首次加载时预置的 SOC 场景卡片
## 技术栈
- Next.js (App Router, TypeScript)
- React
- Tailwind CSS
- dnd-kit 实现拖放
- Vitest + Testing Library 用于单元测试
- Playwright 用于端到端测试
## 项目结构
- `frontend/` – 主 Next.js 应用程序
- `AGENTS.md` – 项目约束和代理指南
## 本地运行
```
cd frontend
npm install
npm run dev
```
打开 `http://localhost:3000`(或终端中显示的下一个可用端口)。
## 脚本
从 `frontend/` 目录下运行:
- `npm run dev` – 启动本地开发服务器
- `npm run build` – 创建生产构建
- `npm run start` – 运行生产服务器
- `npm run lint` – 运行 ESLint
- `npm run test` – 运行单元测试
- `npm run test:e2e` – 运行 Playwright 测试
从仓库根目录运行:
- `python3 scripts/parse_security_logs.py /path/to/security_logs.csv` – 解析日志并输出分类后的 JSON(`Critical`、`Suspicious`、`Informational`)
## 日志分类自动化
- 使用导入控件在 `Incoming Alerts` 列上传 CSV 文件。
- 应用应用 YOLO 风格的关键词/风险启发式方法将每个日志分类为 `Critical`、`Suspicious` 或 `Informational`。
- 导入的告警将添加到面板,并自动排序,`Critical` 项排在最前。
- 出于安全原因,请将真实的 `security_logs.csv` 数据保密/保存在本地,并避免将原始安全日志提交到 GitHub。
## 当前预置数据
应用预置了以下 SOC 卡片:
- `SOC-001` 路径遍历告警 (WAF)
- `SOC-003` 服务账号与恶意 IP 关联
- `SOC-004` 通过 EDR 自动化隔离端点
- `SOC-005` 误报 API 测试活动
- `SOC-006` 身份治理季度报告
标签:CSV导入, dnd-kit, NIST标准, Playwright, React, Syscalls, Tailwind CSS, TypeScript, Vitest, 伦敦金融合规, 单页应用, 安全事件分诊, 安全事件响应, 安全告警, 安全插件, 安全日志分析, 拖拽, 特征检测, 看板, 网络安全, 自动化分类, 自动化攻击, 逆向工具, 隐私保护