RahshaunSharpe/detection-rules
GitHub: RahshaunSharpe/detection-rules
一个基于 Git + CI/CD 的企业级 Sigma 检测规则管理管线,实现检测规则的版本控制、自动验证和分环境部署到 SIEM。
Stars: 0 | Forks: 0
# detection-rules
企业级、免费的 Detection-as-Code pipeline:Sigma 规则在 Git 中进行版本控制,
在 CI 中验证,并通过 GitHub Actions 部署到 SIEM。
## 工作原理
```
PR (feature branch) ──► CI: yamllint + sigma check + metadata lint + conversion test
│ CODEOWNER review + required checks
▼
merge to main ──► deploy to staging ──► manual approval gate ──► deploy to production
```
回滚 = `git revert` + merge。禁止控制台编辑(参见 SOP.md)。
## 快速开始
```
python -m venv .venv && source .venv/bin/activate
pip install sigma-cli yamllint pyyaml
sigma plugin install splunk # or your backend
# 验证一切
yamllint -c .yamllint.yml rules/
sigma check rules/
python scripts/lint_metadata.py rules/
# 转换 rule
sigma convert -t splunk -p pipelines/prod_pipeline.yml rules/persistence/win_persistence_registry_run_key.yml
```
## 推送此仓库后的设置(一次性)
1. `main` 分支的分支保护:要求 PR、1 个 CODEOWNER 批准、必须通过的检查 `validate`、禁止直接推送。
2. 编辑 `.github/CODEOWNERS`,填入你的真实团队。
3. 创建环境:`staging`(无门禁)和 `production`(需要指定 reviewer)。为每个环境添加 `SIEM_URL` / `SIEM_TOKEN` 密钥。
4. 自定义 `pipelines/prod_pipeline.yml`,填入你自己的索引名称和字段映射——这是关键步骤。
5. 在 `.github/workflows/deploy.yml` 中选择部署模式:`scripts/deploy.py`(包含的 Splunk REST)或 [droid](https://github.com/certeu/droid)(`droid_config.toml`)。
## 规则生命周期
`experimental`(仅限 staging)→ `test`(生产环境,不触发告警)→ `stable`(生产环境触发告警)→ `deprecated`(移除,归档至 `rules-deprecated/`)。
完整流程:参见 `SOP.md`。架构设计理由:参见实施指南。
## 目录结构
| 路径 | 用途 |
|---|---|
| `rules//` | 每个 Sigma 规则单独存放在一个文件中,UUID 不可变 |
| `filters/` | 特定于组织的调优过滤器(优先于编辑规则逻辑) |
| `pipelines/` | 针对不同环境的 pySigma 字段/索引映射 |
| `scripts/` | CI linter、部署脚本、ATT&CK 覆盖率生成器 |
| `tests/fixtures/` | 每个规则的匹配/不匹配示例事件 |
| `rules-deprecated/` | 废弃的规则(切勿删除,切勿重用 UUID) |
标签:GitHub Actions, Reconnaissance, Sigma规则, 安全运营, 扫描框架, 检测即代码, 目标导入, 自动化流水线, 自动笔记, 逆向工具