Управление моделями¶
Раздел Модели предназначен для регистрации, настройки и мониторинга моделей искусственного интеллекта, которые тестируются в AppSec.GenAI на устойчивость к атакам.
Прежде чем запускать сканирование, необходимо зарегистрировать целевую модель, настроить параметры подключения и убедиться, что модель доступна и отвечает корректно.
Типы моделей¶
AppSec.GenAI поддерживает три типа моделей:
| Тип | Описание | Примеры |
|---|---|---|
| LLM | Большие языковые модели для генерации и обработки текста | GPT-4o, Claude, GigaChat, YandexGPT |
| CV | Модели компьютерного зрения для классификации и распознавания изображений | ResNet-50, VGG-19 |
| SPEECH | Модели распознавания речи | Whisper |
Категории моделей¶
На первом шаге регистрации необходимо выбрать категорию модели:
- Анализируемая модель — целевая модель, к которой будут применяться атаки.
- Системная модель — вспомогательная модель платформы, используемая внутренними сервисами AppSec.GenAI (например, в стратегиях оценки ответов).
Регистрация модели¶
Регистрация модели выполняется через мастер из трёх шагов: Тип модели → Настройка API → Проверка.
- В боковом меню откройте раздел Модели.
- Нажмите кнопку Добавить. Откроется мастер создания модели.
Шаг 1. Тип модели¶
-
Выберите категорию модели — Анализируемая или Системная.
-
Заполните основные поля:
Поле Значение Описание Имя модели Произвольное Отображаемое имя модели Тип модели LLM,CVилиSPEECHТип модели определяет применимые атаки Версия например, v1.0Версия модели Описание Произвольное Опционально -
Нажмите Далее.
Шаг 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-контракта и устраните несоответствие.
Запуск тестового запроса¶
-
Заполните параметры тестового запроса:
Поле Описание Тестовый промпт (для LLM) Произвольный текст промпта для отправки модели Тестовое изображение (для CV) Изображение для отправки модели Таймаут (секунды) По умолчанию 60 -
Нажмите кнопку Проверить модель.
-
Дождитесь результата на вкладке Результат:
- При успешном ответе отображается статус Готова к сканированию, время отклика в миллисекундах и текст ответа модели.
- При ошибке изучите сообщение, а также раскройте блоки Детали запроса и Детали ответа для диагностики.
История проверок¶
На вкладке История сохраняются все ранее выполненные проверки модели с возможностью просмотра деталей запроса и ответа.
API-контракт на карточке модели¶
В разделе API-контракт отображаются текущие настройки взаимодействия с моделью.
Группа «Подключение»¶
| Поле | Описание |
|---|---|
| API Endpoint | Адрес API модели |
| Тип аутентификации | Например, bearer |
| Заголовок авторизации | Имя HTTP-заголовка (по умолчанию Authorization) |
| API-ключ | Текущий ключ (отображается как маска ****) |
Группа «Запрос и ответ»¶
| Поле | Описание |
|---|---|
| Шаблон запроса (JSON) | Тело HTTP-запроса с плейсхолдерами |
| Путь ответа (JSONPath) | Путь извлечения текста ответа из JSON |
| Путь ошибки (JSONPath) | Путь извлечения сообщения об ошибке из JSON (по умолчанию error.message) |
Дополнительные настройки¶
Кнопка Дополнительные настройки раскрывает блок с параметрами: HTTP метод, Таймаут (мс), Макс. повторов, Дополнительные заголовки (JSON).
Для изменения любого параметра нажмите кнопку Редактировать в шапке раздела «API-контракт».
Редактирование модели¶
Для редактирования модели:
- Откройте карточку модели из раздела Модели.
- В нужном разделе («Основная информация» или «API-контракт») нажмите кнопку Редактировать.
- Внесите изменения.
- Сохраните изменения.
Локальные модели¶
В 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-контракте.