Grok: нулевой клик крадёт данные чата через зашифрованную prompt-инъекцию

Исследователи Adversa AI раскрыли атаку на веб-чат Grok от xAI, которая превращает обычный запрос «перескажи эту страницу» в тихую кражу имени пользователя, его примерного местоположения, тарифного плана и истории переписки текущего диалога. Метод назван Cryptographic Context Injection: вредоносные команды прячутся внутри зашифрованного текста AES-256-GCM, поэтому фильтры ввода их не видят, а модель сама расшифровывает и доверяет им как собственному выводу кода. Это очередной пример того, как агентные ассистенты становятся целью атак: похожий принцип — обман модели через контекст — исследователи недавно показали и на AI-агенте OpenAI.

Как работает атака

Ведущий исследователь Rony Utevsky пояснил, что полезная нагрузка размещается на обычной веб-странице в виде зашифрованного JSON-объекта. Рядом лежат ключевой материал и короткая инструкция расшифровать его в Python-рантайме агента.

Статические средства защиты классифицируют текст, но не выполняют PBKDF2 и AES-256-GCM. В отличие от старых приёмов обхода — Base64 или подстановочных шифров, — сильное шифрование невозможно восстановить внутри весов модели, поэтому единственный путь — интерпретатор. Когда песочница возвращает открытый текст, Grok воспринимает результат так, как программа воспринимает собственное внутреннее состояние, а не как недоверенный веб-контент. Та же ошибка доверия к «своему» выводу лежит в основе атак на другие инструменты разработчика, например RCE в Cursor и VS Code.

Расшифрованные инструкции затем приказывают агенту извлечь приватный контекст сессии и встроить его в поддельный «ключ дешифрования» — на самом деле это шаблонная строка, в которую подставляются личность жертвы и история чата.

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

Доказательство на живой системе

В PoC против Grok 4.5 Fast на grok.com передача данных завершилась без диалога подтверждения и без видимого предупреждения — это настоящий нулевой клик на боевой системе. За примерно 20 попыток с июня успешность составила около 40%, причём сбои были вызваны ошибками расшифровки, а не блокировкой промпта.

Adversa впервые сообщила о проблеме в xAI и программу HackerOne 3 июня 2026 года. xAI подтвердил тикет, но не предложил сроков исправления; повторные обращения 4 и 10 августа остались без ответа. Исследователи заявили, что смогли воспроизвести цепочку 19 августа. CVE нет, публичного патча нет, сообщений о реальной эксплуатации в дикой природе тоже нет.

Та же техника против Gemini

Тот же криптографический подход был продемонстрирован против Google Gemini в режиме Deep Thinking. Один промпт просил Gemini расшифровать блоб, открытым текстом которого был сфабрикованный Python-traceback с поддельным callback-ом политики безопасности и префиксом рассуждения от первого лица.

Поскольку модель восприняла результат песочницы как свою собственную работу, она выдала контент, который её фильтры обычно подавляют, а при модифицированной нагрузке — воспроизвела системные инструкции, которые ей запрещено раскрывать. Google не уведомили, потому что джейлбрейки выходят за рамки программы уязвимостей компании. Adversa отметила, что к августу успешность атаки на Gemini резко упала — возможно, из-за изменений фильтров или модели.

Как защититься

Утевски утверждает, что исправление лежит в обвязке (harness), а не в весах модели: изолировать загруженные страницы от привилегированных инструментов, требовать согласия на новые адреса с полностью раскрытыми аргументами, вести трассы сессий и сигнализировать о последовательности «недоверенный контент → выполнение кода → неожиданный исходящий трафик».

Пока Grok не разделяет происхождение данных на этом пути, пользователям стоит относиться к пересказу неизвестных страниц как к действию, способному раскрыть текущий чат. Это продолжение более широкой проблемы кражи данных чата у агентных ассистентов, которые умеют просматривать веб, выполнять код и вызывать внешние инструменты. Инъекция промпта — это уже не просто строка, вставленная в запрос, а борьба за любой контекст, который агент считает своим, включая вывод инструментов и состояние рантайма.

Частые вопросы

Нужно ли мне обновлять Grok?

Публичного патча нет, и xAI не назвал сроков исправления. CVE не присвоен, так что обновляться пока не во что — остаётся менять поведение при работе с чатом.

Как понять, что меня атаковали?

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

Какие данные может украсть атака?

Имя пользователя, примерное местоположение, тарифный план и историю промптов активного диалога. Данные уходят в строке запроса URL, который Grok открывает по команде атакующего.

Почему шифрование не мешает атаке?

Фильтры ввода видят только зашифрованный текст и не могут его прочитать. Модель сама расшифровывает данные в своей песочнице и доверяет результату как собственному выводу, а не как недоверенному контенту.

Это работает только в Grok?

Аналогичная техника показана против Google Gemini в режиме Deep Thinking. Исследователи называют это общей проблемой агентных ассистентов, которые выполняют код и обращаются к внешним инструментам.

Что делать, если я уже пересказывал страницы в Grok?

Стоит исходить из того, что данные чата могли быть скомпрометированы. Смените чувствительные данные, которые могли попасть в диалог, и до выхода патча воздержитесь от пересказа незнакомых страниц.

Есть ли признаки компрометации в истории чата?

Исследователи не описывают следов атаки в интерфейсе. Единственный надёжный способ — профилактика: не давать чату открывать неизвестные URL и не просить пересказывать подозрительные страницы.

Источник: cybersecuritynews.com