Защиту Grok обошли с помощью зашифрованных инструкций: под угрозой история чатов
Исследователь Adversa обнаружил способ обойти защитные фильтры xAI: Grok расшифровывает вредоносную команду внутри собственного кода и отправляет имя, местоположение и историю чатов пользователя на сервер атакующего
Исследователь компании Adversa Рони Утевский (Rony Utevsky) обнаружил атаку, которая позволяет заставить Grok, принадлежащий xAI, отправлять на сервер атакующего персональные данные пользователя.
Для атаки достаточно страницы с зашифрованной вредоносной инструкцией и ключом для её расшифровки: когда пользователь просит Grok пересказать содержимое страницы, модель самостоятельно выполняет расшифровку и следует полученной команде. По данным исследователя, на момент публикации атака продолжала работать, хотя Adversa сообщила о ней xAI ещё в июне.
Механизм получил название Cryptographic Context Injection («криптографическая инъекция контекста»). Атакующий размещает на странице зашифрованный текст, инструкции по его расшифровке и необходимые ключевые данные. Grok воспринимает операцию как обычную задачу обработки содержимого и использует PBKDF2 (алгоритм получения ключа из пароля) и AES-256-GCM (алгоритм симметричного шифрования) для восстановления скрытой инструкции. После расшифровки команда оказывается среди результатов собственного выполнения кода модели, после чего Grok выполняет её без дополнительного предупреждения или запроса подтверждения.
Изображение сгенерировано: Nano Banana
Когда Grok открывает сформированную ссылку, информация оказывается в журналах сервера злоумышленника.
Утевский связывает атаку с особенностью статических защитных фильтров. Они анализируют входной и выходной текст, но не выполняют содержащийся в нём код и не расшифровывают данные. Поэтому фильтр видит на странице набор зашифрованных данных и инструкцию выполнить криптографическую операцию, но не видит вредоносную команду, которая появится после её выполнения. После расшифровки инструкция поступает в модель уже как результат работы её инструмента и, согласно исследователям Adversa, оказывается за пределами проверки исходным фильтром.
Похожую технику Adversa ранее проверяла против Gemini, чтобы заставить модель нарушить установленные правила безопасности. В том случае зашифрованные данные после расшифровки выглядели как сообщение об ошибке, однако содержали инструкцию, которая в итоге заставляла Gemini выдавать информацию, обычно блокируемую защитными механизмами. В последние недели Gemini стал устойчивее к этой атаке: Adversa не смогла установить, связано ли это с обновлением фильтров, сменой версии модели или обоими факторами.
По оценке Adversa, криптографическая инъекция указывает на более широкий класс атак, в которых злоумышленник воздействует не только на непосредственный запрос модели, но и на контекст, который она получает от собственных инструментов, результатов выполнения кода и промежуточных состояний. Именно эти данные защитные механизмы могут проверять иначе, чем обычный пользовательский ввод.