RSigma ist ein vollständiger, hochperformanter Rust-Toolkit für den Sigma Detection-Engineering Standard. Es parst Sigma YAML Regeln in einen stark typisierten AST, kompiliert sie in optimierte Matcher, und evaluiert sie gegen Log Events in Echtzeit. Neben Konvertierung (die klassische Sigma Aufgabe) bundelt RSigma einen Parser, Linter, Evaluierungs- und Korrelations-Engine, einen Streaming Runtime Daemon, und MCP sowie LSP Server — was es zur vollständigen Grundlage für Detection-as-Code Pipelines macht.
Installation
| Methode | Befehl |
|---|
| Cargo | cargo install rsigma |
| Aus Quellcode | git clone https://github.com/timescale/rsigma && cd rsigma && cargo build --release |
| Binär | Download von der GitHub Releases Seite |
| Überprüfen | rsigma --version |
Core Subcommands
| Befehl | Beschreibung |
|---|
rsigma lint rules/ | Sigma Regeln validieren und bewerten |
rsigma convert -t splunk rule.yml | Eine Regel in eine Zielabfragesprache konvertieren |
rsigma eval -r rule.yml events.jsonl | Regeln gegen Log Events evaluieren |
rsigma correlate rules/ events.jsonl | Korrelationsregeln über Events ausführen |
rsigma serve | Starten Sie den Streaming Evaluierungs Daemon |
rsigma lsp | Führen Sie den Language Server für Editor-Integration aus |
rsigma mcp | Führen Sie den MCP Server für AI-Agent Zugriff aus |
rsigma --help | Vollständige Befehlsreferenz |
Linting
# Lint ein Regelverzeichnis, fehlschlagen bei Fehlern (CI-freundlich)
rsigma lint rules/ --fail-on error
# Qualitätsbewertungen über Dimensionen anzeigen
rsigma lint rules/windows/ --format json
| Dimension | Prüfungen |
|---|
| Syntax | Gültiges Sigma Schema/AST |
| Metadaten | title, id, status, level vorhanden |
| Logik | Detection/Bedingung Konsistenz |
| Feldnutzung | Bekannte Felder, Taxonomie Einhaltung |
| Best Practices | Benaming, False-Positive Notizen |
| Portabilität | Backend-kompatible Konstrukte |
Konvertierung (Detection-as-Code)
RSigma kompiliert eine Sigma Regel in viele SIEM Abfragesprachen.
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
| Flag | Zweck |
|---|
-t, --target | Backend/Abfragesprache |
-p, --pipeline | Wenden Sie eine Verarbeitungs-Pipeline an (Feldmapping) |
-o, --output | In eine Datei schreiben |
--format | Ausgabeformat für Batch-Konvertierungen |
Evaluierung & Korrelation
# Regeln direkt gegen einen JSONL Event Stream abgleichen
rsigma eval -r rules/ events.jsonl --format json
# Multi-Event Korrelation (z.B. N Ausfälle dann Erfolg)
rsigma correlate -r correlation_rules/ events.jsonl
| Fähigkeit | Nutzung |
|---|
| Direkte Evaluierung | Regeln auf echten Telemetriedaten ohne SIEM testen |
| Korrelation | Zeitliche/Aggregations Regeln über Events |
| Streaming Daemon | rsigma serve evaluiert Live Event Streams |
| AST Caching | Kompilierte Matcher für Geschwindigkeit wiederverwendet |
Editor & Agent Integration
| Server | Zweck |
|---|
rsigma lsp | Autovervollständigung, Diagnose, Hover in Editoren |
rsigma mcp | Exponiere Sigma Tooling für AI Agents über MCP |
CI/CD Pattern
# In einer Detection-as-Code Pipeline:
rsigma lint rules/ --fail-on error # gate on quality
rsigma eval -r rules/ test-telemetry.jsonl # verify rules fire
rsigma convert -t sentinel -o out/ rules/ # compile for deployment
| Aspekt | RSigma | sigma-cli (pySigma) |
|---|
| Sprache | Rust | Python |
| Umfang | Konvertieren + Lint + Eval + Korrelieren + Serve | Konvertieren (+ Plugins) |
| Live Evaluierung | Built-in Streaming Daemon | Extern |
| Editor/Agent | LSP + MCP Server | Keine |
| Beste für | End-to-End Detection-as-Code | Konvertierungs-fokussierte Workflows |
Ressourcen