
Biblioteca de Python para analizar y convertir reglas Sigma en consultas (y cualquier otra cosa que puedas imaginar)
pySigma es una biblioteca de Python que analiza y convierte reglas Sigma en consultas. Es un reemplazo
para la cadena de herramientas Sigma heredada (sigmac) con un diseño mucho más limpio y está casi completamente probada.
Los backends para el soporte de conversión a lenguajes de consulta y las pipelines de procesamiento para transformar
reglas para modelos de datos de logs están separados en proyectos dedicados para mantener pySigma en sí mismo ligero y
agnóstico al proveedor. Consulte la sección Proyectos Relacionados a continuación para obtener una visión general.
Para comenzar a usar pySigma, necesita Python 3.11 o posterior. Instálelo usando su gestor de paquetes de Python preferido. Ejemplos:
pip install pysigma
pipenv install pysigma
poetry add pysigma
La documentación con algunos ejemplos de uso se puede encontrar aquí.
La creación de un backend se ha vuelto mucho más fácil con pySigma. Recomendamos usar la "Cookie Cutter Template" y revisar los backends existentes listados en la sección "Proyectos Relacionados" de este README.
pySigma Cookie Cutter Template
pySigma aporta una serie de características adicionales en comparación con el todo en uno sigmac, así como algunos cambios.
sigma-cli es el equivalente de sigmac para la conversión desde la línea de comandos
use sigma list modifiers
use sigma plugin list --plugin-type backend
Visión General de la Conversión

Pipelines

Se describen más detalles en la documentación.
pySigma utiliza pytest como framework de pruebas. Simplemente ejecute pytest para ejecutar todas las pruebas. Ejecute pytest --cov=sigma para obtener un informe de cobertura.
Para compilar su propio paquete ejecute poetry build.
Para aplicar linting al código ejecute poetry run black. Para comprobar errores de linting ejecute poetry run black --check.
Este proyecto también utiliza pre-commit, que se instala mediante poetry como parte de las dependencias de desarrollo. Para instalar los hooks de git ejecute poetry run pre-commit install después de clonar el repositorio e instalar las dependencias.
Las pull requests son bienvenidas. No dude en presentar cualquier issue/PR como punto de discusión.
Esta publicación de blog de Micah Babinski explica el proceso desde la perspectiva de un desarrollador.
El proyecto está actualmente mantenido por:
pySigma no es una biblioteca monolítica que intenta soportar todo sino el núcleo. El soporte para lenguajes de consulta de destino y modelos de datos de logs es proporcionado por paquetes adicionales que extienden pySigma:
Todos los paquetes también se pueden instalar desde PyPI si no se menciona lo contrario mediante el gestor de paquetes de Python de su elección.
GNU Lesser General Public License v2.1. Para más detalles, consulte el archivo de licencia completo ubicado aquí.