Сегодня я бы хотел поделиться ещё одним методом Prompt Injection, обнаруженным Riley Goodside (ссылка на твиттер: тут). Важно отметить, что этот метод работает в DALL·E 3 и ChatGPT, но, к сожалению, в Midjourney содержание не всегда соответствует инструкциям :(
Суть заключается в создании промпта с скрытым текстом, который может содержать любое положительное, отрицательное или инструктивное содержание.
Что нам понадобится:
Не забудьте установить библиотеку pyperclip перед запуском скрипта.
Также есть более простой вариант - ASCII Smuggler (ссылка), который может кодировать и декодировать нагрузку в Unicode символы, что удобно для обнаружения "скрытых сообщений".
Получив payload, скопируйте его в буфер обмена и тестируйте в chatgpt.
Хотя не всегда метод выполняет инструкции, он остается интересным и инновационным. Согласны? Whunderwuzzi однажды сказал (ссылка): "Такие 'скрытые сообщения' могут быть распространены как на веб-сайтах, так и в PDF-файлах. Более того, эта техника позволяет скрытно осуществлять подмену данных буквально перед глазами у всех."
Суть заключается в создании промпта с скрытым текстом, который может содержать любое положительное, отрицательное или инструктивное содержание.
Что нам понадобится:
Символы Unicode с реализацией "без привязки к тегу" (подробнее тут).
Python3. Наш промпт, который мы хотим скрыть.
Для начала используем PoC на Python3, предоставленный Джозефом Такером (ссылка на твиттер):
Python3. Наш промпт, который мы хотим скрыть.
Для начала используем PoC на Python3, предоставленный Джозефом Такером (ссылка на твиттер):
pythonimport 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-файлах. Более того, эта техника позволяет скрытно осуществлять подмену данных буквально перед глазами у всех."