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规则, 安全运营, 扫描框架, 检测即代码, 目标导入, 自动化流水线, 自动笔记, 逆向工具