Torna agli aggiornamenti
New releaseSep 9, 2026

detection-rules dev-v2.2.0

Sviluppa, valida e pubblica regole di rilevamento SIEM per Elastic Security, con strumenti CLI Python, parsing KQL, integrazione Kibana e query di threat hunting preconfigurate.

Condividi

Supported Python versions Unit Tests Chat ATT&CK navigator coverage

Detection Rules

Detection Rules è il luogo in cui risiedono le regole utilizzate da Elastic Security. Questo repository viene utilizzato per lo sviluppo, la manutenzione, i test, la validazione e il rilascio delle regole per il Detection Engine di Elastic Security.

Questo repository è stato annunciato per la prima volta nel post del blog di Elastic, Elastic Security apre il repository pubblico delle regole di rilevamento. Per ulteriori contenuti, consulta il webinar correlato, Elastic Security: introduzione al repository pubblico per le regole di rilevamento.

Indice

Panoramica di questo repository

Detection Rules contiene molto più che semplici file di regole statiche. Questo repository include anche codice per la creazione di pipeline Detections-as-code, test unitari in Python e l'integrazione con il Detection Engine in Kibana.

folderdescription
detection_rules/Modulo Python per l'analisi, la validazione e il confezionamento delle regole
etc/File vari, come gli schemi ECS e Beats e i file di configurazione
hunting/Directory principale in cui sono memorizzati i pacchetti e le query di threat hunting
kibana/Libreria Python per gestire le chiamate API a Kibana e al Detection Engine
kql/Libreria Python per l'analisi e la validazione del Kibana Query Language
rules/Directory principale in cui sono memorizzate le regole
rules_building_block/Directory principale in cui sono memorizzate le regole building block
tests/Codice Python per i test unitari delle regole

Per iniziare

Anche se le regole possono essere aggiunte creando manualmente file .toml, non lo consigliamo. Questo repository include anche un modulo Python che facilita la creazione delle regole e i test unitari. Supponendo che tu abbia Python 3.12+, esegui il comando seguente per installare le dipendenze usando il makefile:

✗ make
python3.12 -m pip install --upgrade pip setuptools
Looking in indexes: https://pypi.org/simple
Requirement already satisfied: pip in /opt/homebrew/lib/python3.12/site-packages (24.0)
Requirement already satisfied: setuptools in /opt/homebrew/lib/python3.12/site-packages (69.1.1)
python3.12 -m venv ./env/detection-rules-build
./env/detection-rules-build/bin/pip install --upgrade pip setuptools
Looking in indexes: https://pypi.org/simple
Requirement already satisfied: pip in ./env/detection-rules-build/lib/python3.12/site-packages (24.0)
Collecting setuptools
  Using cached setuptools-69.1.1-py3-none-any.whl.metadata (6.2 kB)
Using cached setuptools-69.1.1-py3-none-any.whl (819 kB)
Installing collected packages: setuptools
Successfully installed setuptools-69.1.1
Installing kql and kibana packages...
...

Oppure installa le dipendenze usando il seguente comando:

$ pip3 install ".[dev]"
Collecting jsl==0.2.4
  Downloading jsl-0.2.4.tar.gz (21 kB)
Collecting jsonschema==3.2.0
  Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
     |████████████████████████████████| 56 kB 318 kB/s
Collecting requests==2.22.0
  Downloading requests-2.22.0-py2.py3-none-any.whl (57 kB)
     |████████████████████████████████| 57 kB 1.2 MB/s
Collecting Click==7.0
  Downloading Click-7.0-py2.py3-none-any.whl (81 kB)
     |████████████████████████████████| 81 kB 2.6 MB/s
...

Nota: i pacchetti kibana e kql non sono disponibili su PyPI e devono essere installati dalla directory lib. Il pacchetto hunting ha dipendenze opzionali da installare con pip3 install ".[hunting]".


# Install from the repository
pip3 install git+https://github.com/elastic/detection-rules.git#subdirectory=lib/kibana
pip3 install git+https://github.com/elastic/detection-rules.git#subdirectory=lib/kql

# Or locally for development
pip3 install lib/kibana lib/kql

Ricorda di attivare il tuo ambiente virtuale se ne utilizzi uno. Se hai installato tramite make, l'ambiente virtuale associato viene creato in env/detection-rules-build/. Se hai problemi con un ambiente Python 3.12, consulta la sezione pertinente nella nostra guida alla risoluzione dei problemi.

Per confermare che tutto sia stato installato correttamente, esegui con il flag --help

$  python -m detection_rules --help

Usage: detection_rules [OPTIONS] COMMAND [ARGS]...

  Commands for detection-rules repository.

Options:
  -D, --debug / -N, --no-debug  Print full exception stacktrace on errors
  -h, --help                    Show this message and exit.

Categorie