RSigma - Hoja de Referencia del Kit de Detección Sigma en Rust
RSigma es un kit de herramientas completo y de alto rendimiento en Rust para el estándar de ingeniería de detección Sigma. Analiza reglas Sigma en YAML hacia un AST fuertemente tipado, las compila en comparadores optimizados y las evalúa contra eventos de registro en tiempo real. Más allá de la conversión (el trabajo clásico de Sigma), RSigma agrupa un analizador, un linter, un motor de evaluación y correlación, un demonio de runtime de streaming, y servidores MCP y LSP — lo que lo convierte en una base integral para pipelines de detección-como-código.
Instalación
| Método | Comando |
|---|
| Cargo | cargo install rsigma |
| Desde el código fuente | git clone https://github.com/timescale/rsigma && cd rsigma && cargo build --release |
| Binario | descarga desde la página de GitHub Releases |
| Verificar | rsigma --version |
Subcomandos Principales
| Comando | Descripción |
|---|
rsigma lint rules/ | Validar y puntuar la calidad de las reglas Sigma |
rsigma convert -t splunk rule.yml | Convertir una regla a un lenguaje de consulta de destino |
rsigma eval -r rule.yml events.jsonl | Evaluar reglas contra eventos de registro |
rsigma correlate rules/ events.jsonl | Ejecutar reglas de correlación entre eventos |
rsigma serve | Iniciar el demonio de evaluación en streaming |
rsigma lsp | Ejecutar el Language Server para integración con editores |
rsigma mcp | Ejecutar el servidor MCP para acceso de agentes de IA |
rsigma --help | Referencia completa de comandos |
Linting
# Analizar un directorio de reglas, fallar ante errores (apto para CI)
rsigma lint rules/ --fail-on error
# Mostrar puntuaciones de calidad por dimensión
rsigma lint rules/windows/ --format json
| Dimensión | Comprueba |
|---|
| Sintaxis | AST/esquema Sigma válido |
| Metadatos | title, id, status, level presentes |
| Lógica | Consistencia de detección/condición |
| Uso de campos | Campos conocidos, cumplimiento de la taxonomía |
| Buenas prácticas | Nomenclatura, notas de falsos positivos |
| Portabilidad | Construcciones compatibles con el backend |
Conversión (Detección-como-Código)
RSigma compila una regla Sigma a muchos lenguajes de consulta de 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
| Flag | Propósito |
|---|
-t, --target | Backend/lenguaje de consulta |
-p, --pipeline | Aplicar un pipeline de procesamiento (mapeos de campos) |
-o, --output | Escribir a un archivo |
--format | Formato de salida para conversiones por lotes |
Evaluación y Correlación
# Comparar reglas directamente contra un flujo de eventos JSONL
rsigma eval -r rules/ events.jsonl --format json
# Correlación de múltiples eventos (p. ej. N fallos seguidos de un éxito)
rsigma correlate -r correlation_rules/ events.jsonl
| Capacidad | Uso |
|---|
| Evaluación directa | Probar reglas sobre telemetría real sin un SIEM |
| Correlación | Reglas temporales/de agregación entre eventos |
| Demonio de streaming | rsigma serve evalúa flujos de eventos en vivo |
| Caché de AST | Comparadores compilados reutilizados para mayor velocidad |
Integración con Editores y Agentes
| Servidor | Propósito |
|---|
rsigma lsp | Autocompletado, diagnósticos, hover en editores |
rsigma mcp | Exponer las herramientas Sigma a agentes de IA vía MCP |
Patrón CI/CD
# En un pipeline de detección-como-código:
rsigma lint rules/ --fail-on error # controlar por calidad
rsigma eval -r rules/ test-telemetry.jsonl # verificar que las reglas se disparen
rsigma convert -t sentinel -o out/ rules/ # compilar para el despliegue
| Aspecto | RSigma | sigma-cli (pySigma) |
|---|
| Lenguaje | Rust | Python |
| Alcance | Convertir + lint + eval + correlación + serve | Convertir (+ plugins) |
| Evaluación en vivo | Demonio de streaming integrado | Externo |
| Editor/agente | Servidores LSP + MCP | Ninguno |
| Mejor para | Detección-como-código de extremo a extremo | Flujos centrados en conversión |
Recursos