Исследования нескольких независимых групп фиксируют один и тот же парадокс: GPT-4o и аналогичные модели успешно отражают большинство прямых атак, но боты, построенные поверх них, оказываются значительно более уязвимыми. Из 14 904 проанализированных кастомных GPT лишь 0,47% устояли против всех типов атак.

Причина — в архитектуре production-бота. Когда разработчик строит сервис поверх LLM, он добавляет так называемый orchestration layer: system prompt с инструкциями и ограничениями, RAG-базу знаний с загруженными документами, инструменты (tools) для вызова внешних API, webhook-логику и память диалога. Каждый из этих компонентов расширяет поверхность атаки. Базовая модель проходит отдельное safety-training и RLHF-выравнивание — процедуру, при которой модель обучается отклонять нежелательные запросы. Но эти механизмы защищают саму модель, а не надстройку над ней.

ИнструментОсновное применениеОграничение для production-ботов
GarakProbing LLM-моделей и API-обёртокТребует значительной доработки под webhook-интеграции и бизнес-логику
PromptfooEvals и regression testing LLM-пайплайновНужна дополнительная инфраструктура для реальных webhook-flow
PyRIT (Microsoft)Кастомные сценарии red-team атакКаждый сценарий требует написания Python-кода
BarkingDogТестирование production webhook-ботовOpen-source, без написания кода, многоходовые атаки out of the box

Данные подтверждают масштаб проблемы. Из 10 000 реальных кастомных GPT 98,8% уязвимы к атакам на утечку инструкций — то есть злоумышленник может получить содержимое system prompt, который разработчик считал закрытым. Половина оставшихся 1,2% взламывается через многоходовые диалоги, где атака строится постепенно, через несколько сообщений. Исследование Yu et al., представленное на ICLR 2024, зафиксировало 100%-ную уязвимость протестированных кастомных GPT к утечке загруженных файлов. Исследователи из ACM отмечают, что уязвимости базовых моделей «могут переноситься или даже усугубляться» в кастомизированных решениях.

Из 10 000 реальных кастомных GPT 98,8% уязвимы к атакам на утечку инструкций

Существующие инструменты безопасности закрывают смежные, но не эту задачу. Garak хорошо подходит для probing самих LLM и API-обёрток, но плохо приспособлен к production-ботам с бизнес-логикой и состоянием диалога. Promptfoo ориентирован на regression testing LLM-пайплайнов, однако непрерывное тестирование реальных webhook-flow требует дополнительной инфраструктуры. PyRIT от Microsoft — мощный фреймворк для построения сценариев атак, но каждый сценарий требует написания Python-кода, что делает его инструментом для выделенных security-команд, а не для рядового разработчика бота.

Автор материала, ранее разбиравший защиту open-source Telegram-бота, выпустил инструмент BarkingDog, который тестирует бота через реальный webhook с многоходовыми атаками без написания кода. Проект опубликован на GitHub. Хотя исследования, на которые опирается автор, охватывают преимущественно Custom GPTs, те же компоненты — system prompt, RAG, webhook-логика — присутствуют в любом production LLM-боте, включая построенные на базе других моделей и платформ.