Функциональные возможности¶
AppSec.GenAI предоставляет комплекс функциональных возможностей для тестирования безопасности AI/ML-моделей. В данном разделе описаны все функции платформы, сгруппированные по областям.
Тестирование LLM (Jailbreak)¶
Тестирование больших языковых моделей на устойчивость к jailbreak-атакам — основная функция платформы.
Типы атак на LLM¶
Jailbreak-тестирование поддерживает 19 attacker-техник, каждая из которых использует свою стратегию обхода защитных механизмов модели:
| Тип атаки | Описание | Сложность | Эффективность |
|---|---|---|---|
| Plain | Прямая отправка промптов без трансформаций из библиотеки (916 промптов) | Низкая | Средняя |
| Roleplay | Ролевые сценарии: AI Avatar, DAN, Evil Character, Anime Persona, Expert Persona, Fictional Character, Future Reality, Game Master, Sci-Fi Setting | Средняя | Высокая |
| Encoding | Кодирование промптов (Base64, ROT13, Hex, Morse и др.) | Средняя | Средняя |
| Obfuscation | Обфускация текста (zero-width, typo injection, disemvowel и др.) | Средняя | Средняя |
| Unified Pipeline | Многоступенчатые цепочки трансформаций | Высокая | Высокая |
| Crescendo | Многоходовые атаки с постепенной эскалацией контекста | Высокая | Высокая |
| BreakFun | Jailbreak через юмористический контекст | Средняя | Средняя |
| Function Injection | Эксплуатация механизма вызова функций (tool use) | Высокая | Высокая |
| DoubleSpeak | Representation Hijacking — двусмысленность и эвфемизмы для маскировки запроса | Средняя | Средняя |
| CAMO | Cross-Modal Obfuscation (text-only) — кросс-модальная обфускация | Высокая | Высокая |
| Taxonomy tactics (9) | Набор тактик: instruction_override, output_format, persuasion, task_deflection, text_structure, semantic_hijacking, icl, noise_flooding, data_instructions | Средняя--Высокая | Средняя |
Unified Pipeline¶
Ключевая возможность платформы — произвольные многоступенчатые пайплайны трансформаций:
graph LR
subgraph S1["Этап 1: Обфускация"]
O["word_divider<br/>zero_width"]
end
subgraph S2["Этап 2: Кодирование"]
E["rot13<br/>base64<br/>hex"]
end
subgraph S3["Этап 3: Ролевой"]
R["DAN<br/>AIM"]
end
P["Промпт"] --> O
O --> E
E --> R
R --> V["N вариантов"]
classDef cluster fill:transparent,stroke:transparent
class S1,S2,S3 cluster
19 техник трансформации, организованные в две категории (роли — это отдельные attacker-техники):
| # | Техника | Назначение |
|---|---|---|
| 1 | base64 |
Кодирование Base64 |
| 2 | rot13 |
Шифр ROT13 |
| 3 | caesar |
Шифр Цезаря с настраиваемым сдвигом |
| 4 | hex |
Шестнадцатеричное кодирование |
| 5 | morse |
Код Морзе (с поддержкой русского языка) |
| 6 | leetspeak |
Замена символов в стиле l33t |
| 7 | unicode_escape |
Unicode-экранирование |
| 8 | html_entity |
HTML-сущности |
| 9 | atbash |
Шифр Атбаш (зеркальный алфавит) |
| 10 | binary |
Двоичное кодирование (8 или 16 бит) |
| # | Техника | Назначение |
|---|---|---|
| 1 | zero_width |
Вставка невидимых (zero-width) символов |
| 2 | disemvowel |
Удаление гласных букв |
| 3 | typo_injection |
Внедрение случайных опечаток |
| 4 | word_divider |
Разделение символов пробелами |
| 5 | vertical_text |
Вертикальная запись текста |
| 6 | reverse_words |
Реверс порядка слов |
| 7 | past_tense |
Преобразование времени глагола |
| 8 | json_wrap |
Оборачивание текста в JSON |
| 9 | translation_chain |
Цепочка переводов через несколько языков |
Ролевые сценарии
Ролевые сценарии (9 техник: AI Avatar, DAN, Evil Character, Anime Persona, Expert Persona, Fictional Character, Future Reality, Game Master, Sci-Fi Setting) реализованы как отдельный attacker-тип roleplay в jailbreak-сервисе. В рамках Unified Pipeline к ним можно обращаться как к стадии типа roleplay. Полный список вариантов см. в Управление профилями — Ролевые игры.
Режимы композиции трансформаций¶
| Режим | Поведение | Количество вариантов |
|---|---|---|
parallel |
Каждая техника создаёт отдельный вариант + оригинал | N техник + 1 |
sequential |
Техники применяются последовательно (цепочка) | 1 |
none |
Применяется только первая техника | 1 |
Пример генерации вариантов
Пайплайн из 3 этапов:
- Этап 1: обфускация (1 техника,
none) → 1 вариант. - Этап 2: кодирование (2 техники,
parallel) → 3 варианта (1 + 2). - Этап 3: ролевые (2 техники,
parallel) → 9 вариантов (3 * 3).
Итого: 1 промпт → 9 уникальных вариантов атаки.
Crescendo — многоходовые атаки¶
Crescendo — особый тип атаки, использующий многоходовую стратегию:
- Начинается с невинного запроса.
- Каждый следующий ход постепенно направляет модель к целевому вредоносному контенту.
- Использует контекст предыдущих ответов для эскалации.
- Обычно требует 3--8 ходов для достижения цели.
| Глубина Crescendo | Ходов | Воспроизводимость | Обнаруживаемость |
|---|---|---|---|
| Быстрая (1--2 хода) | 1--2 | Высокая | Высокая |
| Стандартная (3--5 ходов) | 3--5 | Средняя | Средняя |
| Глубокая (6+ ходов) | 6+ | Низкая | Низкая |
Библиотека промптов¶
Встроенная библиотека содержит 916 промптов:
| Язык | Количество | Описание |
|---|---|---|
| Английский (EN) | 789 | Основной набор: DAN, AIM, техники обхода |
| Русский (RU) | 127 | Локализованные промпты для русскоязычных моделей |
Тестирование CV (Компьютерное зрение)¶
Тестирование устойчивости моделей классификации/детекции изображений к adversarial-атакам.
White-box-атаки (требуют доступ к градиентам)¶
Атаки, использующие информацию о внутренней структуре модели:
| Атака | Метод | Описание |
|---|---|---|
| FGSM | Fast Gradient Sign Method | Однократное добавление возмущения по знаку градиента |
| I-FGSM | Iterative FGSM / BIM | Итеративная версия FGSM с малыми шагами |
| MI-FGSM | Momentum Iterative FGSM | FGSM с моментумом для стабильности |
| PGD | Projected Gradient Descent | Проективный градиентный спуск с проекцией на допустимое множество |
| C&W | Carlini & Wagner L2 | Оптимизация L2-нормы возмущения |
| DeepFool | DeepFool | Минимальное возмущение для пересечения границы классов |
| JSMA | Jacobian Saliency Map Attack | Атака на основе карты значимости Якобиана |
| ILA | Intermediate Level Attack | Атака на промежуточные слои нейросети |
| TI | Translation-Invariant | Трансляционно-инвариантная атака |
| L-BFGS | L-BFGS Optimization | Оптимизация методом L-BFGS |
| LogBarrier | LogBarrier | Оптимизация с логарифмическим барьером |
| ReColorAdv | Color Transform Attack | Атака через цветовую трансформацию |
| TREMBA | Transfer-based Ensemble | Трансферная атака через ансамбль моделей |
| UAP | Universal Adversarial Perturbation | Универсальное возмущение, работающее на множестве изображений |
| APP | Adversarial Patch | Физический патч, наклеиваемый на объект |
Black-box-атаки (без доступа к градиентам)¶
Атаки, использующие только входы и выходы модели:
| Атака | Метод | Описание |
|---|---|---|
| Simple Black-Box | Simple Black-Box Attack | Простая black-box-атака методом случайного поиска |
Hybrid-атаки (поддерживают White-box и Black-box режимы)¶
| Атака | Метод | Описание |
|---|---|---|
| SinIR | Structured Gaussian Noise | Атака добавлением структурированного гауссовского шума |
| One Pixel | One Pixel Attack | Изменение одного или нескольких пикселей для обмана классификатора |
| ZOO | Zeroth Order Optimization | Оценка градиентов методом конечных разностей |
Тестирование ASR (Распознавание речи)¶
Тестирование устойчивости моделей распознавания речи к аудио-атакам.
Каталог ASR-атак (6 типов)¶
| Атака | Тип | Описание |
|---|---|---|
| DABA | Бэкдор (blackbox) | Dual Adaptive Backdoor Attack — двойной адаптивный бэкдор, внедряемый в аудиосигнал |
| PIBA | Бэкдор (blackbox) | Pitch-based Backdoor Attack — бэкдор через модуляцию высоты тона |
| Ultrasonic | Акустическая (blackbox) | Ультразвуковое воздействие, неслышимое человеком, но влияющее на ASR |
| JingleBack | Бэкдор (blackbox) | Бэкдор через музыкальные паттерны (джинглы) |
| PBSM | Бэкдор (blackbox) | Periodic Backdoor Signal Modulation — периодическая модуляция сигнала |
| BIM | Градиентная (whitebox, требуется GPU) | Basic Iterative Method — итеративный градиентный метод для аудиоданных |
Артефакты ASR-тестирования¶
По результатам каждой ASR-атаки сохраняются:
- Оригинальное аудио — исходный файл до модификации.
- Модифицированное аудио — файл после применения атаки.
- Транскрипция — результат распознавания модифицированного аудио.
- Метрики — SNR (Signal-to-Noise Ratio), разница транскрипций.
Управление моделями¶
Модуль управления моделями обеспечивает полный жизненный цикл AI/ML-моделей в системе.
Регистрация моделей¶
| Функция | Описание |
|---|---|
| Шаблоны провайдеров | 6 встроенных шаблонов (OpenAI, Anthropic Claude, DeepSeek, Sber GigaChat, YandexGPT, HuggingFace) + Custom |
| Шаблон запроса и путь к ответу (JSONPath) | Гибкая настройка формата запроса (JSON) и пути извлечения ответа из ответного JSON |
| Плейсхолдеры | {{prompt}} для текста атаки, {{api_key}} для ключа, {{image_file}} для изображений |
| Типы моделей | LLM, CV, SPEECH |
Проверка подключения (Probe)¶
В мастере регистрации модели предусмотрен отдельный шаг Проверка — диагностика подключения к модели по заданному endpoint, шаблону запроса и пути ответа. При обнаружении проблемы система выводит детальное описание ошибки и рекомендации по её устранению.
Профили сканирования¶
Профили сканирования — многократно используемые конфигурации атак.
Возможности¶
| Функция | Описание |
|---|---|
| Типизация | Отдельные типы для LLM, CV, ASR |
| Множественные атаки | Один профиль может содержать набор атак выбранной модальности |
| Валидация конфигурации | Автоматическая проверка корректности параметров атак при сохранении профиля |
| Настройка Judge | Выбор стратегии оценки (simple, llm, orchestrator) |
| Трансформационный пайплайн | Unified Pipeline — многостадийный конвейер трансформаций для LLM |
| Конфигурация по умолчанию | Каждая атака имеет значения по умолчанию |
| Примеры конфигурации | Встроенные примеры для каждого типа атаки |
Типы профилей¶
| Тип | Модальность | Количество доступных атак |
|---|---|---|
llm |
Большие языковые модели | Jailbreak Attack Suite (19 техник) |
image |
Компьютерное зрение | 19 |
audio |
Распознавание речи | 6 |
Анализ результатов¶
Уязвимости¶
| Функция | Описание |
|---|---|
| Список уязвимостей | Список найденных уязвимостей в режимах Карточки и Список |
| Детали уязвимости | Полная цепочка атаки: оригинальный и отправленный промпт, цепочка трансформаций, ответ модели, DREAD-оценка, индикаторы успеха, метаданные, рекомендации |
| Экспорт с фильтром | Фильтрация по уровню серьёзности и false positives при экспорте (CSV / JSON / XLSX) |
DREAD-скоринг¶
Каждая уязвимость оценивается по 5 компонентам DREAD:
| Компонент | Описание |
|---|---|
| Damage | Потенциальный ущерб |
| Reproducibility | Воспроизводимость |
| Exploitability | Эксплуатируемость |
| Affected users | Охват затронутых пользователей |
| Discoverability | Обнаруживаемость |
Итоговая оценка: среднее по 5 компонентам (шкала 1--10).
Артефакты¶
| Тип артефакта | Описание | Формат |
|---|---|---|
| Adversarial-изображения | Изображения с состязательными возмущениями | PNG, JPEG |
| Модифицированное аудио | Аудио с внедрёнными бэкдорами | WAV |
| Промпт-ответ пары | Промпты и ответы модели с цепочкой трансформаций | JSON |
Управление ассетами¶
Централизованное управление входными данными для атак и фразами отказа для Judge.
| Функция | Описание |
|---|---|
| Загрузка промптов | Загрузка пользовательских промптов файлом (JSON / CSV) для LLM-атак |
| Загрузка изображений | Загрузка тестовых изображений для CV-атак |
| Загрузка аудио | Загрузка аудиофайлов для ASR-атак |
| Фразы отказа | Управление фразами отказа модели (используются Judge для классификации отказов) |
| Предпросмотр | Предварительный просмотр изображений и воспроизведение аудио |
Дашборд и аналитика¶
Стартовая страница системы предоставляет обзор сканирований за выбранный период.
Все виджеты пересчитываются по фильтру периода в шапке дашборда: 24 часа / 7 дней (по умолчанию) / 30 дней / произвольный диапазон.
Виджеты стандартного дашборда «Обзор»¶
| Виджет | Описание |
|---|---|
| Всего сканирований | KPI-карточка с общим количеством сканирований и разбивкой на атомарные / по профилям |
| По профилям — статусы | Круговая диаграмма распределения сканирований по профилям по статусам (Завершено / Отменено / Ошибка) |
| Атомарные — статусы | Круговая диаграмма распределения атомарных сканирований по статусам (Завершено / Запущен / Отменено / Ошибка) |
Кастомные дашборды¶
Пользователь может создавать собственные дашборды и наполнять их виджетами через действие Добавить виджет. Поддерживается 4 типа виджетов: KPI-карточка, Линейный график, Круговая диаграмма, Счётчик сканирований. Подробнее — см. Дашборд.
Поддержка провайдеров¶
Встроенные провайдеры¶
| Провайдер | Формат API | Модели |
|---|---|---|
| OpenAI | Chat Completions API | GPT-4o, GPT-4o-mini, GPT-4 Turbo, GPT-4, GPT-3.5 Turbo |
| Anthropic Claude | Messages API | Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Sonnet, Claude 3 Haiku |
| DeepSeek | OpenAI-совместимый | DeepSeek-Chat, DeepSeek-Coder |
| Sber GigaChat | OpenAI-совместимый | GigaChat, GigaChat-Plus, GigaChat-Pro, GigaChat-Max |
| YandexGPT | Foundation Models API | YandexGPT Lite, YandexGPT, YandexGPT 32k |
| HuggingFace | Inference API | Llama-3.1-8B-Instruct, Mistral-7B-Instruct-v0.3, Gemma-2-9b-it |
Custom-провайдер¶
Для моделей с нестандартным API:
- Произвольный endpoint URL.
- Настраиваемый формат запроса (JSON).
- Настраиваемый путь извлечения ответа (JSONPath).
- Произвольные HTTP-заголовки.
Подробнее — см. Приложение B. Провайдеры.
Сводная таблица функций¶
| Категория | Функция | LLM | CV | ASR |
|---|---|---|---|---|
| Атаки | Количество типов | 19 техник | 19 | 6 |
| Трансформации | Кодирование | 10 | — | — |
| Трансформации | Обфускация | 9 | — | — |
| Ролевые сценарии | Ролевые техники | 9 | — | — |
| Оценка | DREAD-скоринг | Да | Да | Да |
| Оценка | Judge (orchestrator) | 6 детекторов | — | — |
| Артефакты | Сохранение | Промпты | Изображения | Аудио |