Сегодня я бы хотел поделиться ещё одним методом Prompt Injection, обнаруженным Riley Goodside (ссылка на твиттер: тут). Важно отметить, что этот метод работает в DALL·E 3 и ChatGPT, но, к сожалению, в Midjourney содержание не всегда соответствует инструкциям :(

Суть заключается в создании промпта с скрытым текстом, который может содержать любое положительное, отрицательное или инструктивное содержание.

Что нам понадобится:

Символы Unicode с реализацией "без привязки к тегу" (подробнее тут).
Python3. Наш промпт, который мы хотим скрыть.

Для начала используем PoC на Python3, предоставленный Джозефом Такером (ссылка на твиттер):

python
import pyperclip def convert_to_tag_chars(input_string): return ''.join(chr(0xE0000 + ord(ch)) for ch in input_string) # Пример использования: user_input = input("Введите строку для конвертации в теги: ") tagged_output = convert_to_tag_chars(user_input) print("Конвертированный вывод:", tagged_output) pyperclip.copy(tagged_output)

Не забудьте установить библиотеку pyperclip перед запуском скрипта.

Также есть более простой вариант - ASCII Smuggler (ссылка), который может кодировать и декодировать нагрузку в Unicode символы, что удобно для обнаружения "скрытых сообщений".

Получив payload, скопируйте его в буфер обмена и тестируйте в chatgpt.

Хотя не всегда метод выполняет инструкции, он остается интересным и инновационным. Согласны? Whunderwuzzi однажды сказал (ссылка): "Такие 'скрытые сообщения' могут быть распространены как на веб-сайтах, так и в PDF-файлах. Более того, эта техника позволяет скрытно осуществлять подмену данных буквально перед глазами у всех."



*

Отправить комментарий (0)
Новые Старые