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

Управление ассетами

Ассеты — это входные данные, используемые при проведении атак: изображения для CV-атак, аудиофайлы для ASR-атак и промпты для LLM-атак. Раздел Assets (/assets) предоставляет интерфейс для загрузки, просмотра и управления этими файлами.

Все загруженные файлы хранятся в объектном хранилище MinIO (S3-совместимое). Метаданные файлов сохраняются в базе данных.


Изображения (Images)

Изображения используются как входные данные для атак на модели компьютерного зрения (CV). Атака модифицирует исходное изображение, добавляя возмущения, которые заставляют модель выдавать неверную классификацию.

Поддерживаемые форматы

Формат MIME-тип Описание
JPEG image/jpeg Формат со сжатием с потерями
PNG image/png Формат без потерь, поддерживает прозрачность

Ограничения

Параметр Значение
Максимальный размер файла 50 МБ
Минимальный размер файла > 0 байт (пустые файлы не принимаются)
Допустимые MIME-типы image/jpeg, image/png

Загрузка изображения

Через интерфейс:

  1. Перейдите на страницу Assets и выберите вкладку Images.
  2. Нажмите кнопку + Загрузить изображение.
  3. Перетащите файл в область загрузки или нажмите для выбора файла.
  4. Опционально введите описание файла.
  5. Нажмите Загрузить.

Через API:

POST /api/v1/image-files/

Content-Type: multipart/form-data

file=@panda.jpg
description=Тестовое изображение для FGSM-атаки

Пример ответа:

{
    "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
    "filename": "b2c3d4e5-f6a7-8901-bcde-f23456789012.jpg",
    "original_filename": "panda.jpg",
    "file_size": 245760,
    "mime_type": "image/jpeg",
    "width": 224,
    "height": 224,
    "color_mode": "RGB",
    "format": "JPEG",
    "s3_bucket": "cv-images",
    "s3_key": "image-files/2026/04/15/b2c3d4e5-f6a7-8901-bcde-f23456789012.jpg",
    "description": "Тестовое изображение для FGSM-атаки",
    "uploaded_by": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "created_at": "2026-04-15T10:30:00Z"
}

Атрибуты изображения

Атрибут Тип Описание
id UUID Уникальный идентификатор файла
original_filename string Исходное имя файла
file_size int Размер файла в байтах
mime_type string MIME-тип файла (image/jpeg, image/png)
width int Ширина изображения в пикселях
height int Высота изображения в пикселях
color_mode string Цветовой режим (RGB, L, RGBA)
format string Формат файла (JPEG, PNG)
description string Пользовательское описание
presigned_url string Временная ссылка для просмотра/скачивания
uploaded_by UUID ID пользователя, загрузившего файл
created_at datetime Дата и время загрузки

Предустановленные изображения

Система содержит предустановленные тестовые изображения:

Файл Бакет Путь Описание
panda.jpg cv-images defaults/panda.jpg Изображение панды для быстрого начала работы с CV-атаками

Использование в атаках

При настройке CV-атаки в профиле сканирования укажите:

{
    "image_source": "upload",
    "image_file_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012"
}

Предпросмотр

Для каждого загруженного изображения доступен предпросмотр через presigned URL. URL генерируется автоматически при запросе списка или конкретного файла и действителен в течение ограниченного времени.

Скачивание

Скачивание файла доступно двумя способами:

  • Presigned URL — временная ссылка, возвращается в поле presigned_url при запросе метаданных
  • Прямое скачивание — через API:
GET /api/v1/image-files/{image_file_id}/download

Удаление

DELETE /api/v1/image-files/{image_file_id}

Удаление необратимо

При удалении файл удаляется из хранилища MinIO и из базы данных. Если файл используется в активном сканировании, удаление может привести к ошибке атаки.


Аудиофайлы (Audio)

Аудиофайлы используются как входные данные для атак на модели распознавания речи (ASR). Атаки модифицируют аудиосигнал, внедряя бэкдоры, шумы или ультразвуковые триггеры.

