canmenzo/detection-engineering

GitHub: canmenzo/detection-engineering

一个将安全检测规则以「Detection-as-Code」方式管理的项目,通过 Sigma 规则、Hayabusa 自动化测试、CI 验证和 ATT&CK 覆盖追踪,实现检测规则的全生命周期工程化。

Stars: 0 | Forks: 0

# 检测工程 — Detection-as-Code ![ATT&CK 覆盖图](https://raw.githubusercontent.com/canmenzo/detection-engineering/main/coverage/coverage.png) ## 为什么需要这个项目 大多数“检测工作”都存在于 SIEM 控制台中,并在你注销后随之消失。 这个仓库将检测视为软件:版本控制的规则、针对真实攻击者遥测数据的单元测试、CI/CD,以及自动生成的覆盖图——因此,只有当一个检测经过了测试、映射和合并,才算“完成”。 ## 工作原理 ``` Sigma rule (YAML) │ ├── validate_metadata.py ── every rule needs an ATT&CK tag + a fixture, or CI fails │ ├── sigma convert ──────── valid KQL (Sentinel) and SPL (Splunk) or CI fails │ ├── Hayabusa + pytest ──── TP fixture must fire, benign fixture must not │ └── generate_navigator_layer.py ── ATT&CK Navigator coverage map ``` ## 本地运行 ``` python -m venv .venv && .venv\Scripts\activate # Windows pip install -r requirements.txt python tools/validate_metadata.py # metadata + fixture discipline python tools/generate_navigator_layer.py # writes coverage/navigator_layer.json pytest -v # needs the hayabusa binary on PATH ``` Hayabusa 是来自 [Yamato Security](https://github.com/Yamato-Security/hayabusa) 的单一二进制文件; 下载一个 release 版本并将其放在 `PATH` 中(或者设置 `HAYABUSA_BIN`)。 ## 检测生命周期 假设 → Sigma 规则 → EVTX 测试数据 (TP + 良性) → 使用 Hayabusa 测试 → 转换为 KQL/SPL → 映射到 ATT&CK → 通过 PR 发布。 完整指南请见 [`docs/detection_lifecycle.md`](docs/detection_lifecycle.md)。 ## 覆盖率 查看 [`coverage/navigator_layer.json`](coverage/navigator_layer.json) —— 加载到 [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 中进行查看。
标签:Hayabusa, Sigma规则, 代码化检测, 安全规则引擎, 目标导入, 逆向工具