agentsclimarketplace

Sigma backends

Skill timescale/sigma-backends

Convert, evaluate, and deploy Sigma detection rules across SIEM backends. Covers sigma-cli (pySigma) for converting rules to Splunk SPL, Elasticsearch Lucene/ES|QL, Microsoft Sentinel KQL, QRadar AQL, CrowdStrike, and 20+ other backends. Covers rsigma for direct real-time evaluation against JSON events, linting (65 rules with --fix), validation, and running a detection daemon with correlation, hot-reload, and Prometheus metrics. Includes pipeline-to-backend mapping for ECS, Splunk CIM, Sysmon, and other field schemas. Use this skill whenever the user mentions converting Sigma rules, Sigma backends, sigma-cli, rsigma, SIEM queries, SPL, KQL, Lucene, AQL, LEQL, field mapping, ECS mapping, CIM mapping, detection engineering tooling, or asks how to run, test, validate, lint, or deploy Sigma rules -- even if they don't explicitly name a tool.From its SKILL.md

Install
npx -y skills add timescale/sigma-backends

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.3 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Sigma Backends

Two tools for working with Sigma rules after authoring:

  • sigma-cli (Python/pySigma): converts rules into backend-specific queries (SPL, Lucene, KQL, etc.) for import into a SIEM
  • rsigma (Rust): evaluates rules directly against JSON log events in real time -- no SIEM required

Both support processing pipelines for field name mapping between generic Sigma fields and backend-specific schemas.


sigma-cli Quick Start

Install

pip install sigma-cli

Install a Backend Plugin

sigma plugin install splunk

Convert Rules

sigma convert -t splunk -p sysmon rules/windows/process_creation/
sigma convert -t elasticsearch -p ecs_windows -f kibana_ndjson rules/
sigma convert -t kusto -p sentinel_asim rules/

List Available Backends, Formats, and Pipelines

sigma plugin list -t backend     # all available backend plugins
sigma list targets               # locally installed backends
sigma list formats splunk        # output formats for a backend
sigma list pipelines             # available processing pipelines

Check Rules

sigma check rules/               # validate rule syntax

For the full sigma-cli command reference, see references/sigma-cli.md.


rsigma Quick Start

Install

cargo install rsigma

Evaluate Events

# Single event (inline JSON)
rsigma eval -r rules/ -e '{"CommandLine": "cmd /c whoami"}'

# Stream NDJSON from stdin
cat events.ndjson | rsigma eval -r rules/

# With a processing pipeline
rsigma eval -r rules/ -p ecs.yml -e '{"process.command_line": "whoami"}'

# Read events from a file
rsigma eval -r rules/ -e @events.ndjson

Lint Rules

rsigma lint rules/                        # 65 built-in lint rules
rsigma lint rules/ --fix                  # auto-fix 13 safe rules
rsigma lint rules/ --schema default       # + JSON schema validation
rsigma lint rules/ --disable missing_description,missing_author

Validate Rules

rsigma validate rules/ -v                 # verbose validation
rsigma validate rules/ -p ecs.yml         # validate with pipeline

Run Detection Daemon

# Long-running daemon with hot-reload, health checks, and Prometheus metrics
hel run | rsigma daemon -r rules/ -p ecs.yml --api-addr 0.0.0.0:9090

# With correlation state persistence
hel run | rsigma daemon -r rules/ -p ecs.yml --state-db ./state.db

# With suppression and correlation event inclusion
rsigma daemon -r rules/ --suppress 5m --correlation-event-mode full

For the full rsigma CLI reference, see references/rsigma.md.


Backend Selection Guide

SIEM / ToolBackend IDPipelineQuery LanguageState
Splunksplunksplunk_cim_dm / splunk_windowsSPLStable
Elasticsearchelasticsearchecs_windowsLucene / ES|QL / EQLStable
OpenSearchopensearchecs_windowsLuceneStable
Microsoft Sentinelkustosentinel_asimKQLStable
CrowdStrike Falconcrowdstrike(built-in)CrowdStrike queryStable
IBM QRadarqradar / ibm-qradar-aql(built-in)AQLStable
Rapid7 InsightIDRinsightidr(built-in)LEQLStable
Grafana Lokiloki(built-in)LogQLStable
Carbon Blackcarbonblack(built-in)CB queryStable
Cortex XDRcortexxdr(built-in)XQLStable
SentinelOnesentinelone(built-in)Deep VisibilityStable
Logpointlogpoint(built-in)Logpoint queryStable
Google SecOpssecops(built-in)UDM / YARA-L 2.0Development
rsigma (direct eval)N/Aany pipeline YAMLJSON match outputStable

