
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 umwandelt. Sie ist ein Ersatz
für die Legacy-Sigma-Toolchain (sigmac) mit einem deutlich saubereren Design und ist nahezu vollständig getestet.
Backends für die Unterstützung der Konvertierung in Abfragesprachen und Verarbeitungspipelines zur Transformation
von Regeln für Log-Datenmodelle sind in dedizierte Projekte ausgelagert, um pySigma selbst schlank und
herstellerunabhängig zu halten. Siehe den Abschnitt Verwandte Projekte unten für einen Überblick.
Um pySigma zu verwenden, benötigen Sie Python 3.11 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 Verwendung des "Cookie Cutter Template" und die Überprüfung der vorhandenen Backends, die im Abschnitt "Verwandte Projekte" dieser README aufgeführt sind.
pySigma Cookie Cutter Template
pySigma bringt eine Reihe zusätzlicher Funktionen im Vergleich zum All-in-One-sigmac mit, sowie einige Änderungen.
sigma-cli ist das Äquivalent zu sigmac für die Kommandozeilen-Konvertierung
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.
Um den Code zu linten, führen Sie poetry run black aus. 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 außer dem Kern zu unterstützen. Unterstützung für Ziel- Abfragesprachen und Log-Datenmodelle wird durch zusätzliche Pakete bereitgestellt, die pySigma erweitern:
Alle Pakete können auch von PyPI installiert werden, sofern nicht anders angegeben, mit dem Python-Paket- manager Ihrer Wahl.
GNU Lesser General Public License v2.1. Für Details siehe bitte die vollständige Lizenzdatei hier.