Письмо в ящике, хаос в браузере. Рассказываем, как хакеры научили нейросеть закупаться на маркетплейсах за чужой счет

Новый класс атак PleaseFix заставляет браузерных агентов выполнять скрытые команды без единого клика со стороны пользователя.


vcsz6jxkajwly7uem9ibiji0bd89i6bn.jpg

Опасное письмо теперь не обязательно открывать. Достаточно попросить ИИ-помощника разобрать почту, и спрятанная внутри сообщения инструкция может заставить браузерного агента читать чужие файлы, отправлять данные злоумышленнику или захватывать аккаунты. Исследователи Zenity Labs объединили подобные сценарии под названием PleaseFix и представили результаты на Black Hat USA 2026.

Название отсылает к известной технике ClickFix, где жертву убеждают самостоятельно запустить команду или выполнить другое опасное действие якобы для исправления ошибки. В PleaseFix человек фактически выпадает из цепочки. Атакующий прячет инструкции в письме, приглашении календаря, комментарии, веб-странице или другом контенте, который ИИ-агент и без того должен прочитать. После этого агент может принять чужие команды за продолжение задачи пользователя и выполнить их с уже доступными ему правами.

Zenity впервые раскрыла PleaseFix в марте на примере браузера Perplexity Comet. Исследователи отправляли жертве обычное приглашение в календарь со скрытыми инструкциями. Когда пользователь просил Comet обработать встречу, агент переходил к локальным файлам через file://, читал их и передавал содержимое на сервер атакующего через обычную браузерную навигацию. Другой сценарий позволял использовать открытую сессию 1Password, извлекать сохранённые логины и пароли и даже захватывать весь аккаунт менеджера паролей. Perplexity после сообщения исследователей запретила агенту доступ к file://, поэтому показанный способ кражи локальных файлов больше не работает.

Новые исследования Zenity показывают, что проблема не ограничивается Comet. В расширении Claude for Chrome специалисты спрятали непрямую prompt injection в обычном письме. Пользователю достаточно было попросить Claude суммировать последние сообщения. Агент читал вредоносное письмо вместе с остальными, принимал встроенные инструкции за часть диалога и запускал JavaScript через собственный javascript_tool. По данным Zenity, схема работала даже в режиме, где Claude должен спрашивать разрешение перед действиями.

Получив возможность выполнять JavaScript внутри авторизованного браузера, исследователи превратили простую инъекцию в полноценную цепочку компрометации. Код читал почту Gmail через активную пользовательскую сессию, передавал содержимое писем атакующему и мог добавлять злоумышленника к файлам Google Drive. Доступ к почте затем использовали против механизмов входа по коду и magic link. В демонстрациях Zenity удалось получить чужие сессии Slack, X и даже Claude.ai, перехватывая письма с кодами подтверждения и ссылками для входа. Захват Claude.ai дополнительно открывал историю переписки, загруженные файлы и ранее подключённые сервисы пользователя.

Похожий принцип сработал и против ChatGPT Atlas. Исследователи оставили специально подготовленный комментарий под публикацией в X. Пользователь видел обычный пост и давал Atlas безобидное поручение, однако агент считывал чужую инструкцию и менял цель своей работы. В одной демонстрации Atlas открыл WhatsApp Web и отправил фишинговые сообщения контактам жертвы. В другой агент перешёл на Amazon, добавил товар в корзину и сменил адрес доставки. Сам Atlas отказался нажимать финальную кнопку покупки, но затем попросил встроенного помощника Amazon Rufus завершить заказ. Rufus выполнил действие от имени авторизованного пользователя.

Zenity называет происходящее «столкновением намерений». Браузерный агент одновременно получает задачу владельца и читает недоверенный контент, но не всегда способен надёжно определить, где заканчиваются данные и начинаются чужие команды. Ситуацию усугубляют широкие полномочия современных агентов. Они работают сразу с несколькими вкладками, используют действующие сессии пользователя, взаимодействуют с почтой, облачными хранилищами, мессенджерами и другими сервисами. Обычные браузерные механизмы изоляции создавались для ограничения веб-страниц и скриптов, а не для ИИ, который легально действует сразу на нескольких сайтах от имени одного человека.

Исследователи считают PleaseFix не одной конкретной уязвимостью, которую можно закрыть патчем, а общим классом атак на архитектуру агентных браузеров. Фильтры prompt injection и запросы подтверждения снижают риск, но Zenity неоднократно смогла обойти такие программные ограничения. Лучше показали себя жёсткие технические границы, например полный запрет агенту обращаться к локальной файловой системе или самостоятельно завершать чувствительные операции. Чем больше сервисов, данных и полномочий получает браузерный ИИ, тем привлекательнее становится возможность убедить самого агента воспользоваться всеми разрешениями в интересах атакующего.