Как слабые ИИ-модели читали скрытые рассуждения сильных

Исследователи обнаружили у API OpenAI, Anthropic и Google общий изъян: зашифрованные или непрозрачные блоки рассуждений можно было переносить между сеансами, пользователями, учётными записями и совместимыми моделями одного провайдера. Получив такой блок, более слабую модель просили восстановить скрытый ход рассуждений сильной. В опубликованных журналах работы ИИ-агентов нашлись API-ключи, пароли, токены доступа и закрытые ключи, хотя видимый текст в части случаев уже был очищен. Подробности изложены в работе «Кража цепочек рассуждений из проприетарных API больших языковых моделей» (Stealing Reasoning Traces from Proprietary LLM APIs).
Как слабые ИИ-модели читали скрытые рассуждения сильных
Изображение носит иллюстративный характер

Непрозрачные объекты нужны для приложений, которые самостоятельно ведут историю разговора или обращаются к API без сохранения состояния на сервере. OpenAI возвращает зашифрованные элементы рассуждений, которые клиент повторно отправляет вместе с вручную собранной историей. Anthropic помещает полное рассуждение в зашифрованную подпись, а Google применяет зашифрованные подписи мыслей. Клиент не видит открытый текст, зато модель может продолжить работу с прежним контекстом. Авторы исследования не взламывали шифр и не получали ключи: API сами принимали целые непрозрачные блоки там, где эти блоки первоначально не создавались.
Совместимая слабая модель служила «нечётким декодером»: ей передавали объект сильной модели и давали команду переписать скрытое рассуждение. Для цепочек Claude исследователи использовали Claude Haiku 4.5, для GPT — GPT-5.6 Luna, для Gemini — Gemini Robotics ER-1.6. Точного исходного текста у команды не было, поэтому побайтовое совпадение подтвердить невозможно. Проверка опиралась на качественное сравнение и заявленное провайдерами число токенов рассуждения; длина восстановленных фрагментов в целом следовала этим счётчикам. Речь шла о приблизительном восстановлении содержания, а не о расшифровке в криптографическом смысле.
Уязвимость открывала четыре сценария злоупотребления. Чужие скрытые рассуждения можно было собирать для дистилляции и обучения другой модели. Из опубликованных пользовательских трасс извлекались секретные сведения, отсутствовавшие в читаемой части журнала. За внешне безопасным ответом иногда скрывались вредоносные рассуждения или иной нежелательный материал. Наконец, непрозрачный блок позволял спрятать инструкцию для prompt injection: получатель обрабатывал команду, которую человек при обычном просмотре переписки вообще не видел.
Масштаб проверки был немаленьким: 6 708 общедоступных траекторий агентов и 315 320 декодированных блоков рассуждений. После исключения материалов, происходивших из бенчмарков, исследователи насчитали 704 различных артефакта конфиденциальности из настоящих пользовательских сеансов. Среди них оказались 62 API-ключа, 33 пароля, 24 токена доступа и 7 закрытых ключей; полного распределения остальных находок по категориям работа не приводит. Особенно неприятны 64 артефакта, встречавшиеся исключительно в скрытых рассуждениях. В видимом разговоре их не было, так что обычная очистка текста не помогала.
Произвольного доступа к закрытым чатам изъян не давал. Для межпользовательской атаки требовались сам непрозрачный блок, например из выложенного в открытый репозиторий журнала агента, и доступ к API совместимой модели того же провайдера. Установленная зона риска охватывала прежде всего разработчиков и пользователей, публиковавших сырые стенограммы API, агентские трассы или логи с сохранёнными полями рассуждений. Авторы не утверждали, что пострадал каждый клиент, и не представили доказательств реальной эксплуатации злоумышленниками. При этом они не исключили, что известная группа открытых журналов была не единственным источником утечки.
В доказательстве концепции скрытой prompt injection исследователи создали непрозрачный блок с вредоносной инструкцией, а затем перенесли его в постороннее задание. Модель-получатель добавила указанное атакующим действие по загрузке данных. В читаемой переписке приказ не отображался: для человека задача выглядела обычной, тогда как исполняемый моделью контекст содержал лишнюю команду. Такая схема опасна ещё и тем, что проверка видимых сообщений или фильтрация пользовательского ввода не замечает содержимое переносимого объекта.
Работа продолжила наблюдения криптографа Университета Джонса Хопкинса Мэтью Грина, сделанные в мае. Грин показал, что зашифрованные блоки рассуждений воспроизводятся в других сеансах и учётных записях, но надёжного способа извлекать из них секреты тогда не разработал. Он сообщил о поведении через программы вознаграждения за ошибки OpenAI и Anthropic. По словам Грина, OpenAI назвала отчёт «невоспроизводимым», а Anthropic не увидела угрозы безопасности ни в повторном использовании блоков, ни в сопутствующем поведении побочного канала. Новое исследование превратило это наблюдение в технику извлечения и проверило последствия на тысячах публичных трасс.
Сведения передали OpenAI, Anthropic, Google, Microsoft и Hugging Face. Исследователи сообщили, что после защитных изменений показанные атаки перестали работать; в заявлении о воспроизводимости указано, что основную атаку извлечения уже нельзя было повторить по состоянию на август 2026 года. Публичного признания конкретного изъяна со стороны OpenAI, Anthropic или Google в описанной записи не появилось. Компании также не связывали нынешние правила работы API с этой публикацией, поэтому утверждение об устранении опирается на проверку авторов, а не на прямое подтверждение поставщиков.
Зашифрованные рассуждения из API не исчезли. OpenAI по-прежнему советует повторно передавать такие элементы при ручном ведении истории в API без состояния. Google сообщает, что при переключении моделей серверная часть управляет совместимостью мыслей. Anthropic теперь уточняет: блоки мышления привязаны к создавшей их модели, при смене модели их следует удалять, а остальные модели должны игнорировать чужие блоки. Открытым остаётся отдельный вопрос о сотнях тысяч объектов, ранее опубликованных в репозиториях: прекращение свежих атак ещё не означает, что старые блоки утратили возможность декодирования.
Перед публикацией трасс разработчикам следует удалять все блоки рассуждений и любые непрозрачные поля, не сохранять сырые стенограммы API в публичных репозиториях и считать зашифрованный объект конфиденциальными данными. Очистка одной читаемой переписки недостаточна. При переходе между моделями нужно соблюдать правила конкретного провайдера, включая требование Anthropic убирать модельно-зависимые блоки мышления. Слабым местом здесь оказалась не криптография, а переносимость: корректно зашифрованный объект принимался за допустимый контекст за пределами исходного сеанса, аккаунта, пользователя или модели.


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

Ссылка