
Python-Bibliothek zum Parsen und Konvertieren von Sigma-Regeln in Abfragen (und was auch immer man sich sonst noch vorstellen kann)
pySigma ist eine Python-Bibliothek, die Sigma-Regeln parst und in Abfragen konvertiert. Sie ist ein Ersatz
für die alte Sigma-Toolchain (sigmac) mit einem viel saubereren Design und ist fast vollständig getestet.
Backends zur Unterstützung der Konvertierung in Abfragesprachen sowie Verarbeitungspipelines zur Transformation
von Regeln für Log-Datenmodelle sind in eigene Projekte aufgeteilt, um pySigma selbst schlank und
herstellerneutral zu halten. Siehe unten den Abschnitt Related Projects für eine Übersicht.
Um pySigma zu verwenden, benötigen Sie Python 3.10 oder neuer. Installieren Sie es mit Ihrem bevorzugten Python-Paketmanager. Beispiele:
pip install pysigma
pipenv install pysigma
poetry add pysigma
Dokumentation mit einigen Anwendungsbeispielen finden Sie hier.
Die Erstellung eines Backends ist mit pySigma viel einfacher geworden. Wir empfehlen, die "Cookie Cutter Template" zu verwenden und sich die bestehenden Backends im Abschnitt "Related Projects" dieser README anzusehen.
pySigma Cookie Cutter Template
pySigma bietet eine Reihe zusätzlicher Funktionen im Vergleich zum All-in-One-sigmac sowie einige Änderungen.
sigma-cli ist das Äquivalent zu sigmac für die Befehlszeilenkonvertierung
verwenden Sie sigma list modifiers
verwenden Sie sigma plugin list --plugin-type backend
Konvertierungsübersicht

Pipelines

Weitere Details sind in der Dokumentation beschrieben.
pySigma verwendet pytest als Testframework. Führen Sie einfach pytest aus, um alle Tests auszuführen. Führen Sie pytest --cov=sigma aus, um einen Coverage-Bericht zu erhalten.
Um Ihr eigenes Paket zu erstellen, führen Sie poetry build aus.
Führen Sie poetry run black aus, um den Code zu linten. Um auf Linting-Fehler zu prüfen, führen Sie poetry run black --check aus.
Dieses Projekt verwendet auch pre-commit, das von poetry als Teil der Dev-Abhängigkeiten installiert wird. Um die Git-Hooks zu installieren, führen Sie poetry run pre-commit install aus, nachdem Sie das Repository geklont und die Abhängigkeiten installiert haben.
Pull Requests sind willkommen. Bitte zögern Sie nicht, Issues/PRs als Diskussionspunkte einzureichen.
Dieser Blogbeitrag von Micah Babinski erklärt den Prozess aus der Perspektive eines Entwicklers.
Das Projekt wird derzeit gepflegt von:
pySigma ist keine monolithische Bibliothek, die versucht, alles zu unterstützen, sondern nur den Kern. Die Unterstützung für Ziel-Abfragesprachen und Log-Datenmodelle wird durch zusätzliche Pakete bereitgestellt, die pySigma erweitern:
Alle Pakete können, sofern nicht anders angegeben, auch von PyPI über den Python-Paketmanager Ihrer Wahl installiert werden.
GNU Lesser General Public License v2.1. Details finden Sie in der vollständigen Lizenzdatei hier.