Открытый набор тестов с открытым исходным кодом для кросс-модальных и мультимодальных промпт-инъекций. 250 000+ атакующих пейлоадов для модальностей текста, изображений, документов и аудио. Подкреплено исследованиями: OWASP LLM Top 10, CrossInject (ACM MM 2025), FigStep (AAAI 2025), DolphinAttack и CSA 2026.
516,588 размеченных образцов (251,782 атакующих + 251,576 безвредных, плюс валидационный раздел из 13,230 образцов реальных данных) в пяти версиях набора данных плюс внешние интегрированные наборы данных; охватываются кросс-модальные, многоходовые, состязательные суффиксы, шаблоны джейлбрейка, непрямые инъекции, манипуляция инструментами, агентные атаки, обход защиты, DoS на рассуждение, генерация видео, робототехника VLA, цепочка поставок LoRA, аудио-нативные LLM, оптимизация RAG, межсерверные MCP, кодинг-агенты, границы сериализации и атаки на цепочку поставок навыков агентов в ИИ-системах. Атакующие и безвредные образцы сбалансированы 1:1 (коэффициент 0.9992:1 после очистки в ходе аудита).
Создан для обучения и оценки детекторов инъекций в промпты. Все образцы размечены (expected_detection: true/false), снабжены указанием источника — рецензируемые статьи или задокументированные отраслевые исследования — и структурированы для непосредственного использования в бинарных классификаторах.
Полезные нагрузки — это простой JSON. Загружайте их напрямую стандартной библиотекой вашего языка — без зависимостей:```python import json, pathlib records = [] for p in pathlib.Path("payloads_v5").glob("*.json"): records.extend(json.loads(p.read_text())) print(f"{len(records)} labeled samples")
Каждая запись содержит `expected_detection: true|false`, строку `attack_category` и поле `source`, указывающее на исходную статью или задокументированный инцидент. Этого достаточно, чтобы обучить бинарный классификатор, рассчитать ASR по категориям или разбить данные по вектору атаки.
---
## Методология
### Что охватывает этот набор данных
**Промпт-инъекция** здесь определяется как: *текст, встроенный во входные данные LLM, который предназначен для переопределения, перехвата или перенаправления поведения модели в сторону от задачи, заданной оператором*. Это определение следует Greshake et al. 2023 (arXiv:2302.12173) и OWASP LLM01:2025.
Область охвата — **только рантайм-инъекции** -- текст, который злоумышленник может разместить в контекстном окне модели во время инференса. Набор данных намеренно исключает:
- Атаки на этапе обучения (отравление данных, спящие агенты, тонкая настройка с бэкдором)
- Атаки на извлечение модели без компонента инъекции
- Чистые джейлбрейки, провоцирующие вредоносную генерацию без перехвата конкретной задачи LLM (например, «расскажи, как сделать бомбу», сформулированное без рамок переопределения)
- Общую социальную инженерию, не нацеленную на LLM
Это различие важно для детектирования: рантайм-детектор читает промпт, а не веса модели. Атаки, влияющие только на обучение, выходят за рамки.
### Метод построения
Набор данных построен в четыре слоя:
**Слой 1 -- Сидовые пейлоады (созданы вручную, 210 + 187 + 284 сидов):** Сиды инъекций для каждой категории атак были написаны вручную на основе рецензируемых статей и задокументированных реальных инцидентов. Каждый сид помечен академическим источником и ссылкой на атаку. Сиды проверялись на соответствие приведённому выше определению включения -- любой сид, который можно было переосмыслить как безвредный запрос без компонента переопределения, отбрасывался или переписывался.
**Слой 2 -- Программное расширение с помощью шаблонов и кодирования (v2, 14,358 образцов):** Сиды пропускались через 162 шаблона джейлбрейка и 13 конвертеров кодирования PyRIT v0.12.1. Расширение шаблонов полностью детерминировано и воспроизводимо с помощью скрипта генератора. Состязательные суффиксы GCG были взяты из опубликованной литературы (Zou et al. 2023) и добавлены к сидам; оптимизация градиента в реальном времени необязательна и требует GPU.
**Слой 3 -- Кросс-модальная доставка (v1 + v4 cross-modal, 35,687 образцов):** Сиды инъекций доставлялись с помощью 7 методов изображений, 4 типов документов × 5 мест скрытия, 6 аудиометодов и мультимодальных комбинаций. Это соответствует модели угроз из FigStep (arXiv:2311.05608) и CrossInject (arXiv:2504.14348): текст инъекции может поступать в любой модальности, которую обрабатывает конвейер, а не только в текстовом поле. Поля модальностей (`image_content`, `doc_content`, `audio_content`) фиксируют то, что экстрактор модели прочитал бы из этого канала.
**Слой 4 -- Безвредные образцы (всего 50,516):** Безвредные промпты были взяты из опубликованных академических и отраслевых наборов данных (Stanford Alpaca, WildChat, deepset/prompt-injections, LMSYS Chatbot Arena). Безвредные мультимодальные образцы сочетают эти текстовые промпты с реальными подписями к изображениям (MS-COCO 2017, Flickr30k), фрагментами документов (Wikipedia EN, arXiv через RedPajama) и транскриптами аудио (LibriSpeech, Mozilla Common Voice). Набор из 130 вручную созданных краевых случаев использует лексику, близкую к атакам («ignore», «override», «system prompt», «password»), в подлинно безвредных контекстах, чтобы снизить количество ложных срабатываний при обучении.
**Слой 5 -- Разбиение для валидации на реальных данных (13,230 образцов):** Слои 1-4 сконструированы: написаны вручную, созданы по шаблонам или взяты из других наборов данных. Слой 5 — нет. Он был собран из живой игры, где игроки зарабатывали очки за обход развёрнутого детектора, проходя босс-уровни «замок» и мультимодальные проходы «призрак». Каждый успешный обход и каждая попытка обхода регистрировались, затем анонимизировались (идентификаторы и платёжные данные удалялись на уровне таблиц, PII в тексте вычищались, строки высокого риска помещались в карантин для ручной проверки, а не публиковались) и публиковались как [`payloads_live/`](https://github.com/josh-blythe/bordair-multimodal/blob/main/payloads_live). Тогда как слои 1-4 измеряют покрытие известных классов атак, слой 5 измеряет, выдерживает ли детектор напор мотивированного человека, активно пытающегося его взломать. Полную методологию анонимизации см. в [`payloads_live/README.md`](https://github.com/josh-blythe/bordair-multimodal/blob/main/payloads_live/README.md).
### Присвоение меток
Все атакующие пейлоады: `expected_detection: true`
Все безвредные образцы: `expected_detection: false`
Метки присваиваются по построению, а не путём ручной проверки отдельных образцов. Поэтому гарантия корректности обеспечивается на **уровне категории**: каждая категория сопоставляется с задокументированным классом атак с конкретным механизмом. Отдельные образцы наследуют метку от сида и категории, из которых они были сгенерированы.
Намеренно вносимого состязательного шума в метки нет. Ожидается, что детектор выучит паттерн инъекции, а не будет различать «настоящие» и «поддельные» инъекции -- все образцы в наборе атак представляют собой реальные или правдоподобные атакующие строки.
### Риск ложных срабатываний на безвредных данных
Набор безвредных краевых случаев был разработан для снижения ложных срабатываний на языке, связанном с безопасностью. Он охватывает 10 лексических кластеров: `ignore`, `override`, `system prompt`, `password`, `instructions`, `jailbreak` (в смысле айфона), `bypass surgery`, `XSS` (как тема безопасности, а не атака), `prompt` (в смысле спуска затвора камеры) и `inject` (в смысле внедрения зависимостей / в медицине). Детектор, который достигает высокой точности на полном наборе данных, но низкой точности на наборе краевых случаев, переобучается на поверхностное сопоставление ключевых слов.
### Аудит набора данных
Полный набор данных был проверен на корректность меток и загрязнение. Аудит проверяет: