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

## 为什么需要这个项目
大多数“检测工作”都存在于 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规则, 代码化检测, 安全规则引擎, 目标导入, 逆向工具