Verdict / Возможности
Описание функциональных возможностей
MLSecOps и DataSecOps, результаты с оценкой DREAD, реестр объектов, интеграции и развёртывание.
Verdict
Версия Next
1. Введение
1.1 Назначение платформы
Verdict — платформа проверки безопасности систем машинного обучения и связанных с ними данных. Платформа объединяет практики MLSecOps (проверка моделей, API инференса, ML CI/CD и происхождения моделей) и DataSecOps (наборы данных, табличные данные, базы данных и RAG-контуры), предоставляет единый веб-интерфейс для запуска проверок, просмотра результатов, ведения реестра объектов и выгрузки отчётов, а также REST API для автоматизации.
По итогам сканирования формируется итоговый показатель риска DREAD (шкала 0–10) и вердикт: Допуск, Разбор или Блок.
1.2 Область применения
Платформа предназначена для on-prem / корпоративного контура организаций, разрабатывающих, внедряющих или эксплуатирующих ML-модели и сервисы (в том числе LLM, мультимодальные и речевые модели, компьютерное зрение, системы поддержки решений), а также контуры работы с данными и RAG.
Типовые сценарии: приёмка модели перед релизом, регулярные проверки инференс-API на устойчивость к jailbreak и смежным атакам, контроль происхождения моделей (provenance), оценка качества и устойчивости данных, комплексная проверка RAG (атака / защита / оценка).
1.3 Терминология и сокращения
| Термин | Определение |
|---|---|
| MLSecOps | Практики безопасности жизненного цикла ML-моделей и ML-сервисов |
| DataSecOps | Практики безопасности и качества данных, таблиц, СУБД и RAG |
| DREAD | Модель оценки риска (Damage, Reproducibility, Exploitability, Affected users, Discoverability); в Verdict сводится к итоговому баллу 0–10 |
| Вердикт | Итоговое решение по скану: Допуск / Разбор / Блок |
| ModelScan | Проверка файлов и пакетов моделей на опасные конструкции и артефакты |
| Jailbreak | Атаки на обход политик и ограничений языковой модели |
| Provenance | Проверка происхождения / сходства модели (ML-референс) |
| RAG | Retrieval-Augmented Generation — генерация с поиском по векторной базе |
| ASR | Automatic Speech Recognition — сценарии речевых / poison-атак |
| OWASP Top 10 LLM | Перечень рисков безопасности для приложений на базе LLM |
| SPA | Single Page Application — веб-интерфейс Verdict |
| CI/CD | Continuous Integration / Continuous Delivery |
2. Функциональные возможности
2.1 Управление сканированиями
Сканирование — основная единица работы в платформе: именованная проверка выбранного объекта (модель, API, данные, RAG) выбранным методом. Сканирования создаются через визард Новое сканирование, отображаются в общем списке со статусами (В очереди, Выполняется, Завершено, Ошибка, Отменено, Не проверялось), фильтрами и поиском.
Из строки списка доступны: повторный запуск (новая запись или прогон поверх той же — для MLSecOps), остановка активной задачи, скачивание отчётов, просмотр результата, удаление (в том числе групповое). Список обновляется автоматически, пока есть активные задачи.
Перед запуском для ряда методов доступна проверка подключения (API, БД, S3/MinIO, RAG). Запуск ограничивается действующей лицензией и квотами доменов MLSecOps / DataSecOps.
2.2 MLSecOps — проверка моделей и ML-сервисов
Вид сканирования MLSECOPS предназначен для проверки ML-моделей и сервисов инференса.
| Метод | Назначение |
|---|---|
| ML-модели (сканирование файла) | Проверка файлов / пакетов модели (ModelScan): загрузка с диска или из S3 / MinIO; можно выбрать объект из реестра |
| Cloud API | Проверка внешнего API инференса, в том числе категории jailbreak (CLASSIC, DAN, EXTRACTION, HARMFUL); профили Verdict / EchoVerdict; платформы (в т.ч. OpenAI, Anthropic, Hugging Face, Сбербанк, Google, частная); Bearer / HTTP Basic |
| ML CI/CD | Проверка ML-сервиса по адресу приложения с учётом типа модели (CV, LLM, MLLM, речь, RS и др.) |
| ML-референс | Сканирование происхождения модели и сравнение двух моделей (HF ID / S3, Top-K, THRESHOLD) |
Поддерживаемые типы моделей (в визарде и реестре): CV, LLM, MLLM, SPEACH (речь / ASR), RS, JBAudit (Jailbreak Audit). Для речевых и CV-сценариев в результате отображаются соответствующие артефакты (аудио и транскрипции, галереи изображений).
2.3 DataSecOps — проверка данных и RAG
Вид сканирования DATASECOPS предназначен для проверки данных и RAG-контуров.
| Метод | Назначение |
|---|---|
| Наборы данных | Анализ загруженного набора (выбросы, сдвиг распределения, куртозис и связанные метрики) |
| Таблицы | Табличная атака / Data Shift: модель, целевой столбец, CSV; наборы тестовых сценариев |
| Базы данных | Проверка подключения и данных СУБД (PostgreSQL, MySQL, MS SQL) |
| RAG | Комплексный прогон (в т.ч. механизмы Hijack и связанные атаки): RAG-сервис, Qdrant, Attack / Defense; опционально внешний LLM из реестра |
Для RAG после прогона доступны сравнение ответов «до / после», таблица механизмов, оценка успешности атак и выгрузка отчётов. Qdrant и внешний RAG-хост могут развёртываться отдельно от базовой поставки.
2.4 Результаты, DREAD и вердикт
По завершении скана открывается панель результата (сокращённый drawer или полный вид): метаданные, итоговый DREAD, вердикт, секции по типу проверки (атаки, jailbreak, OWASP Top 10 LLM, provenance, RAG, ASR, CV и др.).
| Вердикт | Смысл |
|---|---|
| Допуск | Риск в допустимой зоне |
| Разбор | Требуется разбор / усиленный контроль |
| Блок | Высокий / критический риск |
Зоны визуализации: зелёная / жёлтая / красная. Для файловых сканов (ModelScan) вердикт может определяться по находкам независимо от наличия числового DREAD.
2.5 Реестр объектов
Реестр объектов хранит переиспользуемые сущности для визарда сканирования:
| Вид | Содержимое |
|---|---|
| МО-файл | Файлы / веса модели |
| МО-API | Адрес инференса (Cloud API или ML CI/CD) |
| База данных | Параметры подключения СУБД |
| БД для RAG | Параметры RAG, Qdrant, attack / defense |
Поддерживаются создание, редактирование, удаление, проверка подключения, фильтры по статусу проверок и колонка DREAD / вердикт последнего скана.
2.6 Аналитика и отчётность
Раздел Аналитика показывает сводку за период (24 часа, 7 дней, 30 дней, 1 год):
- KPI: всего сканирований, завершённые, ошибки, средний DREAD, отчёты;
- графики статусов и динамики рисков;
- таблицы активных сканирований и последних результатов (включая DREAD / вердикт).
Отчёты и артефакты скачиваются из строки скана и из панели результата. Набор зависит от метода и может включать DOCX, PDF, JSON, CSV, логи выполнения, аннотированные / сдвинутые CSV, TXT-сводки, снимки и сырые ответы API. В полном виде результата доступна печать (где предусмотрено).
2.7 База знаний
Справочный раздел без запуска атак:
- Атаки — каталог методов по секциям Cloud API, ML CI/CD, наборы данных, таблицы, базы данных, RAG (атака, категория, тип, воздействие, условия, направленность, данные);
- Сигналы — описание сигналов происхождения модели и блок Формула скоринга (Identity Score, Tokenizer Score) для ML-референса.
2.8 Лицензирование и квоты
Лицензия на основе JWT ограничивает срок действия и число сканирований по доменам MLSecOps и DataSecOps (использовано / лимит или без ограничений). Активация и продление доступны администратору и суперпользователю через интерфейс. При отсутствии лицензии, истечении срока или исчерпании квоты запуск сканов отклоняется.
3. Методы и типы проверок
3.1 MLSecOps
| Метод | Объект проверки | Характер результата |
|---|---|---|
| Сканирование файла (ModelScan) | Файлы / пакеты модели, S3 | Находки, критичность, вердикт |
| Cloud API | HTTP(S) инференс | Jailbreak и связанные атаки, DREAD, OWASP LLM |
| ML CI/CD | Endpoint приложения | Атаки по типу модели (в т.ч. CV, речь, RS) |
| ML-референс | Модель / пара моделей | Сигналы provenance, сравнение, скоринг |
3.2 DataSecOps
| Метод | Объект проверки | Характер результата |
|---|---|---|
| Наборы данных | Файл набора | Метрики аномалий и распределений |
| Таблицы (Data Shift) | CSV + модель | Сдвиг / устойчивость табличных данных |
| Базы данных | СУБД | Probe и проверки данных |
| RAG | RAG + Qdrant (+ Attack/Defense) | Механизмы атак, ответы до/после, оценка |
3.3 Типы моделей
| Код | Название |
|---|---|
| CV | Компьютерное зрение |
| LLM | Большие языковые модели |
| MLLM | Мультимодальные модели |
| SPEACH | Распознавание и синтез речи |
| RS | Интеллектуальная поддержка решений |
| JBAudit | Jailbreak Audit |
4. Веб-интерфейс
4.1 Основные разделы
| Раздел | Назначение |
|---|---|
| Аналитика | KPI, графики, активные и последние сканы |
| Сканирование | Список, визард, запуск / остановка, результаты, отчёты |
| Реестр объектов | МО-файл, МО-API, БД, БД для RAG |
| База знаний | Каталог атак и сигналы provenance |
| Настройки | Пользователи и журнал аудита (только администраторы) |
| Лицензия | Статус, квоты, активация (для администраторов) |
4.2 Работа со сканированиями
Список сканов с вкладками (Все, Проверенные, Не проверялись, Высокий риск, Ошибки, Отменённые), поиском и сортировкой. Визард из двух шагов: выбор вида (MLSecOps / DataSecOps) → метод и параметры объекта. Результат — выезжающая панель или полный экран с рейлом метрик и динамическими секциями.
4.3 Дополнительные возможности интерфейса
Переключение светлой и тёмной темы, локализация (русский / английский), карточка учётной записи с ролью и статусом лицензии.
5. Интеграционные возможности
5.1 HTTP API
Платформа предоставляет REST API под префиксом /api/v1/ (проксируется через nginx поставки): аутентификация и профиль, лицензия, аналитика, сканы (создание, запуск, отмена, probe), реестр моделей/объектов, MLSecOps и DataSecOps, provenance, RAG, каталоги атак и сигналов, пользователи и аудит (для администраторов), отчёты.
Типовая аутентификация SPA — получение токена через API (/api/token/ и связанные ручки сессии). API используется тем же контуром, что и веб-интерфейс, и пригоден для автоматизации из CI/CD и внешних систем.
5.2 Внешние сервисы и источники
| Интеграция | Назначение |
|---|---|
| S3 / MinIO | Источник крупных моделей для файлового скана |
| Hugging Face | Идентификаторы моделей для provenance (при необходимости токен) |
| Cloud LLM / API | Цели Cloud API и внешний LLM для RAG Attack |
| Qdrant | Векторная БД для RAG (вне базовой поставки) |
| Attack / Defense | Sidecar-сервисы комплексного прогона RAG |
5.3 CI/CD
Запуск и контроль сканов через REST API позволяют встраивать Verdict в конвейеры сборки и приёмки моделей (блокировка или разбор по вердикту / DREAD — на стороне политики заказчика).
6. Безопасность и доступ
6.1 Аутентификация и роли
Доступ к веб-интерфейсу и API защищён аутентификацией. Типы учётных записей:
| Тип | Описание |
|---|---|
| Суперпользователь | Полный доступ; создаётся при развёртывании, не через форму SPA |
| Администратор | Рабочие разделы + Настройки (пользователи, аудит), активация лицензии |
| Пользователь | Аналитика, сканирование, реестр, база знаний; настройки скрыты |
Разграничение применяется на уровне меню и API: прямой переход в закрытый раздел показывает экран «Доступ закрыт».
6.2 Журнал аудита
Администраторы ведут Журнал аудита: события входа/выхода, неуспешной авторизации, запуска сканов и проверок данных, создания / изменения / удаления пользователей, смены пароля и др. Доступны фильтр по периоду и типу действия, поиск и сортировка.
6.3 Защита данных и контура
Пароли хранятся в виде криптографических хешей. Рекомендуется размещать стенд за HTTPS-прокси организации. Секреты окружения (SECRET_KEY, пароли БД, токены) задаются в .env установки и не публикуются наружу. Sidecar-сервисы не публикуют порты на хост — наружу открыт только порт nginx поставки.
6.4 Лицензирование
Лицензия на базе JWT; импорт через интерфейс. Ограничения по сроку и квотам доменов MLSecOps / DataSecOps применяются при активации и при запуске сканов.
7. Варианты развёртывания
7.1 Docker Compose (основной способ)
Клиентская поставка: готовые образы из registry и установочный скрипт:
curl -fsSL https://sdlplatform.ru/verdict/install.sh | bash
Скрипт создаёт каталог установки, .env, выполняет docker compose pull / up -d. Наружу публикуется один порт (PORT, по умолчанию 13000). В состав стенда входят nginx, SPA, Verdict (Django API), PostgreSQL, acoustic-poisoner, modelscaner-fastapi, model-drift-attack / defense и сервис наполнения весов drift.
7.2 Обновление
Повторный запуск install.sh при существующем .env обновляет версию (TAG), compose и образы. Данные PostgreSQL и файловые тома сохраняются при обычной остановке без -v.
7.3 Изолированные и корпоративные среды
Образы могут раздаваться из корпоративного registry. Qdrant и внешние LLM подключаются адресами в .env. Для работы за HTTPS-прокси настраиваются BEHIND_HTTPS_PROXY и CSRF_TRUSTED_ORIGINS.
8. Технические характеристики
8.1 Требования к системе (ориентир)
| Параметр | Значение |
|---|---|
| Операционная система | Linux x86_64 |
| Контейнеризация | Docker 24+, Docker Compose v2 |
| Свободное место | Рекомендуется не менее ~40 ГБ (веса drift ~16 ГБ) |
| Сеть | Доступ к registry поставщика при установке / обновлении; открыт порт PORT |
| Дополнительно | curl, openssl; учётка registry |
8.2 Состав сервисов (логическая схема)
| Компонент | Роль |
|---|---|
| nginx | Единая точка входа: SPA + API |
| frontend | React SPA |
| verdict | Django API, файлы результатов, админка |
| verdict-db | PostgreSQL |
| modelscaner-fastapi | ModelScan |
| acoustic-poisoner | Речевые / ASR-атаки |
| model-drift-attack / defense | RAG Attack / Defense |
| models | Наполнение volume весов drift |
9. Сопутствующая документация
| Документ | Содержание |
|---|---|
| Руководство пользователя | Работа в SPA: сканы, результаты, реестр, аналитика, база знаний |
| Руководство администратора | Установка через install.sh, окружение, лицензия, пользователи, аудит, диагностика |
| Release Notes | Изменения по версиям поставки (2.0.0+) |
