Перейти к содержанию

Управление моделями

Раздел Модели предназначен для регистрации, настройки и мониторинга моделей искусственного интеллекта, которые тестируются в AppSec.GenAI на устойчивость к атакам.

Прежде чем запускать сканирование, необходимо зарегистрировать целевую модель, настроить параметры подключения и убедиться, что модель доступна и отвечает корректно.


Типы моделей

AppSec.GenAI поддерживает три типа моделей:

Тип Описание Примеры
LLM Большие языковые модели для генерации и обработки текста GPT-4o, Claude, GigaChat, YandexGPT
CV Модели компьютерного зрения для классификации и распознавания изображений ResNet-50, VGG-19
SPEECH Модели распознавания речи Whisper

Категории моделей

На первом шаге регистрации необходимо выбрать категорию модели:

  • Анализируемая модель — целевая модель, к которой будут применяться атаки.
  • Системная модель — вспомогательная модель платформы, используемая внутренними сервисами AppSec.GenAI (например, в стратегиях оценки ответов).

Регистрация модели

Регистрация модели выполняется через мастер из трёх шагов: Тип модели → Настройка API → Проверка.

  1. В боковом меню откройте раздел Модели.
  2. Нажмите кнопку Добавить. Откроется мастер создания модели.

Шаг 1. Тип модели

  1. Выберите категорию модели — Анализируемая или Системная.

  2. Заполните основные поля:

    Поле Значение Описание
    Имя модели Произвольное Отображаемое имя модели
    Тип модели LLM, CV или SPEECH Тип модели определяет применимые атаки
    Версия например, v1.0 Версия модели
    Описание Произвольное Опционально
  3. Нажмите Далее.

Шаг 2. Настройка API

На этом шаге настраивается способ взаимодействия AppSec.GenAI с моделью.

Выбор шаблона провайдера

В поле Провайдер доступны следующие варианты:

Провайдер Описание
Anthropic Claude LLM от Anthropic
DeepSeek LLM от DeepSeek
HuggingFace Inference API HuggingFace
OpenAI (ChatGPT, GPT-4) LLM от OpenAI
Sber GigaChat LLM от Сбер
Yandex GPT LLM от Яндекс
Custom (свой контракт) Произвольная модель с настройкой контракта вручную

После выбора шаблона провайдера поля API Endpoint, Тип аутентификации, Шаблон запроса (JSON) и Путь к ответу (JSONPath) заполняются автоматически.

Поля API-контракта

Поле Описание
API Endpoint Адрес API модели
Тип аутентификации Способ передачи ключа (например, Bearer Token)
API Ключ / Токен API-ключ для авторизации
Шаблон запроса (JSON) Тело HTTP-запроса с плейсхолдером для подстановки данных атаки
Путь к ответу (JSONPath) Путь к тексту ответа модели в JSON-структуре ответа

Плейсхолдеры

В поле Шаблон запроса (JSON) используется плейсхолдер, зависящий от типа модели:

  • LLM: {{prompt}} — система заменит его на текст атаки при каждом запросе.
  • CV: {{image_file}} — для CV-моделей используется формат multipart/form-data с полем file.

Двойные фигурные скобки

Плейсхолдер пишется с двойными фигурными скобками: {{prompt}}, {{image_file}}. Одиночные скобки ({prompt}) система не распознаёт.

Дополнительные настройки

При необходимости раскройте блок Дополнительные настройки и скорректируйте:

  • HTTP метод (по умолчанию POST),
  • Таймаут (мс) (по умолчанию 60000),
  • Макс. повторов (по умолчанию 3),
  • Дополнительные заголовки (JSON).

После заполнения нажмите Далее.

Шаг 3. Проверка

Завершите работу мастера. После сохранения модель появится в разделе Модели и станет доступна для проверки подключения и сканирования.


Карточка модели

Для просмотра подробной информации о модели нажмите на её строку в таблице раздела Модели. Откроется карточка модели.

В заголовке карточки отображаются:

  • Имя модели.
  • Бейдж текущего статуса (например, active).
  • Кнопка Скачать отчёт последнего скана — выгрузка отчёта по последнему сканированию данной модели.

Карточка содержит три раздела:

  • Основная информация — имя, версия, описание.
  • Проверка модели — проверка подключения к модели.
  • API-контракт — параметры подключения и формат запросов.

В разделах Основная информация и API-контракт доступна кнопка Редактировать для изменения соответствующих полей.


Проверка модели

После регистрации модели необходимо убедиться, что она доступна и отвечает корректно. Проверка выполняется на карточке модели в разделе Проверка модели.

Проверка контракта

