hxllzindev/signal-watch-soc
GitHub: hxllzindev/signal-watch-soc
一个全栈轻量级 SIEM/SOC 调查平台,演示从事件标准化、MITRE ATT&CK 检测到告警分流与案例管理的完整安全运营工作流。
Stars: 0 | Forks: 0
# Signal Watch SOC
这是一个全栈 Mini SIEM,创建用于演示检测工程、告警调查和事件响应。该应用接收异构事件,对遥测数据进行标准化,执行关联规则,并将 SOC 的工作组织为告警和案例。
## 本项目演示的内容
- 针对身份、Web、endpoint、网络、云和通用 JSON 的事件 pipeline。
- 受 ECS 启发的标准化 schema,保留原始事件以供调查。
- 包含六条带有 MITRE ATT&CK 映射的检测规则。
- 时间关联、按实体聚合以及按 fingerprint 去重。
- 具备状态、负责人、备注、证据和审计追踪的分流(Triagem)。
- 与告警和时间线关联的调查案例。
- 按 IP、用户、host、process、source、category 和 result 进行 Threat hunting。
- 按 Analyst、SOC Lead 和 Viewer 角色进行的可演示 RBAC。
- 无特权 container、只读 filesystem 以及安全 pipeline。
## 运行
使用 Docker:
```
docker compose up --build -d
```
访问 [http://localhost:5000](http://localhost:5000)。若要停止运行:
```
docker compose down
```
使用 Node.js 20 或更高版本:
```
node src/server.js
```
## 测试
```
node --test
node --check src/server.js
node --check src/public/app.js
```
测试套件涵盖了标准化、匹配与关联规则、去重、安全 headers、数据接收、模拟、分流、案例和授权。
## 快速演示
1. 打开**概览**(Visão geral)以展示遥测数据和运营态势。
2. 点击**模拟攻击**(Simular ataque)以生成五次失败,随后是一次有效登录。
3. 打开严重告警,将其分配给一名 Analyst,记录备注并创建一个案例。
4. 使用 **Threat hunt** 来搜索模拟中的 IP 或用户。
5. 切换至 **SOC Lead** 并更改规则的阈值。
6. 切换至 **Viewer** 并演示对写入操作的阻止。
完整的演练脚本位于 [docs/DEMO_SCRIPT.md](docs/DEMO_SCRIPT.md) 中。
## 文档
- [架构](docs/ARCHITECTURE.md)
- [API 与事件 schema](docs/API.md)
- [演示脚本](docs/DEMO_SCRIPT.md)
- [作品集案例研究](docs/PORTFOLIO_CASE_STUDY.md)
- [安全策略](SECURITY.md)
## 技术决策
本项目仅使用 Node.js 的原生 API。这减少了依赖面,并使核心组件变得明确:HTTP 服务器、标准化、检测引擎和内存存储。在生产环境中,该 API 契约允许将存储替换为 OpenSearch、ClickHouse、PostgreSQL 或 data lake,而无需重写接口。
数据均为合成数据,仅保留用于演示。请勿将本项目直接用作生产环境 SIEM 的替代品。
标签:MITM代理, 版权保护, 自定义脚本, 请求拦截