
Bibliothèque Python pour analyser et convertir les règles Sigma en requêtes (et tout ce que vous pourriez imaginer)
pySigma est une bibliothèque Python qui analyse et convertit les règles Sigma en requêtes. Elle remplace
l'ancienne chaîne d'outils Sigma (sigmac) avec une conception beaucoup plus propre et est presque entièrement testée.
Les backends pour la prise en charge de la conversion en langages de requête et les pipelines de traitement pour transformer
les règles en modèles de données de journaux sont séparés dans des projets dédiés afin de garder pySigma lui-même léger et
indépendant des fournisseurs. Voir la section Projets associés ci-dessous pour un aperçu.
Pour commencer à utiliser pySigma, vous avez besoin de Python 3.10 ou version ultérieure. Installez-le avec le gestionnaire de paquets Python de votre choix. Exemples :
pip install pysigma
pipenv install pysigma
poetry add pysigma
La documentation avec quelques exemples d'utilisation est disponible ici.
La création d'un backend est devenue beaucoup plus facile avec pySigma. Nous recommandons d'utiliser le « Cookie Cutter Template » et de consulter les backends existants listés dans la section « Projets associés » de ce README.
pySigma Cookie Cutter Template
pySigma apporte un certain nombre de fonctionnalités supplémentaires par rapport à l'outil tout-en-un sigmac, ainsi que quelques changements.
sigma-cli est l'équivalent de sigmac pour la conversion en ligne de commande
utilisez sigma list modifiers
utilisez sigma plugin list --plugin-type backend
Aperçu de la conversion

Pipelines

Plus de détails sont décrits dans la documentation.
pySigma utilise pytest comme framework de test. Exécutez simplement pytest pour lancer tous les tests. Exécutez pytest --cov=sigma pour obtenir un rapport de couverture.
Pour construire votre propre paquet, exécutez poetry build.
Pour linter le code, exécutez poetry run black. Pour vérifier les erreurs de lint, exécutez poetry run black --check.
Ce projet utilise également pre-commit, qui est installé par poetry dans les dépendances de développement. Pour installer les git hooks, exécutez poetry run pre-commit install après avoir cloné le dépôt et installé les dépendances.
Les pull requests sont les bienvenues. N'hésitez pas à déposer tout problème/PR comme point de discussion.
Ce billet de blog de Micah Babinski explique le processus du point de vue d'un développeur.
Le projet est actuellement maintenu par :
pySigma n'est pas une bibliothèque monolithique qui tente de tout prendre en charge, mais le cœur. La prise en charge des langages de requête cibles et des modèles de données de journaux est fournie par des paquets supplémentaires qui étendent pySigma :
Tous les paquets peuvent également être installés depuis PyPI, sauf indication contraire, par le gestionnaire de paquets Python de votre choix.
GNU Lesser General Public License v2.1. Pour plus de détails, veuillez consulter le fichier de licence complet disponible ici.