diagonalciso/soc-validate
GitHub: diagonalciso/soc-validate
基于 Atomic Red Team 的紫队检测验证工具,通过运行 ATT&CK 技术并对接 soc-ops 验证 SOC 告警是否触发,帮助蓝队发现检测盲区。
Stars: 0 | Forks: 0
# soc-validate — 紫队检测验证
闭环 SOC:证明检测规则确实被触发。捆绑 **Atomic Red
Team**,运行 ATT&CK 技术的 Linux atomic,然后询问 **soc-ops** 是否
出现了匹配的告警 → **PASS / ACTIVITY / BLIND**。构建覆盖率热力图。
- **Atomics:** [redcanaryco/atomic-red-team](https://github.com/redcanaryco/atomic-red-team) submodule (MIT)。
- **本应用:** MIT,Python + PyYAML,端口 **:8104**。已索引约 113 个 Linux 技术 / 约 395 个 atomics。
## ⚠ 安全
执行默认**关闭** (`EXECUTION_ENABLED=0`) — 运行均为 dry-run:会显示
解析出的命令但**不**执行。要实际运行 atomics:
1. 设置 `EXECUTION_ENABLED=1`(仅限环境变量,不在已提交的单元中),**并且**
2. 每次运行都必须传递 `confirm=1`。
只有 `sh`/`bash` Linux atomics 才会被执行。**请将其限制在实验室环境中运行** — 它
会运行真实的攻击命令。不要将其指向生产环境。
## 判定结果
| 判定 | 含义 |
|---------|---------|
| **PASS** | soc-ops 在时间窗口内浮现了引用该技术 ID 的告警 |
| **ACTIVITY** | 出现了新告警,但没有一个匹配该技术 |
| **BLIND** | 未检测到任何内容 — 存在覆盖盲区 |
| **UNKNOWN** | soc-ops 无法访问 |
| **DRYRUN** | 安全模式;命令已解析,未执行 |
## 运行
```
git submodule update --init --depth 1
pip install -r requirements.txt
cp .env.example .env # set SOC_OPS_URL; leave EXECUTION_ENABLED=0 to start
python3 app.py # :8104
```
## Endpoints
| 路径 | 用途 |
|------|---------|
| `/` | 热力图仪表板 |
| `/api/stats` | 技术、atomics、覆盖率 %、执行标志 |
| `/api/matrix?q=` | 技术网格 + 最后判定 |
| `/api/technique?id=T####` | atomics + 解析出的命令 |
| `POST /api/run?id=&guid=&execute=&confirm=` | 运行/dry-run + 检测检查 |
| `/health` | 探针 (soc-hub tile) |
## 许可证
应用:MIT。Atomic Red Team:MIT。无 copyleft。
## 文档
请参阅 **[MANUAL.md](MANUAL.md)** 获取完整手册(概述、配置、endpoint、集成、故障排除)。在运行中的仪表板里,点击右上角的 **`?` 帮助按钮**即可在 `/manual` 打开它。
标签:Python, 安全运营, 恶意代码分类, 扫描框架, 数据展示, 无后门, 紫队, 红队, 网络测绘, 逆向工具