AI Radar
Исследователи продемонстрировали способ извлекать скрытые рассуждения GPT, Claude и Gemini, передавая зашифрованное состояние совместимой, но легче обходящей ограничения модели того же провайдера. Криптографию при этом не взламывали: слабым местом оказалась недостаточно строгая привязка блока к модели, сессии или аккаунту.
Некоторые reasoning API возвращают клиенту непрозрачный подписанный или зашифрованный блок с внутренним состоянием рассуждения. Пользователь не может прочитать или незаметно изменить его, но может отправить обратно при следующем запросе, чтобы модель продолжила длинную задачу без повторного вычисления всех промежуточных шагов. Такой дизайн упрощает возобновление агентных процессов, ветвление диалога, сжатие контекста и переключение моделей, а провайдеру не приходится постоянно хранить всё состояние сессии. Однако блок, покинувший сервер, превращается не только в криптографическую, но и в задачу разграничения доступа.
Подпись подтверждает, что состояние создал сервер и клиент его не подменил, но сама по себе не отвечает на вопрос, можно ли использовать его с другим аккаунтом, диалогом или endpoint. В показанной атаке скрытое рассуждение, созданное более сильной моделью, передавали совместимой модели того же семейства. Например, блок Claude Opus удавалось загрузить в Haiku, после чего исследователи пытались заставить более слабую и потенциально менее устойчивую к jailbreak модель переписать уже доступное ей состояние обычным текстом. Таким образом, обходилась не защита генератора рассуждения, а самый слабый совместимый декодер.
Поскольку исследователи не имели эталонной серверной расшифровки, доказать посимвольное совпадение восстановленного текста они не могли. Для косвенной проверки исходные модели решили 120 задач Codeforces, а длину полученного текста сопоставили с числом hidden thinking tokens, указанным API. Для нескольких моделей Anthropic, OpenAI и Google значения во многих случаях оказались близки к линии y=x. Это сильнее простого смыслового сходства, но всё ещё не доказывает идентичность каждого токена: совместимая модель могла частично пересказать или реконструировать загруженное состояние.
Более тревожный сигнал дали реальные журналы агентов. Из 6708 публичных запусков на GitHub и Hugging Face исследователи выделили 315 320 reasoning-блоков; после восстановления в них обнаружились API-ключи, пароли, токены доступа, приватные ключи, адреса электронной почты и внутренние технические сведения. Часть значений отсутствовала в открытой истории разговора, поэтому их трудно объяснить одним повторным рассуждением по видимому контексту. Удаление секрета из репозитория или чата при этом не очищает старое состояние агента, если модель ранее прочитала credential во время работы.
Такие блоки ценны не только как источник секретов, но и как дешёвые данные для дистилляции: они сохраняют декомпозицию задачи, промежуточные решения, исправления и отвергнутые пути. Эксперимент с Kimi K3 показал, что добавление лишь начального фрагмента — около 1% — рассуждения Opus заметно сдвигало последующий ответ в сторону результата Opus. Это не доказывает происхождение обучающих данных Kimi и не подтверждает точное копирование reasoning, но показывает, что извлечённое состояние способно влиять на поведение модели уже во время инференса. Для агентных систем это создаёт дополнительный риск переноса скрытых инструкций вместе с восстановленным состоянием.
Разработчикам нельзя считать непрозрачный reasoning-блок безвредным только потому, что клиент не способен расшифровать его самостоятельно. Его следует хранить как секрет, исключать из публичных логов и ограничивать срок жизни, а провайдерам — криптографически связывать состояние с аккаунтом, сессией, конкретной моделью и разрешённой операцией. Особенно важно пересмотреть агентные журналы: в скрытом состоянии могут остаться credentials, уже удалённые из видимой истории.
DSML editors review the selection. AI helps deduplicate signals and draft the text; the published edition remains an editorial product, not a feed of individual channels.