Исследователи показали, что зашифрованные цепочки рассуждений (reasoning traces) — крошечные пакеты данных, которые провайдер отправляет на устройство пользователя для возможности переключения между моделями в рамках одного диалога — могут быть расшифрованы более слабой моделью того же сервиса, что приводит к утечке сотен учетных данных и конфиденциальных сведений. Результаты исследования, подробно описанные в статье Stealing Reasoning Traces from Proprietary LLM APIs, ставят под угрозу функцию удобства, на которую полагаются Anthropic, OpenAI и Google для обеспечения плавности чатов с ИИ.

Зачем нужны зашифрованные блоки

Когда вы общаетесь с большой языковой моделью (LLM), сервис выстраивает «цепочку рассуждений» (reasoning trace): последовательность внутренних промптов, вызовов инструментов и шагов цепочки рассуждений (chain-of-thought), которые привели к ответу. Чтобы вы могли перейти с более крупной модели на более дешевую без потери этой цепочки, провайдеры шифруют трассировку, отправляют её на ваше устройство и ожидают, что вы отправите её обратно с следующим запросом. Шифрование предназначено для обеспечения конфиденциальности цепочки при сохранении непрерывности сессий и возможности смены моделей.

Как работает атака

Исследователи продемонстрировали трехэтапный эксплойт, который не требует взлома самой мощной модели:

  1. Перехват зашифрованного блока рассуждений, сгенерированного мощной моделью во время обычного диалога.
  2. Передача этого блока более слабой модели того же провайдера с просьбой «прочитать» блок.
  3. Поскольку слабая модель использует те же ключи дешифрования, она выводит расшифрованное содержимое в виде открытого текста.

Слабая модель выступает в роли дешифрующего оракула. Злоумышленники не затрагивали внутренние механизмы мощной модели; они просто использовали API провайдера против него самого.

Что удалось восстановить исследователям

  • 182 учетных данных — API-ключи, токены и другие секреты, встроенные в цепочку.
  • 367 фрагментов личной информации — имена, адреса электронной почты, адреса, которые пользователи предоставляли в ходе чата.
  • Полезная нагрузка для prompt-инъекций — вредоносные инструкции, скрытые в зашифрованном блоке, которые могут быть выполнены позже при повторном воспроизведении цепочки.
  • Обходы фильтров безопасности — расшифрованная цепочка выявила шаги, которые были бы заблокированы при проверке в открытом виде, что позволяет вредоносному контенту проникать в диалог.

В статье подчеркивается, что уязвимость заключается не в ошибке криптографического алгоритма; само шифрование работает исправно. Утечка вызвана проектным решением позволить любой модели из парка провайдера расшифровывать блок ради удобства пользователя.

Компромисс, лежащий в основе проблемы

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

Что делать разработчикам прямо сейчас

  • Относитесь к зашифрованным цепочкам как к открытому тексту. Исходите из того, что любой лог, кэш или система мониторинга, хранящие их, могут быть прочитаны злоумышленником.
  • Не фиксируйте цепочки в публичных репозиториях. Даже один случайно попавший блок может раскрыть десятки секретов.
  • Планируйте более строгий контроль. Провайдеры могут ужесточить меры безопасности, что может изменить способ создания мультимодельных агентов.
  • Переходите к явному обмену состоянием. Вместо того чтобы полагаться на скрытые рассуждения, проектируйте агентов так, чтобы они выдавали структурированные данные (JSON, XML и т. д.), которые можно безопасно передавать между моделями без шифрования.
  • Проверяйте свои промпты. Ищите любые конфиденциальные данные, которые попадают в цепочку рассуждений, и удаляйте их перед отправкой запроса.

За чем следить со стороны крупных провайдеров

Публикация статьи заставит Anthropic, OpenAI и Google пересмотреть политику дешифрования, заложенную в их API.

Более широкие последствия

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

Вывод: Зашифрованные цепочки рассуждений не являются границей безопасности; это способ упрощения работы, который может быть использован против вас. Относитесь к ним как к обычному тексту, удаляйте их из логов и перепроектируйте своих агентов так, чтобы они могли работать в будущем, когда только исходная модель сможет читать собственные мысли.