pySigma

pySigma是一个 python 库,可以解析 Sigma 规则并将其转换为查询。它是传统 Sigma 工具链 (sigmac) 的替代品,设计更加简洁,并且几乎经过全面测试。支持转换为查询语言的后端和用于转换日志数据模型规则的处理管道被分离到专用项目中,以保持 pySigma 本身苗条且与供应商无关。请参阅下面的“相关项目”部分以获取概述。

入门

要开始使用pySigma,请使用您选择的 python 包管理器安装它。例子:

  1. pip install pysigma pipenv install pysigma poetry add pysigma

可以在此处找到包含一些使用示例的文档。

特征

pySigma相比,带来了一些额外的功能sigmac,以及一些变化。

pySigma 和 sigmac 的修饰符比较

修饰符 采用 sigmac legacy
contains 该值匹配字段中的任何位置(字符串和正则表达式) X
startswith 该值应位于字段内容(字符串和正则表达式)的开头 X
endswith 该值应位于字段内容(字符串和正则表达式)的末尾 X
base64 该值使用 Base64 编码 X
base64offset 如果某个值可能出现在 base64 编码值中的某处
则表示可能会根据总体值中的位置而改变
X
wide 将值转换为 UTF16-LE 编码 X
re 值被后端作为正则表达式处理 X
cidr 值被后端作为 IP CIDR 处理
all 此修饰符将 OR 逻辑更改为 AND X
lt 字段小于值
lte 字段小于或等于值
gt 字段大于值
gte 字段大于或等于值
expand 用于扩展值中占位符的修饰符。它替换占位符字符串 (%something%)

概述

转换概述

pySigma - 解析 Sigma 规则并将其转换为查询 - 图1

管道

pySigma - 解析 Sigma 规则并将其转换为查询 - 图2
文档中描述了更多详细信息。

测试

pySigma 使用 pytest 作为测试框架。只需运行pytest即可运行所有测试。运行pytest --cov=sigma以获取覆盖率报告。

建筑

要构建自己的包,请运行poetry build

贡献

欢迎请求请求。请随时提出任何问题/ PR作为讨论点。

维护者

该项目目前由以下人员维护:

如果您选择的 Python 包管理器未另行提及,所有包也可以从 PyPI 安装。