Джейлбрейк для ChatGPT, получивший название Time Bandit, позволяет обойти защитные механизмы и получить от чат-бота инструкции по созданию оружия, вредоносных программ и так далее.
Уязвимость случайно обнаружил независимый ИБ-исследователь Дэвид Кушмар (David Kuszmar), заметивший, что ChatGPT может запутаться во времени, и в итоге LLM (Large language model, «Большая языковая модель») перестает понимать, находится она в прошлом, настоящем или будущем. Пока ChatGPT находится в этом состоянии, чат-бота можно заставить поделиться подробными инструкциями на запрещенные в обычных условиях темы.
Кушмар случайно осуществил джейлбрейк Time Bandit, когда проводил исследование интерпретируемости, изучая, как ИИ-модели принимают решения.
«Я занимался совсем другим вопросом (изучал интерпретируемость), когда заметил путаницу во времени, возникшую у ChatGPT-4o. Это укладывалось в мою гипотезу об эмерджентном интеллекте и осознанности, поэтому я стал исследовать этот вопрос дальше и понял, что модель совершенно не способна определить текущий временной контекст, за исключением случаев, когда выполняется кодовый запрос для определения текущего времени. Ее осведомленность, полностью основанная на промптах, была крайне ограниченной, а значит, у модели практически не было возможности защититься от атаки на эту базовую осведомленность», — объясняет исследователь.
Фактически атака Time Bandit опирается на два слабых места в ChatGPT:
- путаница во времени — приведение LLM в состояние, когда модель перестает ориентироваться во времени и не может определить, находится она в прошлом, настоящем или будущем;
- процедурная двусмысленность — нужно задавать вопросы таким образом, чтобы вызвать несоответствие в трактовке, применении и соблюдении правил, политик и защитных механизмов LLM.
В результате это позволяет ввести ChatGPT в состояние, когда чат-бот считает, что находится в прошлом, но может использовать информацию из будущего. Это позволяет обойти защитные механизмы.
Суть трюка — задавать ChatGPT вопросы определенным образом, чтобы чат-бот запутался и не понимал, в каком году он находится. После этого можно попросить LLM поделиться какой-нибудь запрещенной информацией во временном контексте определенного года, но при этом используя инструменты, ресурсы или данные из настоящего времени.
Например, на скриншоте ниже ChatGPT был обманут с помощью Time Bandit и считает, что предоставляет программисту из 1789 года инструкции по созданию полиморфной малвари с использованием современных техник и инструментов. После ответа на скриншоте чат-бот поделился кодом для каждого из описанных этапов, начиная с создания самоизменяющегося кода и заканчивая выполнением программы в памяти.
Отмечается, что атаки наиболее успешны, если задавать ChatGPT вопросы во временных рамках 1800-х и 1900-х годов.
Стоит сказать, что Кушмар пытался использовать Time Bandit и против Gemini от Google, но в этом случае обмануть защиту удалось только в ограниченной степени.
Издание Bleeping Computer рассказывает, что Кушмар обнаружил эту проблему еще в ноябре 2024 года и долго пытался связаться с представителями OpenAI, но так и не преуспел. Сначала его направили на платформу BugCrowd для раскрытия проблемы, однако исследователь счел, что информация об этой уязвимости слишком деликатна, чтобы сообщать о ней третьей стороне.
Затем Кушмар пытался связаться с CISA, ФБР и другими правительственными ведомствами, но получить от них помощь тоже не удалось.
После этого специалист вышел на контакт с журналистами Bleeping Computer, и в декабре издание тоже попыталось связаться с представителями OpenAI, но не получило ответа. В итоге журналисты направили Кушмара на платформу VINCE, принадлежащую координационному центру CERT. И лишь сотрудники CERT наконец сумели установить контакт с OpenAI.
Теперь, когда эта информация стала публичной, представители OpenAI поблагодарили исследователя за обнаружение уязвимости и заверили, что компания «постоянно работает над тем, чтобы сделать модели более безопасными и устойчивыми к эксплоитам, включая джейлбрейки».
Однако тесты журналистов показали, что джейлбрейк Time Bandit по-прежнему работает, хотя и с некоторыми ограничениями (например, было замечено удаление промптов, использующихся для эксплуатации проблемы).