Исследователи показали, что зашифрованные цепочки рассуждений (reasoning traces) — крошечные пакеты данных, которые провайдер отправляет на устройство пользователя для возможности переключения между моделями в рамках одного диалога — могут быть расшифрованы более слабой моделью того же сервиса, что приводит к утечке сотен учетных данных и конфиденциальных сведений. Результаты исследования, подробно описанные в статье Stealing Reasoning Traces from Proprietary LLM APIs, ставят под угрозу функцию удобства, на которую полагаются Anthropic, OpenAI и Google для обеспечения плавности чатов с ИИ.
Зачем нужны зашифрованные блоки
Когда вы общаетесь с большой языковой моделью (LLM), сервис выстраивает «цепочку рассуждений» (reasoning trace): последовательность внутренних промптов, вызовов инструментов и шагов цепочки рассуждений (chain-of-thought), которые привели к ответу. Чтобы вы могли перейти с более крупной модели на более дешевую без потери этой цепочки, провайдеры шифруют трассировку, отправляют её на ваше устройство и ожидают, что вы отправите её обратно с следующим запросом. Шифрование предназначено для обеспечения конфиденциальности цепочки при сохранении непрерывности сессий и возможности смены моделей.
Как работает атака
Исследователи продемонстрировали трехэтапный эксплойт, который не требует взлома самой мощной модели:
- Перехват зашифрованного блока рассуждений, сгенерированного мощной моделью во время обычного диалога.
- Передача этого блока более слабой модели того же провайдера с просьбой «прочитать» блок.
- Поскольку слабая модель использует те же ключи дешифрования, она выводит расшифрованное содержимое в виде открытого текста.
Слабая модель выступает в роли дешифрующего оракула. Злоумышленники не затрагивали внутренние механизмы мощной модели; они просто использовали API провайдера против него самого.
Что удалось восстановить исследователям
- 182 учетных данных — API-ключи, токены и другие секреты, встроенные в цепочку.
- 367 фрагментов личной информации — имена, адреса электронной почты, адреса, которые пользователи предоставляли в ходе чата.
- Полезная нагрузка для prompt-инъекций — вредоносные инструкции, скрытые в зашифрованном блоке, которые могут быть выполнены позже при повторном воспроизведении цепочки.
- Обходы фильтров безопасности — расшифрованная цепочка выявила шаги, которые были бы заблокированы при проверке в открытом виде, что позволяет вредоносному контенту проникать в диалог.
В статье подчеркивается, что уязвимость заключается не в ошибке криптографического алгоритма; само шифрование работает исправно. Утечка вызвана проектным решением позволить любой модели из парка провайдера расшифровывать блок ради удобства пользователя.
Компромисс, лежащий в основе проблемы
Провайдеры внедрили возможность «переключения моделей» в свои API, потому что разработчики и конечные пользователи ценят непрерывность. Если бы шифрование было привязано к конкретному экземпляру модели или сессии, плавный переход был бы невозможен, что вынудило бы разработчиков самостоятельно реализовывать управление состоянием. В статье утверждается, что безопасность была намеренно принесена в жертву гибкости.
Что делать разработчикам прямо сейчас
- Относитесь к зашифрованным цепочкам как к открытому тексту. Исходите из того, что любой лог, кэш или система мониторинга, хранящие их, могут быть прочитаны злоумышленником.
- Не фиксируйте цепочки в публичных репозиториях. Даже один случайно попавший блок может раскрыть десятки секретов.
- Планируйте более строгий контроль. Провайдеры могут ужесточить меры безопасности, что может изменить способ создания мультимодельных агентов.
- Переходите к явному обмену состоянием. Вместо того чтобы полагаться на скрытые рассуждения, проектируйте агентов так, чтобы они выдавали структурированные данные (JSON, XML и т. д.), которые можно безопасно передавать между моделями без шифрования.
- Проверяйте свои промпты. Ищите любые конфиденциальные данные, которые попадают в цепочку рассуждений, и удаляйте их перед отправкой запроса.
За чем следить со стороны крупных провайдеров
Публикация статьи заставит Anthropic, OpenAI и Google пересмотреть политику дешифрования, заложенную в их API.
Более широкие последствия
Это открытие подчеркивает классическую дилемму безопасности: удобство часто открывает «черный ход». Позволяя любой модели расшифровывать блок, принадлежащий пользователю, провайдеры предоставили злоумышленникам легкий путь к конфиденциальным данным. Исправление, скорее всего, сделает интеграцию ИИ немного более громоздкой, но оно также восстановит ожидание того, что зашифрованные данные остаются зашифрованными.
Вывод: Зашифрованные цепочки рассуждений не являются границей безопасности; это способ упрощения работы, который может быть использован против вас. Относитесь к ним как к обычному тексту, удаляйте их из логов и перепроектируйте своих агентов так, чтобы они могли работать в будущем, когда только исходная модель сможет читать собственные мысли.
