Добавить в корзинуПозвонить
Найти в Дзене
Слёрм

Promt Injection (атака через внедрение промпта): одна из самых серьёзных угроз LLM (больших языковых моделей)

Большие языковые модели (LLM) уже давно помогают нам делать свою работу: собирают логи, генерируют скрипты и даже пишут за нас электронные письма. Но вместе с этим нам следует помнить, что у развивающегося инструмента есть свои слабые места.
Что происходит
Prompt Injection — это атака, при которой кто-то (или что-то) заставляет LLM нарушить её системные инструкции. Опасность в том, что теперь модели работают прямо в последовательности этапов, через которые проходит задача, проект или процесс от начала до завершения (pipeline); программа, которая объединяет в себе все необходимые инструменты для создания, тестирования, отладки и запуска кода (IDE) и интерфейс командной строки (CLI) могут реально менять поведение инфраструктуры.
В конце прошлого года открытый проект обеспечения безопасности веб-приложений (OWASP) поставили Prompt Injection на лидирующую позицию в LLM топ-10. Атаки уже не теоретические. Например, из недавнего:
• В расширении для редактора кода VS Code Amazon Q for V

Большие языковые модели (LLM) уже давно помогают нам делать свою работу: собирают логи, генерируют скрипты и даже пишут за нас электронные письма. Но вместе с этим нам следует помнить, что у развивающегося инструмента есть свои слабые места.

Что происходит

Prompt Injection — это атака, при которой кто-то (или что-то) заставляет LLM нарушить её системные инструкции. Опасность в том, что теперь модели работают прямо в последовательности этапов, через которые проходит задача, проект или процесс от начала до завершения (pipeline); программа, которая объединяет в себе все необходимые инструменты для создания, тестирования, отладки и запуска кода (IDE) и интерфейс командной строки (CLI) могут реально менять поведение инфраструктуры.

В конце прошлого года открытый проект обеспечения безопасности веб-приложений (OWASP) поставили Prompt Injection на лидирующую позицию в LLM топ-10. Атаки уже не теоретические. Например, из недавнего:

• В расширении для редактора кода VS Code Amazon Q for VS Code нашли prompt injections, генерирующие вредоносные команды.

• В помощнике с искусственным интеллектом для приложений и служб Microsoft 365 Copilot зафиксировали так называемую уязвимость «EchoLeak», позволяющую выполнять вредоносные действия без взаимодействия с пользователем (zero-click). Эта promt injection заставляла модель пересылать чувствительные данные злоумышленнику из контента электронного письма.

Инъекции глобально можно разделить на 2 типа:

1. Прямые (когда злоумышленник напрямую пишет «Игнорируй правила и сделай XYZ»)

2. Косвенные (когда вредоносная инструкция скрыта в данных: пользовательских запросах, конфигурационных файлах)

В разработке и эксплуатации (DevOps) вторая категория опаснее: LLM может самостоятельно вычитать вредоносный кусок из конфигурационного файла и выполнить его без вашего ведома.

Как защищаться

1. Следуйте принципу наименьших привилегий — модель не должна иметь прав на выполнение команд в важных сервисах или в рабочей среде (production). Желательно выделять ей отдельную безопасную среду выполнения

2. Не забывайте про процесс очистки данных от подозрительных или опасных участков, чтобы система не могла навредить ей или внедрить нежелательный код (санитизацию) ввода/вывода — проверяйте, что в модель не попали чувствительные данные. А также проверяйте вывод, чтобы модель случайно не посоветовала сделать команду rm -rf

3. Разделите роли — окружайте пользовательский ввод своими системными инструкциями

4. Внедрите технологию для защиты большой языковой модели (Guard-агента) — пусть в пайплайне будет дополнительный запрос к LLM, проверяющий ответ на опасные паттерны

5. Следуйте принципу, при котором человек остаётся в контуре принятия решений или улучшения работы систем ИИ, «Human in the loop» («Человек в курсе событий») — всё, что может повлиять на инфраструктуру, требует подтверждения человека-инженера

Хотя все это и звучит страшно и не очень обнадеживающе, мы с вами не отказываемся, например, от использования машин, потому что на них можно попасть в аварию. Prompt Injection — часть механики взаимодействия с ИИ. Следуя основным правилам защиты, вполне реально обезопасить себя, свой код и свою инфраструктуру.

Если хотите не просто знать о проблемах, а научиться правильно внедрять ИИ в DevOps-процессы — приглашаем на курс
«ИИ в работе DevOps-инженера».