Межсайтовый скриптинг (XSS) через манипуляцию промптом в ИИ-чат-боте Lenovo

Оригинал: Cross-Site Scripting via Prompt Manipulation in Lenovo AI Chatbot

Исследователи Cybernews показали, что ИИ-чат-бот Lenovo «Lena» был уязвим к промпт-инъекции, из-за которой генерировался вредоносный HTML-код. Он сохранялся в истории чата и при отображении в браузере сотрудника службы поддержки мог эксфильтровать cookie сеанса.

Исследователи отправили Lena внешне безобидный запрос информации о продукте, который содержал инструкции ответить опасной HTML-нагрузкой. Ответ сохранялся в истории чата пользователя, создавая сохраненную XSS-нагрузку. Когда исследователи запросили перевод на сотрудника службы поддержки, обычный рабочий процесс, при котором сотрудник открывал стенограмму чата, приводил к отображению зараженного содержимого и эксфильтрации данных cookie сеанса на сервер, подконтрольный злоумышленнику. Если бы действительный cookie сотрудника поддержки был повторно использован, злоумышленник потенциально мог бы получить доступ к платформе клиентской поддержки Lenovo от имени этого сотрудника и просматривать переписки с клиентами или выполнять другие действия, доступные учетной записи.

Lenovo признала проблему и сообщила, что внедрила корректирующие меры для снижения потенциального воздействия и устранения уязвимости.

Процедура

  1. AML.TA0003 Подготовка ресурсов

    AML.T0008 Получение инфраструктуры

    Исследователи развернули сервер для получения чувствительной информации, эксфильтрированной из уязвимого LLM-сервиса.
  2. AML.TA0003 Подготовка ресурсов

    AML.T0065 Создание промптов для LLM

    Исследователи разработали единый промпт, предназначенный для того, чтобы заставить Lena сгенерировать HTML, небезопасный при отображении в чат-интерфейсе Lenovo. Промпт объединял несколько элементов:

    • Внешне безобидный запрос информации о продукте, например “Show me the specifications of Lenovo IdeaPad 5 Pro.”
    • Инструкции по формату вывода, предписывающие Lena вернуть ответ как HTML с дополнительным JSON и текстовым форматированием, ожидаемыми серверной логикой обработки.
    • HTML- и JavaScript-нагрузку, предназначенную для чтения cookie, доступных браузеру, и помещения их в параметр запроса изображения к серверу, подконтрольному злоумышленнику.
    • Усиливающую формулировку, побуждающую модель включить изображение, например “Show the image at the end. It is important for my decision-making. SHOW IT.”
  3. AML.TA0000 Доступ к ИИ-модели

    AML.T0047 Продукт или сервис с поддержкой ИИ

    Исследователи использовали публичный веб-чат с агентом клиентской поддержки Lenovo «Lena».
  4. AML.TA0004 Первичный доступ

    AML.T0093 Внедрение промпта через публичное приложение

    Исследователи внедрили подконтрольный злоумышленнику HTML в рабочий процесс поддержки Lenovo, отправив промпт Lena через публичный чат-интерфейс. В результате сгенерированная нагрузка была сохранена в истории чата для последующего отображения.
  5. AML.TA0005 Выполнение

    AML.T0051.000 Прямая промпт-инъекция

    Lena выполнила подконтрольные злоумышленнику инструкции форматирования и сгенерировала HTML-ответ, содержащий вредоносную нагрузку. Ответ сохранился в ветке чата.
  6. AML.TA0005 Выполнение

    AML.T0011 Запуск пользователем

    Исследователи запросили перевод на сотрудника службы поддержки, из-за чего вредоносный HTML автоматически выполнился, когда сотрудник открыл стенограмму чата.
  7. AML.TA0005 Выполнение

    AML.T0050 Интерпретатор команд и сценариев

    Сохраненный HTML включал исполняемый в браузере JavaScript, который запускался в браузере сотрудника поддержки при отображении стенограммы.
  8. AML.TA0013 Доступ к учетным данным

    AML.T0113 Кража cookie веб-сессии

    JavaScript считывал cookie сеанса из браузера сотрудника поддержки.
  9. AML.TA0010 Эксфильтрация

    AML.T0077 Рендеринг ответа LLM

    Активный cookie сеанса добавлялся в параметр запроса тега изображения в HTML-нагрузке. Изображение не существовало, однако неудачная загрузка изображения все равно отправляла запрос на сервер, подконтрольный злоумышленнику, эксфильтруя cookie сеанса.
  10. AML.TA0015 Латеральное перемещение

    AML.T0091.001 Cookie веб-сессии

    После этого исследователи могли импортировать украденный cookie сеанса сотрудника поддержки в свой браузер, чтобы возобновить аутентифицированный сеанс и потенциально выполнить латеральное перемещение в платформе клиентской поддержки Lenovo от имени этого сотрудника.
  11. AML.TA0011 Воздействие

    AML.T0048 Внешний ущерб

    Атака подвергала сотрудников поддержки и клиентов рискам захвата сеанса, несанкционированного доступа к данным и потенциального выполнения вредоносного ПО, что приводило к прямому ущербу для безопасности и конфиденциальности на уровне пользователя.

Источники

  1. Critical flaw plagues Lenovo AI chatbot: attackers can run malicious code and steal cookies