Активное действие для оркестрации реагирования: по срабатыванию инцидента запускает на агенте BI.ZONE EDR одну или несколько задач реагирования и назначает их на нужного агента. Позволяет из карточки инцидента Smart Monitor сразу выполнить ответное действие на хосте — без ручного перехода в консоль BI.ZONE.
Скрипт run_edr_task.py получает параметры из команды активного действия и из результата SML-запроса, берёт описания задач из справочника (lookup) EDR, оставляет только указанные задачи, подставляет в их параметры значения из инцидента (например, PID процесса или путь в реестре) и запускает их через API BI.ZONE.
Что внутри
object/run_edr_task.py — точка входа: разбор аргументов, чтение конфигурации и секретов, вызов TaskRunner.object/taskrunner.py — класс TaskRunner: получение задач из lookup EDR (get_tasks), фильтрация по именам (filter_tasks_by_names), подстановка значений в параметры (replaced_task_param), назначение и запуск задач через API BI.ZONE (run_task, run_tasks_batch).object/loggermanager.py — класс LoggerManager, настройка файлового лога edr_tasks_logs.log.object/config.json — имя справочника EDR с задачами BI.ZONE (lookup_edr, по умолчанию dim_bizone_task).
Параметры команды активного действия
--dev-id — идентификатор агента (dev_id) из результата SML-запроса, передаётся как {{_source.dev_id}}.--param-names — имена параметров, значения которых нужно заменить в задаче (те же имена, что в поле parameters задачи, регистр не важен).--param-values — значения для подстановки, обычно из результата запроса, например {{_source.pid}}.--tasks — имена задач из справочника EDR, которые нужно запустить.
Пример команды:
python3 /app/opensearch/utils/scripts/run_edr_task.py \
--dev-id {{_source.dev_id}} \
--param-names reg_path pid \
--param-values {{_source.reg_path}} {{_source.pid}} \
--tasks '[BZ] [Win] Remove registry key/value' '[BZ] [Win] Kill process by PID'