For the full list of 25+ backends with install commands, see references/backends.md.

Choosing Between sigma-cli and rsigma

Use CaseTool
Import rules into an existing SIEMsigma-cli (converts to native query language)
Evaluate rules against JSON events in real timersigma eval
Run a detection daemon alongside a log collectorrsigma daemon
Lint and validate rule syntaxrsigma lint (65 rules, auto-fix)
CI/CD rule validationrsigma lint + rsigma validate
Batch convert rules for multiple SIEMssigma-cli with different -t targets

End-to-End Workflows

Convert a Rule to Splunk SPL

# Install the Splunk backend
sigma plugin install splunk

# Convert with Sysmon pipeline
sigma convert -t splunk -p sysmon rules/windows/process_creation/shadow_copy_deletion.yml

# Convert as saved search config
sigma convert -t splunk -p sysmon -f savedsearches -o saved.conf rules/

# With backend options
sigma convert -t splunk -p sysmon -O index=main rules/

Convert a Rule to Elasticsearch

sigma plugin install elasticsearch

# Lucene query (default)
sigma convert -t elasticsearch -p ecs_windows rules/

# ES|QL format
sigma convert -t elasticsearch -p ecs_windows -f esql rules/

# Kibana NDJSON (importable)
sigma convert -t elasticsearch -p ecs_windows -f kibana_ndjson -o export.ndjson rules/

Convert a Rule to Microsoft Sentinel KQL

sigma plugin install kusto

# ASIM pipeline
sigma convert -t kusto -p sentinel_asim rules/

Evaluate a Rule Against Live Events (rsigma)

# Single event test
rsigma eval -r rules/ -p ecs.yml -e '{"process.command_line": "vssadmin delete shadows /all"}'

# Stream from file with full event in output
rsigma eval -r rules/ -p ecs.yml --include-event -e @events.ndjson

# With jq extraction from wrapped events
rsigma eval -r rules/ --jq '.event' -e '{"ts":"...","event":{"CommandLine":"whoami"}}'

Lint and Fix a Rule Directory (rsigma)

# Lint all rules
rsigma lint rules/

# Auto-fix safe issues (lowercase keys, remove duplicates, etc.)
rsigma lint rules/ --fix

# Lint with JSON schema validation
rsigma lint rules/ --schema default

# Lint with custom config
rsigma lint rules/ --config .rsigma-lint.yml

Run a Detection Daemon with Correlation (rsigma)

# Basic daemon -- reads NDJSON from stdin, outputs matches to stdout
hel run | rsigma daemon -r rules/ -p ecs.yml

# With correlation state persistence (survives restarts)
hel run | rsigma daemon \
  -r rules/ \
  -p ecs.yml \
  --state-db /var/lib/rsigma/state.db \
  --suppress 5m \
  --action reset \
  --api-addr 0.0.0.0:9090

# Health and metrics
curl http://localhost:9090/healthz           # {"status": "ok"}
curl http://localhost:9090/metrics           # Prometheus format
curl http://localhost:9090/api/v1/status     # full daemon status
curl -X POST http://localhost:9090/api/v1/reload  # hot-reload rules

Pipeline Selection

Pipelines transform Sigma rule fields to match your backend's data model. Stack multiple pipelines with repeated -p flags.

Common Patterns

Data ModelPipelineUse With
Elastic Common Schema (ECS)ecs_windowselasticsearch, opensearch, rsigma
Splunk Common Information Modelsplunk_cim_dmsplunk
Splunk Windows TAsplunk_windowssplunk
Sysmon field namessysmonany backend
Microsoft Sentinel ASIMsentinel_asimkusto

Stacking Pipelines

Pipelines run in priority order (lower priority number = runs first):

# Log source pipeline (priority 10) + backend pipeline (priority 50)
sigma convert -t splunk -p sysmon -p splunk_cim_dm rules/

# rsigma: same stacking with -p
rsigma eval -r rules/ -p sysmon.yml -p ecs.yml -e '...'

Custom Pipelines

Write your own pipeline YAML for organization-specific field mappings:

name: My Organization ECS
priority: 20
transformations:
  - type: field_name_mapping
    mapping:
      CommandLine: process.command_line
      Image: process.executable
      User: user.name
    rule_conditions:
      - type: logsource
        product: windows

For detailed pipeline-to-SIEM mapping and field mapping tables, see references/pipeline-mapping.md.


Additional References

What ships with it: 5 files

27.4 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,696. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.