hkmendo4760/aws-detection-as-code
GitHub: hkmendo4760/aws-detection-as-code
这是一个基于GitHub Actions的自动化流水线,用于验证和部署Sigma检测规则到AWS OpenSearch。
Stars: 0 | Forks: 0
# 🛡️ 代码即检测 (DaC) 自动化流水线
## 🚀 项目概述
这是一个自动化的、云原生的代码即检测 (DaC) CI/CD 流水线,用于验证、测试并准备 Sigma 检测规则以部署到生产环境。该项目使用 OpenSearch Lucene 后端自动执行语法检查和查询编译,确保零日错误配置永远不会进入生产 SIEM 环境。
## 🛠️ 架构与流程
该流水线为安全分析提供了自动化的生命周期管理,能够将规则从工程师的 IDE 无缝过渡到一个已验证、可被摄取的状态。
```
graph LR
A[VS Code / WSL / Codespaces] -- git push --> B(GitHub Repository)
B --> C{GitHub Actions Trigger}
subgraph CI/CD Runner Environment [Ubuntu-Latest]
C -- Spin Up --> D[Python 3.11 Setup]
D --> E[Install Sigma CLI & OpenSearch Plugin]
E --> F[Execute validate_rules.sh]
end
F -- Pass --> G[🚀 Ready for OpenSearch Deployment]
F -- Fail --> H[❌ Blocked / Pipeline Alert]
style G fill:#238636,stroke:#fff,stroke-width:2px,color:#fff
style H fill:#da3633,stroke:#fff,stroke-width:2px,color:#fff
```
生命周期阶段:
- **编写:** 检测工程师使用标准化的 YAML/Sigma 格式在 VS Code、WSL 或 GitHub Codespaces 环境中编写规则。
- **验证 (CI):** 针对 `main` 分支的每次推送或 `pull_request`,GitHub Actions 都会自动触发一个干净的运行器环境。
- **编译:** 一个隔离的 pySigma 环境启动,运行全面的语法验证矩阵,并明确针对 `opensearch_lucene` 目标后端测试编译规则逻辑。
## ⚙️ CI/CD 流水线实现 (方法论)
**挑战**
将验证和编译逻辑从通用或传统的安全引擎迁移到高度特定、符合 OpenSearch 标准的查询。在开发期间,默认的编译器严格要求集中式的处理管道来进行日志源映射,这通常会破坏本地验证套件并阻碍解耦的工程工作流。
**解决方案**
设计并实现了一个模块化的验证脚本 (`validate_rules.sh`),并配合一个精简的 GitHub Actions 持续集成工作流。通过明确使用 `--without-pipeline` 标志执行编译测试,该流水线成功地独立于平台特定的交付管道来隔离和验证核心检测逻辑。
## 💻 开始使用与本地验证
为了演示这个代码即检测流水线的高可复现性,您可以在任何 Linux/WSL 环境或 VS Code Dev Container 中本地运行验证套件。
**1. 前置条件**
确保已安装 Python 3.11+,然后设置所需的 Sigma 工具和依赖项:
```Bash
# 安装核心 Sigma CLI 和 OpenSearch 后端插件
pip3 install sigma-cli
sigma plugin install opensearch
```
**2. 运行验证脚本**
执行自动化测试脚本,扫描本地目录,检查 YAML 配置语法,并将规则测试编译为活动的 OpenSearch 查询:
```Bash
# 赋予执行权限并运行验证器
chmod +x ./validate_rules.sh
./validate_rules.sh
```
**3. 预期输出**
成功的工作流将干净地解析检测逻辑,并生成一个明确的成功信息块:
```
# truction specifies to output exactly one line.
🛡️ 运行 Sigma 检测验证 🛡️
## 🔍 扫描 Sigma 规则中...
# 📄 正在检查: detections/aws/s3_public_bucket.yml
✅ 语法: 有效
⚙️ 正在测试 OpenSearch Lucene 编译...
解析 Sigma 规则
🚀 编译: 成功
# 🎉 所有规则均通过验证!
```
标签:AWS, DevSecOps, DPI, GitHub Actions, GitHub Codespaces, Lucene后端, Python, Sigma规则, SOC Prime, URL发现, 上游代理, 供应商无关, 安全工程, 安全检测, 安全运营, 开发工具, 扫描框架, 无后门, 检测即代码, 目标导入, 自动化验证, 自动笔记, 规则测试, 规则编译, 逆向工具