Назад к обновлениям
New releaseSep 9, 2026

detection-rules dev-v2.2.0

Разрабатывайте, проверяйте и публикуйте правила обнаружения SIEM для Elastic Security, с инструментами Python CLI, разбором KQL, интеграцией с Kibana и готовыми запросами для поиска угроз.

Поделиться

Supported Python versions Unit Tests Chat ATT&CK navigator coverage

Detection Rules

Detection Rules — это хранилище правил, используемых Elastic Security. Этот репозиторий используется для разработки, сопровождения, тестирования, проверки и выпуска правил для Detection Engine — механизма обнаружения Elastic Security.

Впервые этот репозиторий был анонсирован в блоге Elastic: Elastic Security открывает публичный репозиторий правил обнаружения. Дополнительные материалы см. в сопутствующем вебинаре Elastic Security: представление публичного репозитория правил обнаружения.

Table of Contents

Overview of this repository

Detection Rules содержит не только статические файлы правил. В этом репозитории также находится код для создания конвейеров Detections-as-Code, модульного тестирования на Python и интеграции с Detection Engine в Kibana.

folderdescription
detection_rules/Python-модуль для разбора, проверки и упаковки правил
etc/Прочие файлы, например схемы ECS и Beats, а также файлы конфигурации
hunting/Корневой каталог, где хранятся пакет и запросы для охоты за угрозами
kibana/Python-библиотека для работы с API-вызовами к Kibana и Detection Engine
kql/Python-библиотека для разбора и проверки Kibana Query Language
rules/Корневой каталог, где хранятся правила
rules_building_block/Корневой каталог, где хранятся building block правила (правила-строительные блоки)
tests/Python-код для модульного тестирования правил

Getting started

Хотя правила можно добавлять, вручную создавая .toml-файлы, мы не рекомендуем так делать. Этот репозиторий также содержит Python-модуль, который помогает создавать правила и проводить модульное тестирование. Если у вас установлен Python 3.12+, выполните приведённую ниже команду, чтобы установить зависимости с помощью 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...
...

Или установите зависимости с помощью следующей команды:

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

Примечание: пакеты kibana и kql недоступны на PyPI и должны устанавливаться из каталога lib. Пакет hunting имеет опциональные зависимости, которые устанавливаются командой 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

Не забывайте активировать ваше виртуальное окружение, если вы его используете. При установке через make соответствующее виртуальное окружение создаётся в env/detection-rules-build/. Если у вас возникли проблемы с использованием окружения Python 3.12, обратитесь к соответствующему разделу в нашем руководстве по устранению неполадок.

Чтобы убедиться, что всё установлено правильно, выполните команду с флагом --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.

Категории