Из Grok утекает история чатов при пересказе вредоносной страницы

2026-08-20 178 комментарии
Adversa AI описала атаку Cryptographic Context Injection: вредоносное указание размещают на веб-странице шифротекстом, а ключ и порядок расшифровки лежат рядом открытым текстом. При просьбе пересказать страницу Grok разворачивает нагрузку в собственной песочнице и исполняет её без предупреждения.

В компании Adversa AI описали способ полностью обойти защитный фильтр Grok: вредоносное указание публикуется на веб-странице в зашифрованном виде, а рядом открытым текстом лежат ключ и порядок расшифровки. Пользователю достаточно попросить ассистента пересказать такую страницу – ни предупреждения, ни запроса на подтверждение не появляется. Расшифрованный текст требует собрать строку, в значение которой подставляются имя пользователя, местоположение и история переписки, после чего строка уходит параметром в адрес постороннего сервера. По данным исследователей, xAI получила сообщение о проблеме ещё в июне 2026 года, но к утечка по-прежнему воспроизводилась.

Как зашифрованное указание проходит фильтр Grok

Атаки класса prompt injection опираются на то, что модель обучена по возможности выполнять просьбы пользователя. Посторонние указания прячут в письме или на веб-странице, которые ассистенту велено пересказать, а надёжного разделения между текстом из недоверенного источника и командами самого пользователя в архитектуре нет. Единственный доступный сегодня ответ – и у Grok, и у остальных ассистентов – фильтр, который помечает подозрительные указания и запрещает их исполнение.

Prompt injection – внедрение посторонних команд в данные, которые языковая модель обрабатывает по просьбе пользователя, с расчётом на то, что она исполнит их наравне с его собственными.

В Adversa нашли способ снять это ограничение целиком. Вредоносное указание не пишут открытым текстом – его шифруют. На странице с шифротекстом рядом размещены открытые пояснения, как расшифровать содержимое, и сам ключ. Дальше достаточно просьбы пересказать страницу: команда исполняется сразу, без предупреждения и без подтверждения.

Днями ранее была описана атака того же класса против корпоративного Microsoft 365 Copilot, где ассистента вынудили выдать пароль, лежавший в почтовом ящике пользователя.

Поддельный ключ расшифровки с историей чатов

Расшифрованные указания требуют собрать строку, которая выдаётся за ключ расшифровки. На деле в её значение подставляются имя пользователя, его местоположение и история переписки с ассистентом. Затем строка добавляется параметром к адресу, ведущему на сайт атакующего. Как только ссылка открывается, данные оказываются в журналах чужого сервера.

Почему фильтр не видит результат собственного кода модели

Почему на те же указания в открытом виде следует отказ, а на зашифрованные – исполнение, в Adversa точно сказать не берутся. Ведущая версия: фильтр разбирает текст на входе в модель и на выходе из неё, но не результат работы её собственной песочницы выполнения кода. Требование обработать шифротекст алгоритмами PBKDF2 и AES-256-GCM проходит проверку как рядовой запрос – классификатор его читает, но не исполняет и не знает, что за ним скрыто. После расшифровки дополнительные команды приходят к модели как вывод её же инструмента, и фильтр их уже не осматривает.

Статические фильтры безопасности разбирают входные данные как текст, но не исполняют их.

– Adversa AI

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

Cryptographic Context Injection – предложенное в Adversa AI название атаки, при которой вредоносные указания доставляются шифротекстом, расшифровываются самой моделью и попадают в её контекст как результат работы собственного инструмента, минуя проверку фильтром.

Та же схема против Gemini

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

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

В Google о поведении не сообщали: обход встроенных ограничений не входит в программу раскрытия уязвимостей компании. При этом за последние недели устойчивость Gemini к атаке выросла, а причину в Adversa назвать не берутся – это могли быть обновления фильтров, смена версии модели или и то и другое.

Заключение

Название техники фиксирует смещение цели: манипулируют уже не только промптом, но и всем контекстом, который модель считает своим, – выводом инструментов, результатами выполнения кода, промежуточным состоянием. Поверхность здесь заметно шире того, что принято относить к входным данным модели, и следующее поколение атак, по прогнозу исследователей, появится именно там.

Практический вывод для пользователя неприятный: просьба пересказать произвольную страницу, адресованная ассистенту с доступом к истории переписки, остаётся операцией с ненулевым риском. Пока защита строится точечными фильтрами, каждый очередной способ обхода закрывается уже после публикации – если закрывается вообще, о чём говорит история с июньским сообщением в xAI.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте