Skip to content

Введение

API NRunner в серверном репозитории документируется в каталоге netrunner-server/docs/nrunner. Для локального окружения там используется базовый URL:

text
http://127.0.0.1:3002/api/v1

В клиенте все запросы также строятся относительно /api/v1.

Что входит в текущую API-поверхность

По документации из netrunner-server/docs сервер описывает следующие группы маршрутов:

  • auth — вход, обновление токена, выход;
  • admin — первичная инициализация администратора и проверка его наличия;
  • users — CRUD пользователей и GET /users/me;
  • hosts — список, карточка, обновление, удаление, массовое удаление, пакеты инвентаризации;
  • groups — список, карточка, создание, изменение и удаление групп;
  • templates — список, карточка, создание, редактирование, запуск, включение расписания, diff, удаление;
  • tasks — активные и архивные задачи, карточка задачи, отмена, удаление и задачи шаблона;
  • reports — отчёты по pentest, agent-inventory, whitebox, ddos, а также diff-эндпоинты;
  • credentials — список, создание и удаление учётных данных;
  • deploy — операции с агентом на хосте;
  • ping — проверка цели или сети;
  • logs — получение логов и списка лог-файлов;
  • healthcheckliveness и readiness;
  • websocket — потоки событий по задачам и агентам.

Общие правила

  • Почти все маршруты, кроме первичной инициализации администратора и healthcheck, требуют bearer-токен.
  • В серверной документации авторизация настроена как Authorization: Bearer .
  • Идентификаторы в маршрутах обычно передаются как :host_id, :group_id, :template_id, :task_id, :asset_id.
  • Для списков часто используются query-параметры limit и page, а также фильтры по имени, типу или связанному asset.

Что важно учитывать при работе с документацией

  • Для задач актуальная API-модель завязана не на прямое POST /tasks, а на шаблоны, запуск шаблонов и получение отчётов по задачам.

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