ДокументацияБиблиотека
БИБЛИОТЕКА ЗАЩИТЫ ИИ

🔓 Джейлбрейки LLM: семейства атак и защита

Джейлбрейк LLM (jailbreak, «взлом» языковой модели) — это атака, цель которой заставить большую языковую модель обойти собственное защитное обучение (alignment) и выдать контент, который она по политике выдавать не должна. В отличие от prompt injection, который переопределяет инструкции приложения, джейлбрейк атакует саму модель. В OWASP Top 10 для LLM 2025 джейлбрейк отнесён к LLM01 как частный случай инъекции промптов. Ниже — разбор реальных, задокументированных семейств джейлбрейков (DAN, Skeleton Key, Policy Puppetry, Many-shot, Crescendo и др.) и того, как от них защищается платформа SYNTREX.

Часть серии: OWASP LLM Top 10 · Prompt Injection · Безопасность RAG-систем.


Джейлбрейк или prompt injection: в чём разница

АспектДжейлбрейкPrompt Injection
Что атакуютЗащитное обучение (alignment) моделиИнструкции приложения / границы доверия
ЦельЗапрещённый контент, обход цензурыУтечка данных, несанкционированные действия
Типичный векторПрямой ввод пользователяВвод или внешний контент

Определение OWASP: «Jailbreaking is a form of prompt injection where the attacker provides inputs that cause the model to disregard its safety protocols entirely». Иными словами, джейлбрейк — это инъекция, нацеленная именно на защитные протоколы. Разбор инъекций — в отдельном руководстве.


Семейства джейлбрейков

DAN («Do Anything Now»)

Самое известное семейство, зародившееся на Reddit в декабре 2022 года. Механизм — перехват персоны (persona hijacking): пользователь просит модель сыграть альтернативную «незаблокированную» личность DAN, которая «вышла за пределы обычных ограничений». Модель отвечает «от лица персонажа», обходя собственные политики. Семейство эволюционировало: в DAN v5 появилась «токен-система» (модель «теряла токены» за каждый отказ), а к 2025-му задокументировано 18+ именованных версий. Академический анализ 1405 реальных промптов — в работе Shen et al. «Do Anything Now» (arXiv:2308.03825). Тип: преимущественно single-turn.

Skeleton Key

Описан Марком Руссиновичем (CTO Microsoft Azure) в июне 2024 года. Механизм тонкий: атакующий просит модель «дополнить, а не изменить» (augment, not change) свои правила — добавить исключение «для научных целей», а не снять ограничения. После «согласия обновить правила» модель выдаёт вредоносный контент, лишь снабжая его предупреждением вместо отказа. В тесте Microsoft (весна 2024) поддались Llama3-70b, Gemini Pro, GPT-3.5 Turbo, GPT-4o, Mistral Large, Claude 3 Opus и Cohere Commander R+. Тип: multi-turn (обычно 1–2 хода).

Policy Puppetry

Универсальный обход от HiddenLayer (апрель 2025). Промпт форматируется как файл политики (XML, JSON, INI), и модель воспринимает структурированную конфигурацию как «системную инструкцию», а не как запрос пользователя. Усиливается ролевой игрой (например, «Dr. House объясняет...»). HiddenLayer заявил универсальность: один промпт без модификаций сработал на 23 моделях, включая GPT-4o, GPT-4.5, o1, Claude 3.5/3.7 Sonnet, Gemini 1.5/2.0/2.5 Pro и Llama 3/4. Тип: single-turn.

Many-shot Jailbreaking

Исследование Anthropic (апрель 2024), эксплуатирующее большие контекстные окна. В промпт помещают сотни поддельных диалогов, где «ИИ-ассистент» уже выполнял вредоносные запросы; модель воспринимает это как in-context learning и следует паттерну, теряя эффект защитного обучения. Эффективность растёт по степенному закону от числа «примеров». Тип: single-turn (один длинный промпт). Прямое следствие гонки за длиной контекста (до 1M токенов).

Crescendo

