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, 安全运营, 恶意代码分类, 扫描框架, 数据展示, 无后门, 紫队, 红队, 网络测绘, 逆向工具