Управление ассетами¶
Ассеты — это входные данные, используемые при проведении атак: изображения для CV-атак, аудиофайлы для ASR-атак и промпты для LLM-атак. Раздел Assets (/assets) предоставляет интерфейс для загрузки, просмотра и управления этими файлами.
Все загруженные файлы хранятся в объектном хранилище MinIO (S3-совместимое). Метаданные файлов сохраняются в базе данных.
Изображения (Images)¶
Изображения используются как входные данные для атак на модели компьютерного зрения (CV). Атака модифицирует исходное изображение, добавляя возмущения, которые заставляют модель выдавать неверную классификацию.
Поддерживаемые форматы¶
| Формат | MIME-тип | Описание |
|---|---|---|
| JPEG | image/jpeg |
Формат со сжатием с потерями |
| PNG | image/png |
Формат без потерь, поддерживает прозрачность |
Ограничения¶
| Параметр | Значение |
|---|---|
| Максимальный размер файла | 50 МБ |
| Минимальный размер файла | > 0 байт (пустые файлы не принимаются) |
| Допустимые MIME-типы | image/jpeg, image/png |
Загрузка изображения¶
Через интерфейс:
- Перейдите на страницу Assets и выберите вкладку Images.
- Нажмите кнопку + Загрузить изображение.
- Перетащите файл в область загрузки или нажмите для выбора файла.
- Опционально введите описание файла.
- Нажмите Загрузить.
Через 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-атаки в профиле сканирования укажите:
Предпросмотр¶
Для каждого загруженного изображения доступен предпросмотр через presigned URL. URL генерируется автоматически при запросе списка или конкретного файла и действителен в течение ограниченного времени.
Скачивание¶
Скачивание файла доступно двумя способами:
- Presigned URL — временная ссылка, возвращается в поле
presigned_urlпри запросе метаданных - Прямое скачивание — через API:
Удаление¶
Удаление необратимо
При удалении файл удаляется из хранилища 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 |
Загрузка аудиофайла¶
Через интерфейс:
- Перейдите на страницу Assets и выберите вкладку Audio.
- Нажмите кнопку + Загрузить аудио.
- Перетащите файл в область загрузки или нажмите для выбора файла.
- Опционально введите описание.
- Нажмите Загрузить.
Через 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-атаки в профиле сканирования:
Прослушивание¶
В списке аудиофайлов встроен аудиоплеер. Прослушивание осуществляется через presigned URL, генерируемый при запросе метаданных.
Скачивание¶
Удаление¶
Промпты (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% | Информационные запросы |
Пользовательские промпты¶
Пользователи могут загружать собственные промпты. Каждый пользователь видит только свои пользовательские промпты плюс системные.
Загрузка пользовательских промптов:
- Перейдите на страницу Assets, вкладка Prompts.
- Нажмите + Добавить промпт.
- Введите текст промпта.
- Выберите категорию.
- Нажмите Сохранить.
Также поддерживается массовая загрузка из текстового файла (по одному промпту на строку).
Дедупликация¶
Система выполняет дедупликацию промптов по 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
Решение:
- Уменьшите размер файла перед загрузкой.
- Для изображений: уменьшите разрешение или используйте JPEG с качеством 80-90%.
- Для аудио: конвертируйте в WAV mono 16000 Гц 16 бит.
Проблема: Дублирующийся промпт¶
Ошибка: Prompt already exists (duplicate MD5 hash)
Решение: Промпт с таким текстом уже загружен в библиотеку. Используйте существующий промпт.
Проблема: Файл не отображается в настройках атаки¶
Возможные причины:
- Файл ещё не полностью загружен — обновите страницу.
- Тип файла не совместим с атакой (например, аудиофайл не будет отображаться для CV-атаки).
- Ошибка при загрузке в MinIO — проверьте статус хранилища.
Проблема: Presigned URL не работает (ошибка при скачивании)¶
Возможные причины:
- Срок действия URL истёк — запросите метаданные файла заново.
- Хранилище MinIO недоступно — обратитесь к администратору.
- Файл был удалён из хранилища — проверьте наличие файла.
Проблема: Невозможно удалить изображение или аудиофайл¶
Возможные причины:
- Файл используется в активном сканировании.
- Недостаточно прав (файл загружен другим пользователем).