У AI-агентов нашли второй, почти невидимый канал утечки данных: скрытое reasoning.
У AI-агентов нашли второй, почти невидимый канал утечки данных: скрытое reasoning. Можно идеально зачистить публичный чат от паролей и API-ключей, а затем всё равно случайно опубликовать их внутри зашифрованного reasoning-блока.
Исследователи разобрали архитектуру API Anthropic, OpenAI и Google. Эти сервисы могут возвращать клиенту непрозрачные блоки с reasoning, чтобы потом передавать их обратно в следующих запросах без хранения всей цепочки рассуждений на сервере.
Проблема оказалась в переносимости таких блоков: во время тестирования их можно было использовать между разными сессиями, пользователями и даже совместимыми моделями одного провайдера. В результате reasoning сильной модели передавали более слабой модели того же семейства, которая становилась своеобразным «декодером».
Масштаб эксперимента
Исследователи собрали 6 708 публичных agent-траекторий с GitHub и Hugging Face и восстановили 315 320 reasoning-блоков. В 328 сессиях, или 4,9%, обнаружился хотя бы один чувствительный элемент.
В реальных пользовательских сессиях нашли:
- 62 API-ключа;
- 33 пароля;
- 24 access token;
- 7 private keys;
- 30 личных email.
Причём 64 чувствительных элемента вообще отсутствовали в видимой истории чата и находились только внутри reasoning. То есть обычная очистка логов их бы не заметила.
Самый неприятный вывод: безопасность всей линейки моделей может определяться не самой защищённой моделью, а самой слабой совместимой моделью, которая умеет прочитать тот же reasoning-блок.
После responsible disclosure провайдеры внесли изменения, и описанные атаки исследователям уже не удалось воспроизвести тем же способом. Но архитектурный урок остаётся: зашифрованное reasoning в логах нельзя автоматически считать безопасными метаданными.
Если агент работал с секретами, API-ключами или приватными данными, reasoning-блоки лучше вообще не публиковать вместе с трассировкой.
Исследование: Stealing Reasoning Traces from Proprietary LLM APIs.

