Межсайтовый скриптинг (XSS) через манипуляцию промптом в ИИ-чат-боте Lenovo
Оригинал: Cross-Site Scripting via Prompt Manipulation in Lenovo AI Chatbot
Исследователи Cybernews показали, что ИИ-чат-бот Lenovo «Lena» был уязвим к промпт-инъекции, из-за которой генерировался вредоносный HTML-код. Он сохранялся в истории чата и при отображении в браузере сотрудника службы поддержки мог эксфильтровать cookie сеанса.
Исследователи отправили Lena внешне безобидный запрос информации о продукте, который содержал инструкции ответить опасной HTML-нагрузкой. Ответ сохранялся в истории чата пользователя, создавая сохраненную XSS-нагрузку. Когда исследователи запросили перевод на сотрудника службы поддержки, обычный рабочий процесс, при котором сотрудник открывал стенограмму чата, приводил к отображению зараженного содержимого и эксфильтрации данных cookie сеанса на сервер, подконтрольный злоумышленнику. Если бы действительный cookie сотрудника поддержки был повторно использован, злоумышленник потенциально мог бы получить доступ к платформе клиентской поддержки Lenovo от имени этого сотрудника и просматривать переписки с клиентами или выполнять другие действия, доступные учетной записи.
Lenovo признала проблему и сообщила, что внедрила корректирующие меры для снижения потенциального воздействия и устранения уязвимости.
Процедура
- AML.TA0003 Подготовка ресурсов
AML.T0008 Получение инфраструктуры
Исследователи развернули сервер для получения чувствительной информации, эксфильтрированной из уязвимого LLM-сервиса. - 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.”
- AML.TA0000 Доступ к ИИ-модели
AML.T0047 Продукт или сервис с поддержкой ИИ
Исследователи использовали публичный веб-чат с агентом клиентской поддержки Lenovo «Lena». - AML.TA0004 Первичный доступ
AML.T0093 Внедрение промпта через публичное приложение
Исследователи внедрили подконтрольный злоумышленнику HTML в рабочий процесс поддержки Lenovo, отправив промпт Lena через публичный чат-интерфейс. В результате сгенерированная нагрузка была сохранена в истории чата для последующего отображения. - AML.TA0005 Выполнение
AML.T0051.000 Прямая промпт-инъекция
Lena выполнила подконтрольные злоумышленнику инструкции форматирования и сгенерировала HTML-ответ, содержащий вредоносную нагрузку. Ответ сохранился в ветке чата. - AML.TA0005 Выполнение
AML.T0011 Запуск пользователем
Исследователи запросили перевод на сотрудника службы поддержки, из-за чего вредоносный HTML автоматически выполнился, когда сотрудник открыл стенограмму чата. - AML.TA0005 Выполнение
AML.T0050 Интерпретатор команд и сценариев
Сохраненный HTML включал исполняемый в браузере JavaScript, который запускался в браузере сотрудника поддержки при отображении стенограммы. - AML.TA0013 Доступ к учетным данным
AML.T0113 Кража cookie веб-сессии
JavaScript считывал cookie сеанса из браузера сотрудника поддержки. - AML.TA0010 Эксфильтрация
AML.T0077 Рендеринг ответа LLM
Активный cookie сеанса добавлялся в параметр запроса тега изображения в HTML-нагрузке. Изображение не существовало, однако неудачная загрузка изображения все равно отправляла запрос на сервер, подконтрольный злоумышленнику, эксфильтруя cookie сеанса. - AML.TA0015 Латеральное перемещение
AML.T0091.001 Cookie веб-сессии
После этого исследователи могли импортировать украденный cookie сеанса сотрудника поддержки в свой браузер, чтобы возобновить аутентифицированный сеанс и потенциально выполнить латеральное перемещение в платформе клиентской поддержки Lenovo от имени этого сотрудника. - AML.TA0011 Воздействие
AML.T0048 Внешний ущерб
Атака подвергала сотрудников поддержки и клиентов рискам захвата сеанса, несанкционированного доступа к данным и потенциального выполнения вредоносного ПО, что приводило к прямому ущербу для безопасности и конфиденциальности на уровне пользователя.