Retour aux mises à jour
New releaseSep 9, 2026

detection-rules dev-v2.2.0

Développez, validez et publiez des règles de détection SIEM pour Elastic Security, avec un outillage CLI Python, l'analyse KQL, l'intégration Kibana et des requêtes packagées de chasse aux menaces.

Partager

Supported Python versions Unit Tests Chat ATT&CK navigator coverage

Detection Rules

Detection Rules est le référentiel des règles utilisées par Elastic Security. Ce dépôt est utilisé pour le développement, la maintenance, les tests, la validation et la publication des règles du moteur de détection d'Elastic Security.

Ce dépôt a été annoncé pour la première fois dans l'article de blog d'Elastic, Elastic Security ouvre un dépôt public de règles de détection. Pour plus de contenu, voir le webinaire qui l'accompagne, Elastic Security : présentation du dépôt public des règles de détection.

Table des matières

Vue d'ensemble de ce dépôt

Detection Rules ne contient pas uniquement des fichiers de règles statiques. Ce dépôt contient également du code pour construire des pipelines Detections-as-code, pour les tests unitaires en Python et pour l'intégration avec le moteur de détection dans Kibana.

folderdescription
detection_rules/Module Python pour l'analyse, la validation et l'empaquetage des règles
etc/Fichiers divers, tels que les schémas ECS et Beats et les fichiers de configuration
hunting/Répertoire racine où sont stockés le package et les requêtes de threat hunting
kibana/Bibliothèque Python pour gérer les appels API vers Kibana et le moteur de détection
kql/Bibliothèque Python pour analyser et valider le Kibana Query Language
rules/Répertoire racine où sont stockées les règles
rules_building_block/Répertoire racine où sont stockées les règles de type building block
tests/Code Python pour les tests unitaires des règles

Pour commencer

Bien que des règles puissent être ajoutées en créant manuellement des fichiers .toml, nous ne le recommandons pas. Ce dépôt contient également un module Python qui facilite la création de règles et les tests unitaires. Si vous disposez de Python 3.12+, exécutez la commande ci-dessous pour installer les dépendances à l'aide du 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...
...

Ou installez les dépendances à l'aide de la commande suivante :

$ 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
...

Remarque : les packages kibana et kql ne sont pas disponibles sur PyPI et doivent être installés depuis le répertoire lib. Le package hunting possède des dépendances optionnelles à installer avec 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

N'oubliez pas d'activer votre environnement virtuel si vous en utilisez un. Si vous avez installé via make, l'environnement virtuel associé est créé dans env/detection-rules-build/. Si vous rencontrez des difficultés avec un environnement Python 3.12, consultez la section correspondante de notre guide de dépannage.

Pour confirmer que tout a été correctement installé, exécutez la commande avec l'option --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.

Catégories