0xtamsee1/sigma-to-siem
GitHub: 0xtamsee1/sigma-to-siem
将通用的Sigma和Elastic检测规则自动转换为多种主流SIEM平台的查询语言,解决了检测内容跨平台复用的难题。
Stars: 0 | Forks: 0
# Sigma 到 SIEM
`sigma-to-siem` 是一个防御性检测工程项目,它从 SigmaHQ 和 Elastic 风格的公开仓库中提取
检测内容,并将支持的 Sigma 模式转换为可选的 SIEM 查询方言。
此项目**不**包含私有/工作衍生的检测内容。
其设计用于与本地克隆的上游公开仓库配合工作:
- SigmaHQ 主 Sigma 规则仓库
- Elastic Security 检测规则
- Elastic 保护产物
## 存在意义
检测工程师经常面临相同的运营问题:高质量的
社区检测内容存在,但每个 SIEM 都有不同的查询语法、字段
映射假设和语义限制。此项目展示了一个实用的
管道:
1. 扫描上游检测仓库。
2. 解析 Sigma、Elastic TOML/KQL/EQL 和 YARA 风格的产物。
3. 将支持的 Sigma 规则模式转换为选定的 SIEM 目标。
4. 从规则选择中生成合成的样本日志,用于验证和演示。
5. 如实报告转换状态,分为 `full`、`partial` 或 `unsupported`。
## 初始支持的目标平台
- Splunk SPL
- Elastic/Kibana KQL
- Microsoft Sentinel KQL
- Azure Data Explorer KQL
- IBM QRadar AQL
- Google SecOps / Chronicle YARA-L 封装器
- CrowdStrike Falcon LogScale
- Sumo Logic
- Datadog 日志
- OpenSearch/Lucene
- Wazuh/OpenSearch Lucene
详情和
限制请参阅 [docs/supported_targets.md](docs/supported_targets.md)。
## 快速开始
针对包含的中性测试数据运行:
```
python .\sigma_to_siem.py targets
python .\sigma_to_siem.py scan .\tests\fixtures
python .\sigma_to_siem.py convert .\tests\fixtures --target splunk --out generated\splunk --include-partial
python .\sigma_to_siem.py sample .\tests\fixtures --out generated\samples
python -m unittest discover -s tests
```
## 使用真实的上游仓库
克隆上游源代码:
```
mkdir upstream
git clone https://github.com/SigmaHQ/sigma upstream/sigma
git clone https://github.com/elastic/detection-rules upstream/elastic-detection-rules
git clone https://github.com/elastic/protections-artifacts upstream/elastic-protections-artifacts
```
扫描并转换:
```
python .\sigma_to_siem.py scan .\upstream\sigma\rules .\upstream\elastic-detection-rules\rules
python .\sigma_to_siem.py convert .\upstream\sigma\rules --target sentinel-kql --out generated\sentinel --limit 100
python .\sigma_to_siem.py sample .\upstream\sigma\rules --out generated\samples --limit 100
```
安装可选的 YAML 支持以广泛解析 SigmaHQ:
```
pip install -e ".[yaml]"
```
## 项目布局
```
src/sigma_to_siem/ Parser, source importers, converters, sample generator
tests/fixtures/ Neutral fixtures that mimic public upstream formats
docs/ Supported targets, import guide, sharing snippets
.github/workflows/ CI validation workflow
generated/ Local output directory, ignored by git
```
## 当前转换理念
转换器处理常见的 Sigma 字段修饰符,例如:
- 相等性
- `contains`
- `contains|all`
- `startswith`
- `endswith`
- `re` / `regex`
- `exists`
- `1 of selection_*`
- `all of selection_*`
- 布尔值 `and`、`or`、`not` 和括号
它有意避免假装复杂的时序或供应商特定逻辑可以在没有适当字段映射和执行模型的情况下完美翻译。
## 路线图
- 添加后端特定的字段映射配置文件。
- 添加 pySigma 集成作为可选的高级转换引擎。
- 添加针对完整 SigmaHQ 和 Elastic 仓库的转换覆盖报告。
- 添加针对 Windows Security、Sysmon、auditd、云和端点遥测模式的样本生成模式。
- 添加针对可用目标查询解析器的往返验证。
标签:AMSI绕过, AQL, Elastic Security, KQL, Python安全, Sigma规则, SPL, YARA, 云资产可视化, 威胁检测, 安全信息与事件管理, 开源安全工具, 搜索引擎爬取, 查询转换, 检测内容集成, 目标导入, 网络安全, 规则转换工具, 逆向工具, 逆向工程平台, 隐私保护