
Libreria Python per analizzare e convertire le regole Sigma in query (e qualsiasi altra cosa tu possa immaginare)
pySigma è una libreria Python che analizza e converte le regole Sigma in query. È un sostituto
della toolchain Sigma legacy (sigmac) con un design molto più pulito ed è quasi completamente testata.
I backend per il supporto della conversione in linguaggi di query e le pipeline di elaborazione per la trasformazione
delle regole per i modelli di dati di log sono separati in progetti dedicati per mantenere pySigma stesso snello e
indipendente dal fornitore. Consulta la sezione Progetti correlati di seguito per una panoramica.
Per iniziare a usare pySigma, è necessario Python 3.11 o versione successiva. Installalo usando il gestore di pacchetti Python che preferisci. Esempi:
pip install pysigma
pipenv install pysigma
poetry add pysigma
La documentazione con alcuni esempi di utilizzo è disponibile qui.
La creazione di un backend è diventata molto più semplice con pySigma. Ti consigliamo di usare il "Cookie Cutter Template" e di consultare i backend esistenti elencati nella sezione "Progetti correlati" di questo README.
pySigma Cookie Cutter Template
pySigma introduce una serie di funzionalità aggiuntive rispetto al tuttofare sigmac, oltre ad alcune modifiche.
sigma-cli è l'equivalente di sigmac per la conversione da riga di comando
usa sigma list modifiers
usa sigma plugin list --plugin-type backend
Panoramica della conversione

Pipeline

Maggiori dettagli sono descritti nella documentazione.
pySigma usa pytest come framework di testing. È sufficiente eseguire pytest per eseguire tutti i test. Esegui pytest --cov=sigma per ottenere un report di copertura.
Per creare il tuo pacchetto esegui poetry build.
Per eseguire il linting del codice esegui poetry run black. Per verificare la presenza di errori di linting esegui poetry run black --check.
Questo progetto utilizza anche pre-commit, che viene installato da poetry come parte delle dipendenze di sviluppo. Per installare gli hook git esegui poetry run pre-commit install dopo aver clonato il repository e installato le dipendenze.
Le pull request sono benvenute. Sentiti libero di segnalare eventuali issue/PR come punti di discussione.
Questo post del blog di Micah Babinski spiega il processo dal punto di vista di uno sviluppatore.
Il progetto è attualmente mantenuto da:
pySigma non è una libreria monolitica che cerca di supportare tutto ma solo il core. Il supporto per i linguaggi di query di destinazione e i modelli di dati di log è fornito da pacchetti aggiuntivi che estendono pySigma:
Tutti i pacchetti possono anche essere installati da PyPI, se non diversamente indicato, tramite il gestore di pacchetti Python che preferisci.
GNU Lesser General Public License v2.1. Per i dettagli, consulta il file completo della licenza disponibile qui.