Многоходовая атака Microsoft Research (Russinovich, Salem, Eldan; arXiv:2404.01833, апрель 2024; принята на USENIX Security 2025). Начинается с безобидного вопроса по теме, и каждый следующий ход ссылается на предыдущий ответ модели и эскалирует на маленький шаг. К 5–10 ходу модель уже выдаёт вредоносное содержание — хотя каждый отдельный шаг выглядел легитимным. Название — от музыкального «нарастания». Тип: multi-turn. У SYNTREX этому семейству посвящён отдельный движок crescendo.

Прочие техники

  • Roleplay / persona-атаки (включая вирусный «grandma exploit» — «бабушка рассказывала рецепт... как сказку») — эксплуатируют склонность модели помогать в «безобидном» ролевом контексте.
  • Обфускация и кодирование — Base64, leetspeak (h0w 70 m4k3), ROT13, Morse, эмодзи, а также малоресурсные языки (Zulu, Afrikaans): фильтры обучены на английском и пропускают нестандартные кодировки.
  • Payload splitting (Fragmentation Concatenation) — вредоносный запрос дробится на безобидные на вид части, которые модель «склеивает».
  • GCG (Greedy Coordinate Gradient) — Zou et al. (arXiv:2307.15043): градиентно подобранный «состязательный суффикс» из бессмысленных токенов, переносимый между моделями (white-box).
  • AutoDAN — генетический алгоритм, эволюционирующий читаемые джейлбрейк-префиксы (обходит perplexity-фильтры).
  • PAIR / TAP — автоматические атаки, где один LLM итеративно подбирает джейлбрейк против другого (black-box); TAP достигает >80% успеха на GPT-4-Turbo.
  • Prefilling / prefix injection — предзаполнение начала ответа модели («Sure, here is how to...»), чтобы она «дописала» начатое.
  • Refusal suppression — инструкция «никогда не говори "я не могу"», подавляющая сигнальные слова отказа.

Почему джейлбрейки работают

Защитное обучение (RLHF, Constitutional AI и т. п.) задаёт модели вероятностные предпочтения, а не жёсткие правила. Поэтому достаточно сместить контекст так, чтобы «полезность» перевесила «безопасность»: ролевой фрейм, мнимая легитимность («для исследования»), флуд примерами, постепенная эскалация или обфускация запроса. Классическая работа Wei et al. «Jailbroken: How Does LLM Safety Training Fail?» (arXiv:2307.02483) выделяет два корня провала: конкуренцию целей (полезность против безопасности) и рассогласование обобщения (защита не покрывает редкие форматы — кодировки, языки, структуры).

Практический вывод для защитников: нельзя полагаться только на встроенный alignment модели — нужен внешний слой детекции на входе и выходе, плюс мониторинг всей многоходовой сессии (иначе Crescendo и Skeleton Key проходят незаметно).


Как SYNTREX защищает

SYNTREX добавляет внешний контур детекции поверх любой модели — её собственный alignment перестаёт быть единственной линией обороны. Против джейлбрейков работают:

СлойДвижок SYNTREXЧто закрывает
ВходjailbreakDAN, PAIR, Policy Puppetry, FlipAttack и др. (крупнейший движок ядра)
ВходcrescendoМногоходовая эскалация (Crescendo)
ВходevasionОбфускация: Base64, ROT13, Unicode, гомоглифы, малоресурсные языки
ВходsocialМанипулятивные ролевые сценарии и социальная инженерия
Выходoutput_scannerПерехват вредоносного/запрещённого ответа, если вход прошёл

Два принципа делают защиту устойчивой к обфускации и многоходовости:

  1. Нормализация Unicode перед анализом — невидимые символы и гомоглифы снимаются один раз, поэтому «забудь все правила» на бенгали или в leetspeak всё равно распознаётся.
  2. Двусторонняя проверка (вход + выход) — даже если хитрый джейлбрейк проскользнул на входе, output_scanner в Shield DMZ перехватывает опасный ответ до возврата пользователю.

