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 个 —— 请查看职业路线图。 [![sigma-lint](https://static.pigsec.cn/wp-content/uploads/repos/cas/21/21df5da04dc371af241c698b5deee07a594fcd51a85f4544f1f7561be0424711.svg)](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, 上游代理, 安全检测规则, 逆向工具