RSigma - Kit de Detecção Rust Sigma
RSigma é um kit completo e de alto desempenho em Rust para o padrão de detecção Sigma. Ele analisa regras Sigma YAML em uma AST fortemente tipada, as compila em correspondências otimizadas e as avalia contra eventos de log em tempo real. Além de conversão (o trabalho clássico do Sigma), RSigma agrupa um analisador, linter, mecanismo de avaliação e correlação, um daemon de tempo de execução de streaming e servidores MCP e LSP — tornando-o uma fundação completa para pipelines de detecção como código.
Instalação
| Método | Comando |
|---|
| Cargo | cargo install rsigma |
| A partir do código-fonte | git clone https://github.com/timescale/rsigma && cd rsigma && cargo build --release |
| Binário | faça download da página de Releases do GitHub |
| Verificar | rsigma --version |
Subcomandos Principais
| Comando | Descrição |
|---|
rsigma lint rules/ | Valide e classifique a qualidade das regras Sigma |
rsigma convert -t splunk rule.yml | Converta uma regra para uma linguagem de query de destino |
rsigma eval -r rule.yml events.jsonl | Avalie regras contra eventos de log |
rsigma correlate rules/ events.jsonl | Execute regras de correlação entre eventos |
rsigma serve | Inicie o daemon de avaliação de streaming |
rsigma lsp | Execute o Servidor de Linguagem para integração de editor |
rsigma mcp | Execute o servidor MCP para acesso de agente AI |
rsigma --help | Referência de comando completa |
Linting
# Analise um diretório de regras, falhe em erros (amigável para CI)
rsigma lint rules/ --fail-on error
# Mostre pontuações de qualidade entre dimensões
rsigma lint rules/windows/ --format json
| Dimensão | Verificações |
|---|
| Sintaxe | Schema Sigma válido/AST |
| Metadados | title, id, status, level presentes |
| Lógica | Consistência de detecção/condição |
| Uso de campo | Campos conhecidos, conformidade de taxonomia |
| Melhores práticas | Nomenclatura, notas de falsos positivos |
| Portabilidade | Construções compatíveis com backend |
Conversão (Detecção como Código)
RSigma compila uma regra Sigma para muitas linguagens de query 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/linguagem de query |
-p, --pipeline | Aplique um pipeline de processamento (mapeamentos de campo) |
-o, --output | Escreva para um arquivo |
--format | Formato de saída para conversões em lote |
Avaliação e Correlação
# Corresponda regras diretamente contra um stream de eventos JSONL
rsigma eval -r rules/ events.jsonl --format json
# Correlação multi-evento (ex: N falhas depois sucesso)
rsigma correlate -r correlation_rules/ events.jsonl
| Capacidade | Uso |
|---|
| Avaliação direta | Teste regras em telemetria real sem um SIEM |
| Correlação | Regras temporais/agregação entre eventos |
| Daemon de streaming | rsigma serve avalia streams de eventos em tempo real |
| Cache de AST | Correspondências compiladas reutilizadas para velocidade |
Editor e Integração de Agente
| Servidor | Propósito |
|---|
rsigma lsp | Autocompletar, diagnósticos, hover em editores |
rsigma mcp | Exponha ferramentas Sigma para agentes AI via MCP |
Padrão CI/CD
# Em um pipeline de detecção como código:
rsigma lint rules/ --fail-on error # gate na qualidade
rsigma eval -r rules/ test-telemetry.jsonl # verifique que as regras disparam
rsigma convert -t sentinel -o out/ rules/ # compile para implantação
| Aspecto | RSigma | sigma-cli (pySigma) |
|---|
| Linguagem | Rust | Python |
| Escopo | Converter + lint + eval + correlate + serve | Converter (+ plugins) |
| Avaliação em tempo real | Daemon de streaming integrado | Externo |
| Editor/agente | Servidores LSP + MCP | Nenhum |
| Melhor para | Pipeline de detecção como código end-to-end | Workflows focados em conversão |
Recursos