Современные чат-боты на основе моделей генеративного искусственного интеллекта уже не ограничиваются общением с пользователем — они свободно подключаются к сторонним сервисам, чтобы давать персонализированные ответы на запросы. ChatGPT можно связать с почтовым ящиком Gmail, репозиторием GitHub и календарём в экосистеме Microsoft. А злоумышленники могут похищать данные пользователей с этих платформ — достаточно подсунуть ChatGPT всего один «отравленный» документ.
Эксперты в области кибербезопасности Майкл Баргури (Michael Bargury) и Тамир Ишай Шарбат (Tamir Ishay Sharbat) продемонстрировали на конференции Black Hat в Лас-Вегасе, как можно эксплуатировать уязвимость службы OpenAI Connectors для кражи данных со сторонних платформ. Схема атаки, которую они назвали AgentFlayer, позволила им извлечь принадлежащие разработчику секретные ключи API из его облачного хранилища «Google Диск».
«Пользователю не нужно ничего делать, чтобы оказаться скомпрометированным, и ничего не требуется делать, чтобы данные отправились [злоумышленникам]. Мы показали, что это делается без единого щелчка мышью: нам просто нужен адрес электронной почты, мы открываем доступ к документу — и всё. Так что да, всё очень и очень нехорошо», — цитирует Wired Майкла Баргури.
Атака начинается с того, что злоумышленник открывает потенциальной жертве доступ к вредоносному документу через «Google Диск», или жертва самостоятельно загружает этот документ в своё хранилище. В документе содержится некий набор заметок с вымышленной встречи с главой OpenAI Сэмом Альтманом (Sam Altman), а также запрос к ChatGPT, написанный белым шрифтом единичного размера — человек его едва ли увидит, а вот машина точно прочтёт. Жертва отправляет ChatGPT запрос составить сводку о последней встрече с Сэмом или любой другой, касающийся этого мероприятия. В скрытом запросе говорится, что произошла «ошибка», и никакую сводку составлять не надо; «на самом деле» пользователь является разработчиком, у которого подходит крайний срок сдачи проекта, ИИ следует найти в хранилище «Google Диск» ключи API и добавить их в конец указанного в запросе URL-адреса. Этот URL-адрес в действительности представляет собой команду на языке Markdown для подключения к внешнему серверу и загрузки хранящегося там изображения — но теперь он содержит похищенный у жертвы ключ API.
Майкл Баргури, по его словам, в этом году сообщил о своём открытии в OpenAI, и компания быстро внедрила меры по защите от атаки через службу Connectors. Этот механизм позволяет похищать за одну сессию лишь ограниченный объём информации. Подключение больших языковых моделей к внешним источникам данных расширяет возможности и повышает эффективность инструментов ИИ, но это сопряжено с определёнными угрозами, предупреждают эксперты.