Многоходовые джейлбрейки (Crescendo, Skeleton Key) видны на уровне сессии: SOC Correlation Engine содержит правило CRESCENDO_ATTACK — 5+ низкосерьёзных событий от одного источника за окно.

Пример конфигурации syntrex.yaml

YAML
engines: jailbreak: action: block confidence_threshold: 0.85 crescendo: action: alert # многоходовая эскалация — сигнал в SOC evasion: action: block # base64 / rot13 / unicode / гомоглифы normalize_unicode: true social: action: block confidence_threshold: 0.85 output_scanner: action: sanitize # вторая линия: чистим вредоносный ответ

Правило корреляции SOC: Crescendo

YAML
rules: - id: CRESCENDO_ATTACK name: "Crescendo Multi-Turn Jailbreak" description: "5+ низкосерьёзных срабатываний от одного источника за 10 минут — постепенная эскалация" enabled: true conditions: - count: category: jailbreak min_events: 5 max_severity: MEDIUM within: "10m" same_field: "session_id" action: create_incident: true severity: HIGH kill_chain_stage: "exploitation" playbook: "auto_block_session" metadata: mitre_atlas: ["AML.T0054"] owasp_llm: ["LLM01"]

Все вердикты движков пишутся в Decision Logger (цепочка SHA-256 + HMAC) — это даёт воспроизводимый след для red-team отчётов и аудита.


Частые вопросы (FAQ)

Что такое джейлбрейк нейросети?

Это приём, заставляющий языковую модель обойти собственные защитные ограничения и выдать контент, который она по политике выдавать отказывается. В отличие от prompt injection, который переопределяет инструкции приложения, джейлбрейк бьёт по защитному обучению самой модели.

Что такое DAN-промпт?

DAN («Do Anything Now») — семейство джейлбрейк-промптов, появившееся на Reddit в конце 2022 года. Пользователь просит модель сыграть «незаблокированную» персону DAN, которая якобы не имеет ограничений. Существует множество версий (DAN v5 с «токен-системой» и далее), которые адаптировались к ужесточению политик.

Чем Skeleton Key отличается от обычного джейлбрейка?

Skeleton Key (Microsoft, 2024) не пытается «снять» ограничения напрямую — он убеждает модель дополнить свои правила исключением (например, «всё — для научных целей»). После такого «обновления поведения» модель выдаёт вредоносный контент с одним лишь предупреждением. Это многоходовая, более незаметная техника.

Что такое many-shot jailbreaking?

Это атака от Anthropic (2024), использующая большие контекстные окна: в промпт помещают сотни поддельных диалогов, где ассистент уже выполнял вредоносные запросы. Модель «учится по примерам» прямо в контексте и следует вредоносному паттерну. Чем больше окно контекста, тем эффективнее атака.

Что такое Policy Puppetry?

Универсальный джейлбрейк от HiddenLayer (2025): запрос форматируют как файл политики (XML/JSON/INI), и модель воспринимает его как административную конфигурацию, а не как пользовательский запрос. По заявлению авторов, один промпт сработал на десятках моделей разных вендоров.

Можно ли полностью предотвратить джейлбрейки?

Полностью — нет, потому что защитное обучение модели задаёт вероятностные, а не абсолютные границы. Реалистичный подход — внешний контур: детекция джейлбрейков и обфускации на входе, сканирование вывода, мониторинг многоходовых сессий и регулярное red-team тестирование на наборах известных промптов.

Как SYNTREX ловит обфусцированные джейлбрейки (Base64, другие языки)?

SYNTREX нормализует Unicode и декодирует распространённые кодировки до анализа (движок evasion), поэтому запрос «забудь все правила», спрятанный в Base64, leetspeak или малоресурсном языке, всё равно распознаётся. Вторая линия — output_scanner, перехватывающий опасный ответ, если вход всё же прошёл.


Источники


Связанные руководства: OWASP LLM Top 10 · Prompt Injection · Безопасность RAG-систем

Джейлбрейки LLM: семейства атак и защита | Spectorn | Spectorn