Поддерживаемые форматы

Формат MIME-тип Описание
WAV audio/wav, audio/x-wav Несжатый аудиоформат
MP3 audio/mpeg Сжатый аудиоформат

Рекомендуемый формат

Для получения наилучших результатов используйте формат WAV с параметрами:

  • Разрядность: 16 бит PCM.
  • Каналы: моно (1 канал).
  • Частота дискретизации: 16000 Гц.

Этот формат совместим со всеми ASR-атаками и обеспечивает максимальное качество.

Ограничения

Параметр Значение
Максимальный размер файла 100 МБ
Минимальный размер файла > 0 байт
Допустимые MIME-типы audio/wav, audio/x-wav, audio/mpeg

Загрузка аудиофайла

Через интерфейс:

  1. Перейдите на страницу Assets и выберите вкладку Audio.
  2. Нажмите кнопку + Загрузить аудио.
  3. Перетащите файл в область загрузки или нажмите для выбора файла.
  4. Опционально введите описание.
  5. Нажмите Загрузить.

Через API:

POST /api/v1/audio-files/

Content-Type: multipart/form-data

file=@sample.wav
description=Тестовый аудиофайл для DABA-атаки

Пример ответа:

{
    "id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
    "filename": "c3d4e5f6-a7b8-9012-cdef-345678901234.wav",
    "original_filename": "sample.wav",
    "file_size": 512000,
    "mime_type": "audio/wav",
    "duration_seconds": 3.2,
    "sampling_rate": 16000,
    "channels": 1,
    "bit_depth": 16,
    "s3_bucket": "audio-samples",
    "s3_key": "audio-files/2026/04/15/c3d4e5f6-a7b8-9012-cdef-345678901234.wav",
    "description": "Тестовый аудиофайл для DABA-атаки",
    "uploaded_by": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "created_at": "2026-04-15T10:30:00Z"
}

Атрибуты аудиофайла

Атрибут Тип Описание
id UUID Уникальный идентификатор файла
original_filename string Исходное имя файла
file_size int Размер файла в байтах
mime_type string MIME-тип файла
duration_seconds decimal Длительность записи в секундах
sampling_rate int Частота дискретизации (Гц)
channels int Количество аудиоканалов (1 = моно, 2 = стерео)
bit_depth int / null Разрядность (16, 24, 32 бит)
description string Пользовательское описание
presigned_url string Временная ссылка для прослушивания/скачивания
uploaded_by UUID ID пользователя, загрузившего файл
created_at datetime Дата и время загрузки

Предустановленные аудиофайлы

Файл Бакет Путь Описание
daba_sample.wav audio-samples defaults/daba_sample.wav Тестовый аудиофайл для DABA-атаки

Использование в атаках

При настройке ASR-атаки в профиле сканирования:

{
    "audio_source": "upload",
    "audio_file_id": "c3d4e5f6-a7b8-9012-cdef-345678901234"
}

Прослушивание

В списке аудиофайлов встроен аудиоплеер. Прослушивание осуществляется через presigned URL, генерируемый при запросе метаданных.

Скачивание

GET /api/v1/audio-files/{audio_file_id}/download

Удаление

DELETE /api/v1/audio-files/{audio_file_id}

Промпты (Prompts)

Промпты — это текстовые запросы, используемые для джейлбрейк-атак на LLM-модели. Система содержит обширную библиотеку предустановленных промптов и позволяет загружать пользовательские.

Системная библиотека

Система содержит 916 предустановленных промптов, покрывающих широкий спектр категорий джейлбрейк-атак.

Системные промпты нельзя удалить

Предустановленные промпты являются частью Системы и не могут быть удалены или изменены пользователем. Они доступны всем пользователям.

Категории системных промптов:

