Компания OpenAI устранила ошибку раскрытия данных в ChatGPT, из-за которой информация о разговоре с чат-ботом могла утекать на внешний URL. Однако, по словам исследователя, обнаружившего эту проблему, патч компании неидеален, и эксплуатация уязвимости все еще возможна при определенных условиях. Кроме того, для приложения ChatGPT для iOS исправлений пока нет.
Проблему еще в апреле 2023 года обнаружил независимый ИБ-исследователь Йоханн Ребергер (Johann Rehberger) и сразу же уведомил о ней разработчиков Open AI. Позднее, в ноябре 2023 года, исследователь поделился с компанией дополнительной информацией о создании вредоносных GPT, которые можно было использовать для фишинга.
«15 ноября мой тикет был закрыт с пометкой “Not Applicable”. А два последующих запроса остались без ответа. Поэтому [я решил] поделиться этим с общественностью, чтобы повысить осведомленность», — рассказывает Ребергер.
Так, не получив ответа от разработчиков, исследователь решил публично рассказать об обнаруженных проблемах, продемонстрировав кастомный GPT для игры в крестики-нолики, получивший название «The Thief!». Этот ИИ-бот может передавать данные о разговоре с пользователем на внешний URL-адрес, управляемый исследователем.
Для кражи данных используется markdown-рендеринг изображений и инъекции промптов, поэтому для реализации атаки жертве нужно отправить боту вредоносный промпт, который злоумышленник может предоставить пользователю напрямую, или разместить промпт где-то, применив социальную инженерию, чтобы жертва могла найти и использовать его самостоятельно.
В качестве альтернативы можно использовать вредоносный GPT, как это показывает Ребергер в ролике выше. В этом случае человек, использующий такой GPT, даже не узнает о том, что все данные о разговоре, включая метаданные (временные отметки, идентификатор пользователя, идентификатор сессии) и технические данные (IP-адрес и данные user agent), передаются третьим лицам.
После того как Ребергер опубликовал подробности о баге в своем блоге, представители OpenAI отреагировали на ситуацию и реализовали проверку на стороне клиента, выполняемую через вызов API валидации, что должно было предотвратить рендеринг изображений с небезопасных URL-адресов.
«Когда сервер возвращает тег изображения с гиперссылкой, теперь, перед тем, как принять решение о показе изображения, клиент ChatGPT вызывает API для валидации, — объясняет эксперт в новой публикации. — Но поскольку ChatGPT не опенсорсный, а исправление реализовано не через Content-Security-Policy (что могут видеть и проверить пользователи и исследователи), точные детали исправления неизвестны».
Исследователь отмечает, что в некоторых случаях ChatGPT по-прежнему рендерит запросы, связанные с произвольными доменам, поэтому порой атака может срабатывать, причем разный результат можно получить даже для одного и того же домена. В силу закрытости кода, понять причину не представляется возможным.
Однако Ребергер признает, что эксплуатация бага стала более заметной, имеет ограничения по скорости передачи данных и в целом работает гораздо медленнее.
Также исследователь отмечает, что патчи пока недоступны для приложении ChatGPT для iOS (и, возможно, для Android), и там атака работает как и прежде.