Volver a actualizaciones
Nuevo releaseSep 9, 2026

detection-rules dev-v2.2.0

Desarrolla, valida y publica reglas de detección SIEM para Elastic Security, con herramientas CLI de Python, parseo de KQL, integración con Kibana y consultas de threat hunting empaquetadas.

Compartir

Supported Python versions Unit Tests Chat ATT&CK navigator coverage

Reglas de detección

Detection Rules es el hogar de las reglas utilizadas por Elastic Security. Este repositorio se utiliza para el desarrollo, mantenimiento, pruebas, validación y publicación de reglas para el Motor de Detección de Elastic Security.

Este repositorio se anunció por primera vez en la publicación del blog de Elastic, Elastic Security abre un repositorio público de reglas de detección. Para contenido adicional, consulte el seminario web que lo acompaña, Elastic Security: Presentación del repositorio público de reglas de detección.

Tabla de contenidos

Resumen de este repositorio

Detection Rules contiene más que simples archivos de reglas estáticas. Este repositorio también contiene código para crear canalizaciones de detección como código, pruebas unitarias en Python e integración con el Motor de Detección en Kibana.

folderdescription
detection_rules/Módulo de Python para el análisis, validación y empaquetado de reglas
etc/Archivos diversos, como esquemas de ECS y Beats, y archivos de configuración
hunting/Directorio raíz donde se almacenan el paquete y las consultas de caza de amenazas
kibana/Biblioteca de Python para manejar las llamadas API a Kibana y al Motor de Detección
kql/Biblioteca de Python para analizar y validar el Lenguaje de Consulta de Kibana
rules/Directorio raíz donde se almacenan las reglas
rules_building_block/Directorio raíz donde se almacenan las reglas de bloques de construcción
tests/Código de Python para pruebas unitarias de reglas

Primeros pasos

Aunque las reglas se pueden agregar creando manualmente archivos .toml, no lo recomendamos. Este repositorio también consta de un módulo de Python que ayuda en la creación de reglas y las pruebas unitarias. Suponiendo que tenga Python 3.12+, ejecute el siguiente comando para instalar las dependencias usando el 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...
...

O instale las dependencias usando el siguiente 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: Los paquetes kibana y kql no están disponibles en PyPI y deben instalarse desde el directorio lib. El paquete hunting tiene dependencias opcionales que se instalan 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

Recuerde asegurarse de activar su entorno virtual si está usando uno. Si instaló mediante make, el entorno virtual asociado se crea en env/detection-rules-build/. Si tiene problemas con un entorno Python 3.12, consulte la sección correspondiente en nuestra guía de solución de problemas.

Para confirmar que todo se instaló correctamente, ejecute con la opción --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.

Categorías