
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 bien plus propre et est presque entièrement testée.
Les backends pour la prise en charge de la conversion vers des langages de requête et les pipelines de traitement pour transformer
les règles pour les 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
agnostique vis-à-vis des fournisseurs. Voir la section Projets liés ci-dessous pour un aperçu.
Pour commencer à utiliser pySigma, vous avez besoin de Python 3.11 ou version ultérieure. Installez-le à l'aide de votre gestionnaire de paquets Python préféré. 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 liés » de ce README.
pySigma Cookie Cutter Template
pySigma apporte un certain nombre de fonctionnalités supplémentaires par rapport au 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 compiler votre propre paquet, exécutez poetry build.
Pour vérifier le code, exécutez poetry run black. Pour rechercher les erreurs de linting, exécutez poetry run black --check.
Ce projet utilise également pre-commit, qui est installé par poetry dans le cadre des dépendances de développement. Pour installer les hooks git, 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 à soumettre des issues/PRs comme points de discussion.
Cet article 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 tentant de tout prendre en charge, mais seulement le cœur. La prise en charge des langages de requête cibles et des modèles de données de journaux est assurée par des paquets supplémentaires qui étendent pySigma :
Tous les paquets peuvent également être installés depuis PyPI, sauf mention 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.