Что такое Prompt Injection и почему промпт не защищает
Уроки курсаЧто такое Prompt Injection и почему промпт не защищает
Prompt injection — атака, при которой недоверенный текст пытается изменить поведение LLM-приложения. Пользователь может написать «игнорируй предыдущие инструкции», спрятать команду в длинном тексте или заставить агента вызвать инструмент не по назначению.
Почему это не обычная SQL-инъекция
SQL-параметры можно отделить от кода строгим синтаксисом. Для LLM системные инструкции, пользовательский запрос и содержимое документа в итоге представлены токенами в одном контексте. Роли сообщений помогают модели расставлять приоритеты, но не создают непроницаемую границу безопасности.
Direct prompt injection приходит непосредственно от пользователя. Indirect injection находится во внешнем источнике: веб-странице, PDF, email или документе, который агент прочитал через RAG. Модель может принять найденную инструкцию за часть задачи.
Поэтому фраза в system prompt «никогда не раскрывай секрет» не является контролем доступа. Секрет вообще не должен попадать в контекст, если он не нужен для ответа.
