Aller au contenu

RSigma - Boîte à outils de détection Rust Sigma

RSigma - Boîte à outils de détection Rust Sigma

RSigma est une boîte à outils Rust complète et haute performance pour la norme de détection Sigma. Il analyse les règles Sigma YAML en un AST fortement typé, les compile en correspondances optimisées, et les évalue par rapport aux événements de journal en temps réel. Au-delà de la conversion (le travail classique de Sigma), RSigma regroupe un analyseur, un linter, un moteur d’évaluation et de corrélation, un démon d’exécution de streaming, et des serveurs MCP et LSP — ce qui en fait une base fondamentale pour les pipelines de détection en tant que code.

Installation

MéthodeCommande
Cargocargo install rsigma
À partir des sourcesgit clone https://github.com/timescale/rsigma && cd rsigma && cargo build --release
Binairetélécharger depuis la page GitHub Releases
Vérifierrsigma --version

Sous-commandes principales

CommandeDescription
rsigma lint rules/Valider et évaluer les règles Sigma
rsigma convert -t splunk rule.ymlConvertir une règle vers un langage de requête cible
rsigma eval -r rule.yml events.jsonlÉvaluer les règles par rapport aux événements de journal
rsigma correlate rules/ events.jsonlExécuter les règles de corrélation sur les événements
rsigma serveDémarrer le démon d’évaluation de streaming
rsigma lspExécuter le serveur de langage pour l’intégration d’éditeur
rsigma mcpExécuter le serveur MCP pour l’accès aux agents IA
rsigma --helpRéférence de commande complète

Lint

# Lint un répertoire de règles, échouer sur les erreurs (compatible CI)
rsigma lint rules/ --fail-on error

# Afficher les scores de qualité entre les dimensions
rsigma lint rules/windows/ --format json
DimensionVérifications
SyntaxSchéma Sigma valide / AST
Metadatatitle, id, status, level présents
LogicCohérence détection/condition
Field usageChamps connus, conformité taxonomie
Best practicesNommage, notes sur les faux positifs
PortabilityConstruits compatibles avec le backend

Conversion (Détection en tant que code)

RSigma compile une règle Sigma vers plusieurs langages de requête SIEM.

rsigma convert -t splunk rule.yml            # Splunk SPL
rsigma convert -t elasticsearch rule.yml     # Elastic DSL / EQL
rsigma convert -t sentinel rule.yml          # Microsoft Sentinel KQL
rsigma convert -t qradar rule.yml            # QRadar AQL
FlagObjectif
-t, --targetBackend / langage de requête
-p, --pipelineAppliquer un pipeline de traitement (mappages de champs)
-o, --outputÉcrire vers un fichier
--formatFormat de sortie pour conversions en lot

Évaluation et corrélation

# Correspondre directement les règles par rapport à un flux d'événements JSONL
rsigma eval -r rules/ events.jsonl --format json

# Corrélation multi-événement (ex. N échecs puis succès)
rsigma correlate -r correlation_rules/ events.jsonl
CapacitéUtilisation
Direct evalTester les règles sur la télémétrie réelle sans SIEM
CorrelationRègles temporelles/agrégation sur les événements
Streaming daemonrsigma serve évalue les flux d’événements en direct
AST cachingCorrespondances compilées réutilisées pour la vitesse

Intégration d’éditeur et d’agent

ServeurObjectif
rsigma lspAutocomplétion, diagnostiques, survol dans les éditeurs
rsigma mcpExposer les outils Sigma aux agents IA via MCP

Pattern CI/CD

# Dans un pipeline de détection en tant que code :
rsigma lint rules/ --fail-on error          # gate sur la qualité
rsigma eval -r rules/ test-telemetry.jsonl  # vérifier que les règles s'activent
rsigma convert -t sentinel -o out/ rules/   # compiler pour le déploiement

RSigma vs outils Sigma classiques

AspectRSigmasigma-cli (pySigma)
LangageRustPython
PortéeConvert + lint + eval + correlate + serveConvert (+ plugins)
Évaluation en directDémon de streaming intégréExterne
Éditeur/agentServeurs LSP + MCPAucun
Meilleur pourDétection en tant que code de bout en boutWorkflows centrés sur la conversion

Ressources