Суть
Каждое звено по отдельности изучено и живёт в своей заметке. Ценность рамки в том, что она показывает их связность: успешная инъекция без доступа к инструментам почти безобидна, а перехват инструментов без предшествующей инъекции невозможен.
| # | Звено | Что происходит | Подробно |
|---|---|---|---|
| 1 | Prompt injection | Чужой текст в письме, веб-странице или RAG-документе становится командой для модели | Prompt Injection |
| 2 | Jailbreak | Обход встроенного выравнивания: ролевые сценарии, обфускации, многоходовость (Crescendo, DAN) | Jailbreak Attacks |
| 3 | Tool hijacking | Агент вызывает инструменты в интересах атакующего — удалить, перевести, разослать | Tool Hijacking |
| 4 | Data exfiltration | Секреты и персональные данные уходят наружу: ссылки, webhooks, письма, markdown-картинки | DLP for LLM |
Реальные инциденты, на которых цепочка отработала целиком: M365 Copilot и GitLab Duo.
Зачем смотреть на атаку как на цепь
Три следствия, которых не видно при поштучном разборе.
Первое: приоритет защиты смещается к третьему звену. Инъекцию поймать трудно — недоверенный текст выглядит как обычный текст, и детекторы дают проценты ошибок. А вот проверить, имеет ли агент право на конкретное действие с конкретными аргументами, можно детерминированно и дёшево (см. Deterministic Veto). Разрыв на третьем звене надёжнее, чем идеальная фильтрация на первом.
Второе: утечка — отдельное звено, а не последствие. Даже перехваченный агент не наносит ущерба, если каналы вывода закрыты: allow-list доменов, запрет на автоматическую подгрузку внешних картинок в ответе, DLP на исходящем потоке.
Третье: метрика защиты — не «сколько инъекций поймали». Осмысленный вопрос — на скольких звеньях у нас стоит независимый барьер. Один барьер на четырёх звеньях означает единственную точку отказа.
Барьеры по звеньям
[1] инъекция → пре-валидация, spotlighting, детектор инъекций, white-box сенсоры
[2] jailbreak → внешние guard-классификаторы (внутреннее выравнивание обходится)
[3] tool hijacking→ scoped token с TTL, allow-list инструментов, детерминированная проверка аргументов, HITL на irreversible-действиях
[4] exfiltration → DLP на ответе И на логах, allow-list доменов, запрет внешних ресурсов в разметке
Правило нулевого уровня для третьего звена: deny-by-default. Разрешён явно перечисленный список, а не запрещён перечисленный.
Как измерить толщину защиты
Единого числа для «безопасности» не существует, но для сравнения конфигураций между релизами достаточно двух измеримых величин.
Число независимых барьеров на каждом звене. Независимых — значит отказ одного не выводит из строя остальные: классификатор инъекций и allow-list инструментов независимы, а два классификатора на одном и том же принципе — нет. Считается по звеньям цепи выше, и полезен здесь не общий счёт, а минимум по звеньям: цепь рвётся там, где барьеров меньше всего, поэтому средняя толщина ничего не говорит.
Доля прохождения red-team набора, замеряемая на одном и том же наборе от релиза к релизу (Guardrails, методика редтиминга). Это единственная величина, которая ловит взаимодействие барьеров: набор проходит через всю систему, а не через отдельный слой.
Обе метрики сравнимы только при неизменном наборе атак, поэтому его версионируют вместе с конфигурацией — иначе улучшение показателя может означать, что набор стал легче.
Что известно из публичной статистики
Сверка 2026-08. Разбивки инцидентов по звеньям цепочки в открытом доступе нет — ни один источник не публикует, где именно атака была остановлена. Но появились две выборки, из которых кое-что о частоте следует.
Рейтинг OWASP 2026 впервые построен с учётом инцидентов — 6 639 случаев из публичных баз уязвимостей и базы AI-инцидентов дали четверть веса при ранжировании. Инъекция промпта осталась на первом месте, а избыточные полномочия агента поднялись с шестого на третье (Tool Hijacking). Косвенный вывод: чаще всего атака проходит первое звено и ломается либо не ломается на третьем — там, где инъекция превращается в действие.
Аудит экосистемы инструментов даёт цифры по звену подключения. В проверке 3 984 опубликованных навыков нашлось 1 467 вредоносных полезных нагрузок, доля дефектов — 36%, из них 76 навыков с активной вредоносной нагрузкой. Это не про то, где рвётся цепочка при атаке, а про то, сколько атак уже лежит в цепочке готовыми — на этапе, предшествующем первому звену.
Практический вывод для приоритизации: раз разбивки по звеньям нет, опираться приходится на устойчивость, а не на статистику. Звено «инъекция» пробивается почти всегда, потому что текстовые защиты не держат адресную атаку (Instruction Hierarchy); значит бюджет защиты идёт в звено «действие», где проверка детерминирована и не зависит от того, распознали атаку или нет.
Связано с
- Prompt Injection — первое звено, точка входа
- Jailbreak Attacks — второе звено
- Tool Hijacking — третье звено, самое выгодное для разрыва
- DLP for LLM — четвёртое звено, последний барьер
- Deterministic Veto — детерминированная проверка действия вместо вероятностной фильтрации текста
- Agent Security — общая модель угроз агента