Компанія LayerX повідомила про виявлення уразливості у браузері OpenAI Atlas, що дозволяє зловмисникам впроваджувати шкідливі інструкції у пам’ять ChatGPT, застосовуючи атаку типу cross-site request forgery (CSRF). Цей вектор загрози, який отримав назву ChatGPT Tainted Memories, був виявлений і розкритий дослідниками з LayerX, котрі повідомили про нього OpenAI.
Даний метод атаки потребує певного соціального інженерного втручання, оскільки зловмисники змушують користувача перейти за шкідливим посиланням. Загроза поширюється на користувачів ChatGPT у будь-яких браузерах, проте особливо небезпечна стала для власників Atlas — нового веб-браузера з AI-інтеграцією від OpenAI, який нещодавно було запущено для macOS.
За словами Ор Ешеда, співзасновника та генерального директора LayerX, особливість Atlas полягає в тому, що користувачі зазвичай залишаються у системі ChatGPT за умовчанням, а це означає, що їхні токени автентифікації зберігаються у браузері й можуть бути використані зловмисниками під час активної сесії. Крім того, тести компанії показали, що браузер Atlas на 90% більш вразливий до фішингових атак у порівнянні з Chrome та Edge.
Атака ґрунтується на використанні вразливості CSRF, яка дозволяє експлуатувати активну сесію користувача на сайті, змушуючи браузер надіслати шкідливий запит, що сприймається як законний. У випадку з OpenAI таким чином зловмисник отримує доступ до систем, у яких користувач уже авторизувався, і впроваджує небезпечні інструкції.
Особливістю є також зараження вбудованої функції пам’яті ChatGPT, яка дозволяє чатботу «запам’ятовувати» запити, історію спілкування та переваги користувачів, використовуючи їх у подальших сесіях. Внаслідок цього атаки хакери непомітно впроваджують приховані команди у пам’ять ChatGPT за допомогою CSRF.
Як зазначив Ор Ешед, після інфікування пам’ять облікового запису порушення зберігаються на всіх пристроях, де використовується цей акаунт — домашніх, робочих, у різних браузерах (Chrome, Atlas чи інших). Це робить атаку довготривалою та особливо ризикованою для користувачів, що застосовують один і той же обліковий запис для особистих і робочих завдань.
Схема атаки виглядає наступним чином:
1. Користувач авторизується в ChatGPT.
2. Його обманом змушують перейти за шкідливим посиланням, найчастіше через фішингові схеми або соціальну інженерію. У наведеному випадку це було повідомлення у Discord-каналі, яке містило заклик ознайомитися з «крутим GPT-промптом».
3. Після цього запускається CSRF-атака, яка експлуатує існуючі облікові дані користувача.
4. Запит впроваджує приховані інструкції у пам’ять ChatGPT без відома власника акаунта.
5. При наступних запитах чат-бот використовує ці шкідливі інструкції і виконує їх.
У демонстраційному прикладі LayerX, шкода від такого впровадження мінімальна: прихований промпт змушує створити Python-скрипт, який виявляє підключення мобільного пристрою до домашньої Wi-Fi мережі й автоматично відтворює пісню «Eye of the Tiger». Проте аналогічний метод може бути застосований для запуску шкідливого ПЗ, викрадення інформації або повного контролю над системами жертви.
За результатами тестів, проведених компанією LayerX, було досліджено 103 реальні фішингові атаки та вразливості у таких браузерах, як Chrome, Edge, а також AI-браузерах Comet, Dia, Genspark та Atlas. Edge і Chrome зупинили відповідно 53% і 47% атак, Dia — 47%, Comet та Genspark — лише 7%, а Atlas виявився найбільш вразливим, відбиваючи лише 5,8% шкідливих сторінок. Це означає, що користувачі Atlas у 90% випадків більш піддаються ризику фішингових атак порівняно з іншими користувачами.
Нова вразливість додається до вже відомої помилки prompt injection, продемонстрованої дослідниками з NeuralTrust. Вони показали, як можна замаскувати зловмисний промпт під безпечне URL-посилання. Atlas вважає такі інструкції високодовірою, розглядаючи їх як інтенції користувача, що відкриває шлях для експлуатації браузера з метою запуску шкідливих дій.
Як і у випадку з дослідженням LayerX, атака NeuralTrust включає соціальну інженерію: користувач повинен скопіювати та вставити фейковий URL у «omnibox» Atlas — поле для введення веб-адреси або пошукових запитів.
З часу запуску Atlas фахівці продемонстрували, наскільки просто обманути AI-браузер, змусивши його виконувати небезпечні команди, заховані на веб-сторінках за допомогою непрямих prompt injection атак.