spencer333/detections-as-code
GitHub: spencer333/detections-as-code
一个基于 Sigma 格式的 CI 门控威胁检测规则库,将检测规则以代码方式管理并映射到 MITRE ATT&CK 框架,实现多 SIEM 平台的便携部署。
Stars: 0 | Forks: 0
# detections-as-code
这是一个经过精心策划且**由 CI 检查**的 [Sigma](https://github.com/SigmaHQ/sigma) 检测规则库,并映射到
MITRE ATT&CK。每条规则都针对**攻击者难以轻易改变的攻击行为**,而不是会过期的
文件哈希,并且包含明确的误报说明和来源参考。
每条规则的第一版草稿均由 [AI 威胁狩猎流水线](https://github.com/spencer333/ai-threat-hunting-pipeline)生成,
**经过人工验证**,并由 CI 门控(每次推送时运行 `sigma check`)。这是 5 个作品集项目中的第 2 个 ——
请查看职业路线图。
[](https://github.com/spencer333/detections-as-code/actions/workflows/sigma-lint.yml)
## 目录结构
```
rules//_.yml # one behavior per file, ATT&CK-tagged
.github/workflows/sigma-lint.yml # CI: sigma check + Splunk conversion smoke test
coverage.md # ATT&CK coverage table + known gaps
coverage-navigator-layer.json # ATT&CK Navigator layer (import to visualize coverage)
CONTRIBUTING.md # the detect-as-code process (how a rule gets in)
evals/ # detection-coverage benchmark + regression harness
tests/ # (planned) positive/negative log samples per rule
```
## 这些规则有效吗?(基准测试)
规则不仅经过了 lint 检查,还针对**真实**的攻击遥测数据进行了验证。请参阅 [`evals/`](evals/):
在包含 20 个样本的语料库上运行回归测试套件,结果为 **0 误报**,且
覆盖率基准报告显示**目前已验证 3/9 条规则和 4/11 项技术** —— 这是一个真实的数字,随着
有更多规则通过真实样本的验证,该数字还会增加。这也是本规则库致力于优化的目标函数。
## 当前检测规则
| 规则 | 威胁 | ATT&CK | 来源 |
|---|---|---|---|
| `persistence/interlock_chrome_updater_runkey` | Interlock | T1547.001, T1036.005 | AA25-203A |
| `defense_evasion/interlock_rundll32_wasd_cleanup` | Interlock | T1218.011, T1070.004 | AA25-203A |
| `credential_access/akira_lsass_comsvcs_minidump` | Akira | T1003.001 | AA24-109A |
| `impact/akira_vss_shadow_delete_wmi` | Akira | T1490 | AA24-109A |
| `execution/play_tooling_in_public_music` (2 条规则) | Play | T1036, T1486 | AA23-352A |
| `lateral_movement/medusa_openrdp_enable_rdp` (2 条规则) | Medusa | T1021.001, T1562.004 | AA25-071A |
**涵盖 4 个勒索软件家族、6 种 ATT&CK 战术的 8 条检测规则。** 请参阅 [coverage.md](coverage.md)。
将 [coverage-navigator-layer.json](coverage-navigator-layer.json) 导入到
[ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 中(*Open Existing Layer → Upload*)
以渲染覆盖率热力图 —— 这是最适合放在简历或 LinkedIn 帖子中的直观图表。
## 使用方法
```
pip install sigma-cli pysigma-backend-splunk
sigma check rules/ # validate everything
sigma convert -t splunk -f default rules/credential_access/akira_lsass_comsvcs_minidump.yml
# 将 -t 替换为 elasticsearch / microsoft365defender (KQL) / 等。
```
## 为什么要采用这种方式构建
Detections-as-code 将软件工程的方法应用于检测内容:版本控制、代码审查、
CI 验证以及带有 ATT&CK 标签的覆盖率跟踪。规则采用可移植的 Sigma 格式,因此同一个规则库
可以编译为 Splunk SPL、Elastic 或 Sentinel KQL —— 一次编写,即可部署到任何 SIEM。
标签:Cloudflare, DevSecOps, Libemu, MITRE ATT&CK, Reconnaissance, 上游代理, 安全检测规则, 逆向工具