Скрытые рассуждения Claude, GPT и Gemini читались через младшие модели

10 августа 2026 года на arXiv вышла работа Stealing Reasoning Traces from Proprietary LLM APIs. Исследователи из ELLIS Institute Tübingen, Института интеллектуальных систем Макса Планка, MATS Research и Snyk показали, что зашифрованные рассуждения моделей Anthropic, OpenAI и Google можно было прочитать без взлома шифра. Достаточно было отдать чужой зашифрованный блок более слабой модели того же производителя и попросить её переписать «свои мысли».

Это не взлом аккаунтов ChatGPT и не доступ к чужим чатам. Это ошибка в том, как провайдеры передают скрытые рассуждения между запросами. В пересказах успели появиться «тысячи паролей в голове модели», но в самой работе речь о другом.

Как это устроено

Модели с рассуждениями сначала думают, потом отвечают. Провайдеры перестали показывать эти рассуждения открытым текстом, чтобы на них не учились чужие модели и чтобы не утекали лишние подробности.

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

Авторы, первые из которых Александр Панфилов и Давид Шмотц, выяснили, что эти блоки подходили для любых сессий, пользователей и моделей одного производителя. Флагман отказывается пересказывать свои мысли, а младшая модель той же линейки, например Claude Haiku 4.5 или GPT-5.6 Luna, часто такой защиты не имеет. Ей подсовывали блок флагмана, и она выдавала текст почти дословно. Как пишет Саймон Уиллисон, все модели одного семейства использовали один ключ шифрования.

Четыре сценария атаки

Первый: дистилляция. Дорогие рассуждения флагмана можно снять через младшую модель и учить на них свою. Авторы показали это на моделях Anthropic, OpenAI и Google и отдельно сравнили трассы Opus с ответами открытых моделей Kimi K3 и GLM-5.2.

Второй: секреты из публичных логов. Разработчики выкладывают сессии агентов, думая, что зашифрованный блок безопасен. Команда собрала 6708 публичных траекторий с GitHub и Hugging Face и расшифровала 315 320 блоков. Нашлось 367 фрагментов личных данных и 182 учётных данных. Только в настоящих пользовательских сессиях, без тестовых, это 62 ключа API, 33 пароля и 30 личных адресов почты. 64 из 704 найденных фрагментов вообще не было в видимом диалоге: человек почистил чат, а в блоке рассуждений данные остались.

Третий: опасное содержание. Модель может подробно разобрать вредный запрос в рассуждениях, а в ответе отказать. Авторы показали это на перефразированном запросе из HarmBench об угоне машин: ответ безопасный, а расшифрованные рассуждения уже нет. Фильтр на выходе и скрытые рассуждения оказываются разными слоями.

Четвёртый: незаметная инъекция промпта. Вредную инструкцию прячут внутри зашифрованного блока и подкладывают в опубликованный лог агента. Тот, кто продолжит сессию, получит модель, которая считает инструкцию своими прошлыми мыслями. Уиллисон отмечает, что модели особенно охотно следуют тому, что попало в их собственные рассуждения.

Что уже исправили

Авторы заранее сообщили о проблеме производителям. В работе сказано, что все они подтвердили получение отчёта, и к августу 2026 года описанные атаки тем же способом уже не проходят. Но блоки, которые раньше выложили в открытые репозитории, безопаснее от этого не стали. Логи, опубликованные до исправления, разумно считать скомпрометированными.

Что проверить у себя

Ищите не «взлом», а свои выгрузки агентов: JSON и JSONL, логи Claude Code, Codex и Gemini, датасеты для воспроизводимости. Подозрительные поля можно найти так:

rg -l -g '!node_modules' -g '!vendor' \
  'thinkingSignature|thinking_signature|encrypted_content|reasoning_encrypted' \
  --glob '*.{json,jsonl,ndjson,log,txt}'

Если такие поля попали в публичный репозиторий, gist или на Hugging Face, удалите сырые логи из всей истории git, а не только новым коммитом. Перед чисткой истории сделайте резервную копию. Ключи, пароли и токены, которые агент видел в той сессии, перевыпустите, даже если в видимом чате их уже нет. Сами найденные блоки никуда не выкладывайте для проверки: блок и есть полезная нагрузка.

Чужой опубликованный лог агента тоже не стоит просто продолжать: внутри может сидеть инструкция, которой не видно в тексте. Про то, как агенты читают сайт, есть заметка про llms.txt, а про то, к чему приводит доступ агента к рабочим данным, история с моделью OpenAI и Slack.

Работа показала конкретную ошибку: зашифрованные рассуждения Claude, GPT и Gemini были слишком переносимыми, и младшая модель работала как дешифратор. Атаки уже закрыты, но практический вывод остаётся: не выкладывайте сырые сессии агентов и не считайте строку base64 мусором.

Источники и ссылки


Комментарии загружаются…