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 мусором.