muchdogesec/sigma2stix

GitHub: muchdogesec/sigma2stix

将 SigmaHQ 仓库中的 Sigma 检测规则批量转换为 STIX 2.1 对象的命令行工具,解决威胁情报平台与 SIEM 规则格式不兼容的问题。

Stars: 12 | Forks: 3

# sigma2stix [![codecov](https://codecov.io/gh/muchdogesec/sigma2stix/graph/badge.svg?token=YA10HK6Y1X)](https://codecov.io/gh/muchdogesec/sigma2stix) ## 摘要 一个命令行工具,用于将 SigmaHQ 仓库中的 Sigma Rules 转换为 STIX 2.1 对象。 此仓库还包含 GitHub Actions,用于将规则上传到 SIEM Rules(同时创建检测包)和 Cyber Threat Exchange(至 SigmaHQ feed)。 注意:如果您只想将现有的 Sigma Rule 转换为 STIX,[请查看 txt2detection](https://github.com/muchdogesec/txt2detection/)。 ## 开始之前... ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/287f9a845d071049.png) [您可以在 SIEM Rules 中访问由 sigma2stix 生成的所有规则](https://www.siemrules.com)。 ## 概述 [SigmaHQ/sigma](https://github.com/SigmaHQ/sigma) Sigma Rules 以 YAML 格式编写,并作为 YAML 文件分发。 公共规则(经 Sigma 团队批准)存储在主 Sigma 仓库中,嵌套在 `rules*` 目录下,例如 `rules-emerging-threats/2023/Exploits/CVE-2023-20198/cisco_syslog_cve_2023_20198_ios_xe_web_ui.yml` https://github.com/SigmaHQ/sigma/blob/master/rules-emerging-threats/2023/Exploits/CVE-2023-20198/cisco_syslog_cve_2023_20198_ios_xe_web_ui.yml 在 dogesec,我们处理的大多数数据都是 STIX 2.1 格式。这是因为下游威胁情报工具能够理解 STIX。 因此,sigma2stix 的工作原理是将 Sigma Rules 转换为 STIX 2.1 对象。 sigma2stix 提供两种模式: 1. 从 [SigmaHQ/sigma repository](https://github.com/SigmaHQ/sigma) 下载最新规则,并将每条规则转换为一系列 STIX 对象 2. 接受 YAML 文件形式的 Sigma rule,并将其转换为 STIX indicator 对象 ## 安装脚本 要安装 sigma2stix; ``` # 克隆最新代码 git clone https://github.com/muchdogesec/sigma2stix # 创建 venv cd sigma2stix python3 -m venv sigma2stix-venv source sigma2stix-venv/bin/activate # 安装 requirements pip3 install -r requirements.txt ``` ### 配置选项 sigma2stix 有各种设置,定义在 `.env` 文件中。 要创建该文件的模板: ``` cp .env.example .env ``` 要了解更多关于如何设置这些变量及其作用的信息,请阅读 `.env.markdown` 文件。 ## 运行脚本 ### 模式 1: SigmaHQ/sigma repository -> STIX ``` python3 sigma2stix.py \ --mode sigmahq \ --sigma_version_tag XXXX ``` 其中; * `mode`(必需):如果您想从 [SigmaHQ/sigma repository](https://github.com/SigmaHQ/sigma) 下载最新规则,应始终为 `sigmahq` * `sigma_version_tag`(可选):是 SigmaHQ/sigma 仓库中标签的名称([此处列出了标签](https://github.com/SigmaHQ/sigma/releases)),例如 `r2024-12-19`。如果未传递任何值,将克隆 master 分支。 请注意,此脚本仅支持格式为 `rYYYY-MM-DD` 的 Sigma Rule 版本标签。 每次运行时,所有对象都将在 `stix2_objects` 目录中重新生成 #### 示例 1.1: 下载最新版本 ``` python3 sigma2stix.py \ --mode sigmahq ``` #### 示例 1.2: 下载特定版本 ``` python3 sigma2stix.py \ --mode sigmahq \ --sigma_version_tag r2024-12-19 ``` ## 映射信息 要了解 sigma2stix 如何将数据映射到 STIX 对象,[请参阅 txt2detection 文档](https://github.com/muchdogesec/txt2detection/)。 ## 回填旧版本 您可以使用以下脚本获取已发布的每个 Sigma 版本的规则包 ``` sh utilities/backfill_all.sh ``` 如果您只想要最新版本的包,只需在终端中运行 `utilities/backfill_all.sh` 的最后一行。 ## 实用的辅助工具 * 生成 STIX 2.1 对象:[stix2 Python Lib](https://stix2.readthedocs.io/en/latest/) * STIX 2.1 规范:[STIX 2.1 docs](https://docs.oasis-open.org/cti/stix/v2.1/stix-v2.1.html) * [GitHub 上的 SigmaHQ](https://github.com/SigmaHQ) ## 支持 [通过 dogesec 社区提供有限支持](https://community.dogesec.com/)。 ## 许可证 [Apache 2.0](/LICENSE)。
标签:AMSI绕过, Claude, Cloudflare, CVE检测, MITRE ATT&CK, Python, SigmaHQ, Sigma规则, STIX 2.1, STIX对象, YAML, 威胁情报, 威胁检测, 安全库, 开发者工具, 数据转换, 无后门, 目标导入, 网络安全, 规则转换器, 逆向工具, 邮件枚举, 隐私保护