
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 antigua cadena de herramientas Sigma (sigmac) con un diseño mucho más limpio y está casi totalmente probado. Los backends para soporte de conversión a lenguajes de consulta y los pipelines de procesamiento para transformar reglas para modelos de datos de logs están separados en proyectos dedicados para mantener pySigma ligero y agnóstico al proveedor. Consulta la sección Proyectos Relacionados a continuación para obtener una visión general.
Para empezar a usar pySigma, necesitas Python 3.10 o posterior. Instálalo usando el gestor de paquetes de Python que prefieras. Ejemplos:
pip install pysigma
pipenv install pysigma
poetry add pysigma
Puedes encontrar documentación con algunos ejemplos de uso aquí.
La creación de un backend se ha vuelto mucho más fácil con pySigma. Recomendamos utilizar la "Cookie Cutter Template" y revisar los backends existentes listados en la sección "Proyectos Relacionados" de este README.
pySigma ofrece una serie de características adicionales en comparación con el sigmac todo en uno, así como algunos cambios.
sigma-cli es el equivalente de sigmac para la conversión desde línea de comandos
usa sigma list modifiers
usa sigma plugin list --plugin-type backend
Visión general de conversión

Pipelines

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