RasheedFarhat/DaC-Pipeline

GitHub: RasheedFarhat/DaC-Pipeline

该项目实现了一个自动化的检测即代码管道,通过 GitHub Actions 验证并以编程方式部署 SIEM 检测规则到 Wazuh,替代传统手动 UI 操作。

Stars: 0 | Forks: 0

# 检测即代码 CI/CD Pipeline [![CI/CD 验证](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1fd84afca8112001.svg)](https://github.com/RasheedFarhat/DaC-Pipeline/actions) ![发布](https://img.shields.io/badge/Release-v1.0.0-blue) ![Python](https://img.shields.io/badge/Python-3.10+-yellow?logo=python) ![SIEM](https://img.shields.io/badge/SIEM-Wazuh_v4.9-00AEEF) ![许可证](https://img.shields.io/badge/License-MIT-success) ## 概述 ![检测即代码架构 Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d13a005f92112007.png) 本仓库包含了一个全自动的检测即代码 pipeline。它将 SIEM 规则管理从手动的、基于 UI 的流程转变为版本控制、自动化且经过测试的工程化工作流。 通过利用 GitHub Actions 和基于 Python 的 API 集成,该架构确保所有行为威胁检测(Sigma/XML)在以编程方式部署到生产 Wazuh SIEM 环境之前,都经过语法和逻辑错误验证。 ## 架构与工作流 1. **编写:** 安全分析师在本地编写行为检测规则。 2. **版本控制:** 规则被提交并推送到远程分支。 3. **CI/CD 验证 (GitHub Actions):** - Python 验证引擎 (`check_rule_ids.py`) 扫描代码库。 - 如果检测到重复的规则 ID 或格式错误的 YAML/XML 结构,它将阻止 pipeline 继续。 4. **自动部署:** - 成功合并到 `main` 分支后,部署脚本 (`deploy_rule.py`) 将与 Wazuh API 进行身份验证。 - 它动态遍历规则目录,推送所有新的/更新的配置,并安全地重启 SIEM 分析引擎。 ## 当前检测 * **T1220:** XSL 脚本处理(WMIC AppLocker 绕过) * *(可扩展以接收数百个自定义威胁签名)* ## 战略价值 * **风险缓解:** 消除导致 SIEM 中断的手动“误操作”错误。 * **可追溯性:** 每一次规则修改都通过 Git 提交和 Pull Request 进行跟踪。 * **运维成熟度:** 基础设施管理部署;分析师专注于威胁情报。 ## 架构决策与已知限制 **“事实来源”理念** 此检测即代码 pipeline 的核心理念是,Sigma (YAML) 作为所有威胁情报的唯一事实来源。 **pySigma Wazuh 编译器限制** 目前,Python Package Index (PyPI) 上没有发布官方的 `pysigma-backend-wazuh` 包。为了在不依赖不稳定工具的情况下保持 pipeline 的完整性,该架构实现了以下经过深思熟虑的权衡: 1. **验证 (CI):** 在 Pull Request 阶段使用 `pysigma-backend-elasticsearch` 模块对 Sigma 规则进行严格的验证。这证明 YAML 检测逻辑是合理的、结构正确的,并且是完全可编译的。 2. **部署 (CD):** 由于我们无法通过 `pip` 模块动态生成 Wazuh XML,目前兼容 Wazuh 的 `.xml` 文件被维护在 `rules/wazuh/` 目录中。部署脚本 (`deploy_rule.py`) 通过 REST API 以幂等方式将这些 XML 推送到 Wazuh Manager。 *未来路线图:一旦官方发布稳定的 pySigma Wazuh backend,XML 文件将完全从版本控制中移除。CI/CD pipeline 将被更新,以在部署前直接从 Sigma 源动态编译 XML artifacts。*
标签:Detection-as-Code, DevSecOps, PB级数据处理, Wazuh, 上游代理, 安全运维, 逆向工具