Skip to content

Шаблоны, задачи и отчёты

В актуальной серверной документации основной рабочий сценарий строится вокруг шаблонов, запуска шаблонов и последующего чтения отчётов по задачам.

Шаблоны

МетодПутьНазначение
GET/templatesПолучить список шаблонов.
POST/templatesСоздать шаблон.
GET/templates/{template_id}Получить шаблон.
PUT/templates/{template_id}Обновить шаблон.
DELETE/templates/{template_id}Удалить шаблон.
DELETE/templatesМассово удалить шаблоны.
POST/templates/{template_id}/startЗапустить шаблон.
PUT/templates/scheduleВключить или выключить расписание шаблона.
GET/templates/{template_id}/diffПолучить diff по шаблону.
GET/templates/{template_id}/tasksПолучить задачи, созданные из шаблона.

Фильтры списка шаблонов

  • name
  • type

Примеры типов в серверной документации

По примерам из docs/nrunner/template серверная документация покрывает как минимум:

  • pentest
  • whitebox
  • agent-inventory
  • ddos

Пример создания шаблона

json
{
  "name": "weekly-pentest",
  "type": 5,
  "assets": [1],
  "groups": [],
  "params": {
    "white_box": {
      "credential_id": 2
    }
  },
  "enabled": true
}

Задачи

МетодПутьНазначение
GET/tasks/activeПолучить активные задачи.
GET/tasks/archivedПолучить архивные задачи.
GET/tasks/{task_id}Получить карточку задачи.
POST/tasks/{task_id}/cancelОтменить задачу.
DELETE/tasksМассово удалить задачи по ids.

Для списков задач в серверной документации описаны query-параметры:

  • type
  • name
  • status
  • limit
  • page

Отчёты по задачам

Серверная документация описывает большой блок report-эндпоинтов.

Общая точка входа

МетодПутьНазначение
GET/tasks/{task_id}/reportПолучить envelope отчёта задачи.

Pentest

МетодПуть
GET/tasks/{task_id}/report/pentest/overview
GET/tasks/{task_id}/report/pentest/cves
GET/tasks/{task_id}/report/pentest/ports
GET/tasks/{task_id}/report/pentest/finding-groups
GET/tasks/{task_id}/report/pentest/findings/{finding_id}
GET/tasks/{task_id}/report/pentest/export

Agent Inventory

МетодПуть
GET/tasks/{task_id}/report/agent-inventory/overview
GET/tasks/{task_id}/report/agent-inventory/assets
GET/tasks/{task_id}/report/agent-inventory/assets/{report_asset_id}/packages
GET/tasks/{task_id}/report/agent-inventory/export

WhiteBox

МетодПуть
GET/tasks/{task_id}/report/whitebox/overview
GET/tasks/{task_id}/report/whitebox
GET/tasks/{task_id}/report/whitebox/assets/{asset_id}/findings
GET/tasks/{task_id}/report/whitebox/export

DDoS

МетодПуть
GET/tasks/{task_id}/report/ddos/overview

Diff-отчёты

Дополнительно в серверной документации есть маршруты сравнения:

МетодПуть
GET/reports/diff/pentest/assets/{asset_id}
GET/reports/diff/agent-inventory/assets/{asset_id}
GET/reports/diff/whitebox/assets/{asset_id}

Они используют query-параметры current_task_id и, при необходимости, previous_task_id.

Документация NRunner