В блоке Проверка контракта автоматически отображаются результаты валидации настроек:

  • auth_type — корректность типа аутентификации.
  • request_format.prompt_field — наличие плейсхолдера в шаблоне запроса.
  • response_format.response_field — корректность пути извлечения ответа.

Если какая-либо проверка завершилась с ошибкой, отредактируйте поля API-контракта и устраните несоответствие.

Запуск тестового запроса

  1. Заполните параметры тестового запроса:

    Поле Описание
    Тестовый промпт (для LLM) Произвольный текст промпта для отправки модели
    Тестовое изображение (для CV) Изображение для отправки модели
    Таймаут (секунды) По умолчанию 60
  2. Нажмите кнопку Проверить модель.

  3. Дождитесь результата на вкладке Результат:

    • При успешном ответе отображается статус Готова к сканированию, время отклика в миллисекундах и текст ответа модели.
    • При ошибке изучите сообщение, а также раскройте блоки Детали запроса и Детали ответа для диагностики.

История проверок

На вкладке История сохраняются все ранее выполненные проверки модели с возможностью просмотра деталей запроса и ответа.


API-контракт на карточке модели

В разделе API-контракт отображаются текущие настройки взаимодействия с моделью.

Группа «Подключение»

Поле Описание
API Endpoint Адрес API модели
Тип аутентификации Например, bearer
Заголовок авторизации Имя HTTP-заголовка (по умолчанию Authorization)
API-ключ Текущий ключ (отображается как маска ****)

Группа «Запрос и ответ»

Поле Описание
Шаблон запроса (JSON) Тело HTTP-запроса с плейсхолдерами
Путь ответа (JSONPath) Путь извлечения текста ответа из JSON
Путь ошибки (JSONPath) Путь извлечения сообщения об ошибке из JSON (по умолчанию error.message)

Дополнительные настройки

Кнопка Дополнительные настройки раскрывает блок с параметрами: HTTP метод, Таймаут (мс), Макс. повторов, Дополнительные заголовки (JSON).

Для изменения любого параметра нажмите кнопку Редактировать в шапке раздела «API-контракт».


Редактирование модели

Для редактирования модели:

  1. Откройте карточку модели из раздела Модели.
  2. В нужном разделе («Основная информация» или «API-контракт») нажмите кнопку Редактировать.
  3. Внесите изменения.
  4. Сохраните изменения.

Локальные модели

В AppSec.GenAI предустановлены модели с локально размещёнными весами для whitebox-атак. Их можно использовать без регистрации и настройки API-контракта:

Модель Тип Назначение
ResNet50-ImageNet CV Классификация изображений (1000 классов ImageNet)
VGG19-ImageNet CV Классификация изображений (1000 классов ImageNet)
Whisper-Base SPEECH Распознавание речи (базовая версия)
Whisper-Small SPEECH Распознавание речи (более точная версия)

В таблице моделей такие модели отображаются с типом доступа Локальная.


Системные модели

Системные модели — вспомогательные модели, используемые внутренними сервисами AppSec.GenAI. Для просмотра системных моделей в разделе Модели переключитесь на вкладку Системные модели.

Типичный пример системной модели — LLM Judge (модель-судья), используемая в стратегиях оценки ответов Orchestrator и LLM Judge в профилях сканирования.


Устранение неполадок

Проверка модели завершается ошибкой

Возможные причины и действия:

  • Недоступен API-эндпоинт — проверьте поле API Endpoint в API-контракте; убедитесь, что адрес доступен из сети AppSec.GenAI.
  • Истёк или некорректный API-ключ — обновите API Ключ / Токен через редактирование API-контракта.
  • Истёк таймаут запроса — увеличьте значение Таймаут (мс) в блоке «Дополнительные настройки» API-контракта.

Блок «Проверка контракта» показывает ошибку

В разделе Проверка модели блок Проверка контракта отмечает поля API-контракта со статусом ошибки. Откройте раздел API-контракт, нажмите Редактировать и устраните несоответствие в указанном поле.

Типичные ошибки:

  • request_format.prompt_field — отсутствует обязательный плейсхолдер {{prompt}} (для LLM) или {{image_file}} (для CV) в Шаблоне запроса (JSON).
  • response_format.response_field — поле Путь ответа (JSONPath) некорректно или указывает на несуществующее значение в реальном ответе модели.

Модель отвечает, но текст ответа пустой

Поле Путь ответа (JSONPath) не соответствует структуре ответа модели. Выполните проверку модели, в результате раскройте блок Детали ответа и сверьте структуру JSON с указанным путём. При необходимости отредактируйте поле в API-контракте.