sigma-cli
Outil en ligne de commande pour la gestion des règles de détection Sigma. Convertit les règles Sigma vers des langages de requête SIEM : Splunk, Elasticsearch, QRadar, ArcSight, et plus encore. Command-line tool for Sigma detection rule management. Converts Sigma rules to SIEM query languages — Splunk, Elasticsearch, QRadar, ArcSight, and more.
↗ https://github.com/SigmaHQ/sigma-cliOverview
sigma-cli is the official command-line tool for working with Sigma detection rules. Sigma is an open, vendor-neutral SIEM rule format — sigma-cli converts rules to specific SIEM query languages (Splunk SPL, Elasticsearch DSL, QRadar AQL, etc.) and manages rule collections.
Installation
pip3 install sigma-cli
# Install backend plugins for specific SIEMs
pip3 install pySigma-backend-splunk
pip3 install pySigma-backend-elasticsearch
pip3 install pySigma-backend-qradar
Basic Usage
Convert a Sigma rule to Splunk query
sigma convert -t splunk -p splunk-windows rule.yml
Convert to Elasticsearch
sigma convert -t elasticsearch -p ecs-windows rule.yml
Convert directory of rules
sigma convert -t splunk -p splunk-windows /path/to/rules/
List available backends (SIEMs)
sigma list backends
List available processing pipelines
sigma list pipelines
Sigma Rule Format
# Example Sigma rule structure
title: Suspicious PowerShell Encoded Command
id: 5b572db9-0234-4b4a-a254-8be3d2bd3264
status: experimental
description: Detects PowerShell with encoded command execution
author: Security Team
date: 2024/01/15
tags:
- attack.execution
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- '-EncodedCommand'
- '-enc '
- '-ec '
condition: selection
falsepositives:
- Legitimate administration scripts
level: medium
Backend-Specific Conversion
Splunk (Windows)
sigma convert -t splunk -p splunk-windows rule.yml
Splunk (Linux)
sigma convert -t splunk -p splunk-linux rule.yml
Elasticsearch ECS
sigma convert -t elasticsearch -p ecs-windows rule.yml
Lucene query (for Kibana)
sigma convert -t lucene -p ecs-windows rule.yml
QRadar
sigma convert -t qradar -p qradar-windows rule.yml
Microsoft Sentinel (KQL)
sigma convert -t microsoft365defender rule.yml
Rule Management
Check rule syntax
sigma check rule.yml
Check directory of rules
sigma check /path/to/rules/
Format/lint rules
sigma format rule.yml
List rule metadata
sigma list rules /path/to/rules/
Downloading Official Rule Sets
Clone the official Sigma rules repository
git clone https://github.com/SigmaHQ/sigma /opt/sigma
Convert all Windows rules to Splunk
sigma convert -t splunk -p splunk-windows \
/opt/sigma/rules/windows/ \
-o splunk_windows_rules.spl
# Convert only high/critical severity rules
find /opt/sigma/rules/ -name "*.yml" -exec grep -l "level: critical\|level: high" {} \; > high_rules.txt
sigma convert -t splunk -p splunk-windows $(cat high_rules.txt) -o high_priority.spl
Tips
- sigma-cli is the bridge between rule writing and SIEM deployment
- Always validate rules with
sigma checkbefore deployment - The official Sigma rule repo has 2000+ detection rules covering MITRE ATT&CK
- For Splunk users: install the
pySigma-backend-splunkplugin for best results
Help / Man page
sigma [command] [options]
Commands:
convert Convert rules to SIEM query language
check Validate Sigma rules
format Format and normalize rules
list List backends, pipelines, or rules
convert options:
-t BACKEND Target backend (SIEM)
-p PIPELINE Processing pipeline
-o FILE Output file
-f FORMAT Output format
list options:
backends Show available backends
pipelines Show available pipelines
rules DIR List rules in directory
Vue d’ensemble
sigma-cli est l’outil en ligne de commande officiel pour travailler avec les règles de détection Sigma. Sigma est un format de règle SIEM ouvert et agnostique du vendeur : sigma-cli convertit les règles vers des langages de requête SIEM spécifiques (Splunk SPL, Elasticsearch DSL, QRadar AQL, etc.) et gère les collections de règles.
Installation
pip3 install sigma-cli
# Installer des plugins backend pour des SIEM spécifiques
pip3 install pySigma-backend-splunk
pip3 install pySigma-backend-elasticsearch
pip3 install pySigma-backend-qradar
Utilisation de base
# Convertir une règle Sigma en requête Splunk
sigma convert -t splunk -p splunk-windows rule.yml
# Convertir vers Elasticsearch
sigma convert -t elasticsearch -p ecs-windows rule.yml
# Convertir un répertoire de règles
sigma convert -t splunk -p splunk-windows /path/to/rules/
# Lister les backends disponibles (SIEM)
sigma list backends
# Lister les pipelines de traitement disponibles
sigma list pipelines
Format de règle Sigma
# Exemple de structure de règle Sigma
title: Suspicious PowerShell Encoded Command
id: 5b572db9-0234-4b4a-a254-8be3d2bd3264
status: experimental
description: Detects PowerShell with encoded command execution
author: Security Team
date: 2024/01/15
tags:
- attack.execution
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- '-EncodedCommand'
- '-enc '
- '-ec '
condition: selection
falsepositives:
- Legitimate administration scripts
level: medium
Conversion spécifique par backend
# Splunk (Windows)
sigma convert -t splunk -p splunk-windows rule.yml
# Splunk (Linux)
sigma convert -t splunk -p splunk-linux rule.yml
# Elasticsearch ECS
sigma convert -t elasticsearch -p ecs-windows rule.yml
# Requête Lucene (pour Kibana)
sigma convert -t lucene -p ecs-windows rule.yml
# QRadar
sigma convert -t qradar -p qradar-windows rule.yml
# Microsoft Sentinel (KQL)
sigma convert -t microsoft365defender rule.yml
Gestion des règles
# Vérifier la syntaxe d'une règle
sigma check rule.yml
# Vérifier un répertoire de règles
sigma check /path/to/rules/
# Formater/linter les règles
sigma format rule.yml
# Lister les métadonnées des règles
sigma list rules /path/to/rules/
Télécharger les jeux de règles officiels
# Cloner le dépôt officiel des règles Sigma
git clone https://github.com/SigmaHQ/sigma /opt/sigma
# Convertir toutes les règles Windows en Splunk
sigma convert -t splunk -p splunk-windows \
/opt/sigma/rules/windows/ \
-o splunk_windows_rules.spl
# Convertir uniquement les règles de sévérité haute/critique
find /opt/sigma/rules/ -name "*.yml" -exec grep -l "level: critical\|level: high" {} \; > high_rules.txt
sigma convert -t splunk -p splunk-windows $(cat high_rules.txt) -o high_priority.spl
Conseils
- sigma-cli fait le pont entre l’écriture des règles et leur déploiement en SIEM
- Toujours valider les règles avec
sigma checkavant déploiement - Le dépôt officiel de règles Sigma compte plus de 2000 règles de détection couvrant MITRE ATT&CK
- Pour les utilisateurs Splunk : installer le plugin
pySigma-backend-splunkpour de meilleurs résultats
Aide / Page de manuel
sigma [command] [options]
Commands:
convert Convert rules to SIEM query language
check Validate Sigma rules
format Format and normalize rules
list List backends, pipelines, or rules
convert options:
-t BACKEND Target backend (SIEM)
-p PIPELINE Processing pipeline
-o FILE Output file
-f FORMAT Output format
list options:
backends Show available backends
pipelines Show available pipelines
rules DIR List rules in directory