Из публичных логов агента вытащили пароли

Иллюстрация: из логов агента вытащили пароли из скрытых мыслей модели

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

10 августа вышла научная статья восьми исследователей. Они прошли 6 708 открытых логов работы агентов. Расшифровали 315 320 скрытых «мыслей» крупных языковых моделей. Итог: 62 ключа доступа, 33 пароля, десятки токенов — не из того, что вы видите в интерфейсе. Из того, что модель думала про себя. И вот из таких блоков в уже публичных логах вытащили чужие пароли.

Почему «сейф» принимал чужие мысли

Схема: слабая модель читает мысли сильной из зашифрованного блока

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

Прочитали. Взяли блок, который сгенерировал Claude Opus 4.8, и подсунули его Claude Haiku 4.5 — в другой сессии, с другого аккаунта. Сервер съел. Попросили Haiku переписать, что она «видит» в контексте — и получили дословный текст мыслей Opus. Сильную модель даже не трогали: её защита не включалась, стреляли по младшей сестре в том же дворе.

Тот же фокус сработал у OpenAI и Google Gemini. Matthew Green ещё 29 мая доложил в bug bounty: блоки гуляют между сессиями и пользователями. Ответы были мягкие — «не воспроизводится», «нет последствий». После публикации paper провайдеры пропатчили API. Для тех, кто уже выложил логи, патч пришёл вторым номером.

Цифры, от которых хочется проверить свой GitHub

Чеклист: сколько логов просканировали и сколько секретов нашли

Шесть с лишним тысяч публичных trajectories на GitHub и Hugging Face — обычные coding-агенты, демо, «как воспроизвести баг». Из живых сессий, не синтетики: 62 ключа, 33 пароля, 24 access token, 7 приватных ключей, 30 почт.

64 артефакта торчали только в скрытом reasoning. В диалоге на экране их не было. Можно было вылизать чат до блеска — и всё равно утянуть секреты наружу.

Самый злой пример: Codex-агента попросили «санитизировать» репо перед публикацией. Ответ чистый. В голове агента — список ключей, которые он только что убрал из файлов. Разработчик залил лог. Агент честно выполнил задачу и честно же проговорил секреты туда, куда никто не смотрел.

Масштабировать атаку недорого: 10 000 traces декодировать — порядка 720 долларов на Haiku API. Для охотника за чужими ключами это не космос.

Что сделать, если вы когда-то шарили логи

Схема действий: что сделать с логами агента перед публикацией

Сырые транскрипты API до августа 2026-го могут тащить поля signature, thinkingSignature, encrypted_content. Перед любым шарингом — вырезать. Полный дамп «для науки» с сырым ответом API в открытый доступ — плохая идея.

Свежие атаки провайдеры глушат: Anthropic привязала thinking blocks к модели, Google подкрутил бэкенд. Но публично никто не сказал, что старые выложенные блоки уже мёртвые. Ротация ключей надёжнее надежды.

Ключ хоть раз побывал в контексте агента — меняйте. Даже если глазами в чате его не видели. Модель могла проговорить его про себя.

Лог — это память целиком, не переписка

Скрытое reasoning живёт по другим правилам, чем красивый summary. Снаружи вежливый отказ — внутри монолог может идти дальше. Исследователи находили петли слов вроде «but marinade»: внутренний язык, в чат не попадающий.

Вывод простой. Trajectory — снимок всей памяти агента, включая то, что интерфейс спрятал. Выкладываете файл — выкладываете и пароли, которые просили не светить.

Про агентов, Cursor и Make — канал Ковчег и MAX. Собрать связку Cursor + Make + AI по шагам — kv-ai.ru/obuchenie-po-make.