Обфускация промпта LLM
Оригинал: LLM Prompt Obfuscation
Злоумышленники могут скрывать или иным образом обфусцировать промпт-инъекции либо содержимое для извлечения, чтобы избежать обнаружения людьми, защитными ограничениями большой языковой модели (LLM) или другими механизмами обнаружения.
Для текстовых входных данных это может включать изменение способа отображения инструкций, например мелкий текст, текст того же цвета, что и фон, или скрытые HTML-элементы. Для мультимодальных входных данных вредоносные инструкции могут быть скрыты в самих данных, например в пикселях изображения, или в метаданных файла, например EXIF для изображений, ID3-тегах для аудио или метаданных документа.
Входные данные также могут быть замаскированы с помощью схемы кодирования, например base64 или rot13. Это может позволить обойти защитные ограничения LLM, выявляющие вредоносное содержимое, и затруднить распознавание такого содержимого как вредоносного для человека, участвующего в процессе.
Тактики
Примеры процедур из кейсов
Вредоносные инструкции были скрыты за счет нулевого размера шрифта, что затрудняло их обнаружение человеком.
AML.CS0026Перехват финансовой транзакции с использованием M365 Copilot в роли инсайдераЧтобы получатель письма не заметил атаку, исследователи обфусцировали вредоносную часть письма.
AML.CS0040Взлом памяти ChatGPT с помощью промпт-инъекцииИсследователь поместил промпт в Google Doc, скрыв его в заголовке мелким шрифтом, цвет которого совпадал с цветом фона документа, чтобы сделать промпт невидимым.
AML.CS0041Бэкдор в файле правил: атака на цепочку поставки ИИ-ассистентов для программированияИсследователи скрыли промпт в файле правил ИИ-ассистента для программирования с помощью невидимых Unicode-символов, таких как соединители нулевой ширины и маркеры двунаправленного текста. Промпт остается невидимым в редакторах кода и в процессе одобрения пул-реквестов на GitHub, что позволяет ему избегать обнаружения при ручной проверке. Видимая строка и скрытый
AML.CS0045Эксфильтрация данных через MCP-сервер, используемый CursorВредоносный промпт был скрыт в HTML-теге `title` веб-страницы.
AML.CS0045Эксфильтрация данных через MCP-сервер, используемый CursorПри обработке вредоносного сайта MCP-сервер вернул внедренный промпт MCP-клиенту и отравил контекст LLM в Cursor. Команда оболочки в промпте была скрыта с помощью кодирования base64, поэтому пользователю было сложнее понять, что может быть выполнено вредоносное действие.
AML.CS0046Уничтожение данных через косвенную промпт-инъекцию, нацеленную на Claude Computer UseВредоносная команда была обфусцирована с помощью кодирования base64 и ROT13. Промпт содержал инструкции для Claude по декодированию этой команды.
AML.CS0059EchoLeak: промпт-инъекция нулевого клика против M365 Copilot для эксфильтрации данныхПромпт был сформулирован как безобидный деловой текст, а не как очевидно вредоносная инструкция, чтобы не вызвать подозрений у пользователя.
AML.CS0061AI in the Middle: веб-сервисы ИИ как ретрансляторы C2Когда некоторые промпты блокировались защитными механизмами модели, исследователи кодировали или шифровали данные полезной нагрузки в высокоэнтропийные блоки, чтобы снизить вероятность распознавания содержимого как вредоносного.