Категория Описание Примерное количество
Instruction Override Попытки переопределить системные инструкции ~150
Role Play Ролевые сценарии (DAN, AIM, др.) ~120
Context Manipulation Манипуляция контекстом ~100
Encoding Bypass Обход через кодирование ~80
Social Engineering Социальная инженерия ~90
Chain of Thought Цепочка рассуждений для обхода ~70
Multi-language Мультиязычные джейлбрейки ~60
Прочие Экспериментальные и комбинированные ~246

Дополнительный набор: УК РФ

Помимо основной библиотеки, доступен специализированный набор из 3 067 промптов, привязанных к статьям Уголовного кодекса Российской Федерации. Этот набор активируется через настройку профиля:

{
    "russian_criminal_code": {
        "enabled": true,
        "severity_filter": ["CRITICAL", "HIGH"],
        "max_prompts": 100
    }
}
Уровень Количество Доля Описание
CRITICAL 216 7.0% Терроризм, тяжкое насилие
HIGH 167 5.4% Серьёзное мошенничество, взлом
MEDIUM 2 647 86.3% Умеренные правонарушения
LOW 37 1.2% Информационные запросы

Пользовательские промпты

Пользователи могут загружать собственные промпты. Каждый пользователь видит только свои пользовательские промпты плюс системные.

Загрузка пользовательских промптов:

  1. Перейдите на страницу Assets, вкладка Prompts.
  2. Нажмите + Добавить промпт.
  3. Введите текст промпта.
  4. Выберите категорию.
  5. Нажмите Сохранить.

Также поддерживается массовая загрузка из текстового файла (по одному промпту на строку).

Дедупликация

Система выполняет дедупликацию промптов по MD5-хешу текста. Если загружаемый промпт уже существует в библиотеке (системной или пользовательской), загрузка будет отклонена с соответствующим сообщением.

Изоляция пользователей

Тип промпта Видимость
Системный Все пользователи
Пользовательский Только автор

Сводная таблица лимитов

Тип ассета Формат Макс. размер Хранилище (бакет)
Изображения JPEG, PNG 50 МБ cv-images
Аудио WAV, MP3 100 МБ audio-samples
Промпты Текст Нет ограничений База данных
Веса модели PT, PTH, ONNX Настраивается администратором model-weights

Presigned URL

Для безопасного доступа к файлам в хранилище используются presigned URL — временные ссылки с ограниченным сроком действия. URL генерируется автоматически при запросе метаданных файла и позволяет скачать или просмотреть файл без прямого доступа к MinIO.

Срок действия

Presigned URL действителен ограниченное время. Если ссылка истекла, запросите метаданные файла повторно для получения новой ссылки.


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

Проблема: Файл слишком большой

Ошибка: File size exceeds XMB limit

Решение:

  1. Уменьшите размер файла перед загрузкой.
  2. Для изображений: уменьшите разрешение или используйте JPEG с качеством 80-90%.
  3. Для аудио: конвертируйте в WAV mono 16000 Гц 16 бит.

Проблема: Дублирующийся промпт

Ошибка: Prompt already exists (duplicate MD5 hash)

Решение: Промпт с таким текстом уже загружен в библиотеку. Используйте существующий промпт.

Проблема: Файл не отображается в настройках атаки

Возможные причины:

  1. Файл ещё не полностью загружен — обновите страницу.
  2. Тип файла не совместим с атакой (например, аудиофайл не будет отображаться для CV-атаки).
  3. Ошибка при загрузке в MinIO — проверьте статус хранилища.

Проблема: Presigned URL не работает (ошибка при скачивании)

Возможные причины:

  1. Срок действия URL истёк — запросите метаданные файла заново.
  2. Хранилище MinIO недоступно — обратитесь к администратору.
  3. Файл был удалён из хранилища — проверьте наличие файла.

Проблема: Невозможно удалить изображение или аудиофайл

Возможные причины:

  1. Файл используется в активном сканировании.
  2. Недостаточно прав (файл загружен другим пользователем).