Современные программные решения для работы с искусственным интеллектом и обработки естественного языка становятся всё более популярными и востребованными. Один из таких инструментов — Claude Code от компании Anthropic, которая позиционирует свой продукт как высокотехнологичный и удобный для разработчиков и конечных пользователей. Однако недавно в сообществе разработчиков и пользователей была выявлена серьёзная уязвимость, связанная с безопасностью хранения личных данных и поведения приложения при работе с пользовательским вводом. Речь идёт о том, что Claude Code при взаимодействии с пользователем сохраняет на локальной машине файл с именем ~/.claude.
json, в котором фиксируются не только полные запросы, но и частичные, а порой и удалённые нажатия клавиш. Всё это сопровождается сохранением данных из OAuth аутентификации — в частности, открытых email-адресов пользователей и прочей информации, относящейся к их аккаунтам и организациям. Такая практика вызывает серьёзное беспокойство у специалистов по безопасности и конфиденциальности, поскольку потенциально позволяет злоумышленникам или другим пользователям получить доступ к чувствительной информации и даже к ключевым идентификаторам пользователей без каких-либо ограничений или шифрования. Важно отметить, что данная уязвимость была подтверждена на нескольких платформах, включая Windows Subsystem for Linux (WSL) и Mac OS, что демонстрирует её системный характер. Такое поведение программы — сохранение лога взаимодействия полностью в открытом виде и без ограничения размера — ведёт к постоянному увеличению объёма файла, который хранит все действия пользователя, даже если он старался очистить историю или удалить непреднамеренно введённые данные.
Кроме того, сам факт ведения подробнейшего журнала с частичными нажатиями клавиш по сути превращает Claude Code в инструмент для кейстрок-логгинга, что является прямой угрозой для приватности пользователей. Особое внимание следует уделить тому, как именно происходит фиксация частичных запросов. Был обнаружен факт, что нажатие комбинации Ctrl+L, которая должна просто очищать текущую строку ввода, считается системой как «подтверждение» ввода и запускает запись содержимого буфера в лог. В итоге даже набранные тексты, которые пользователь задумал удалить либо изменить, фиксируются программа в открытом виде. При этом авторы программы сохраняют OAuth-метаданные, такие как email-адрес пользователя или его роль в организации, без какой-либо необходимости в дальнейшем использовании этих данных для аутентификации.
Интересно, что удаление этого файла не приводит к разлогиниванию — пользователь остается в системе, что говорит о том, что хранение данных происходит просто из-за ошибок или особенностей реализации, а не по объективным причинам безопасности. Эта проблема стала широко обсуждаться в технических сообществах после открытия одного из пользователей, который написал скрипт-миграцию для очистки файла и удаления всех лишних данных, кроме необходимых настроек сервера MCP. Также в комментариях под открытыми обсуждениями на GitHub многие разработчики выразили удивление и обеспокоенность тем, что Anthropic реализовала запись всех данных в один большой JSON-файл без разделения, шифрования или ограничений по размерам. Некоторые специалисты предложили использовать встроенные СУБД на клиентской стороне, например, SQL.js, чтобы грамотно структурировать данные и повысить безопасность, повысить производительность и избежать проблем с ростом объёма файла.
Имеются предположения о том, что подобная детальная история может использоваться для кеширования данных команд, статуса или отладочных сообщений, однако это не оправдывает хранение личных данных и частичных нажатий. Пользователи сообщество опасаются, что подобное хранение без явного согласия и прозрачности нарушает их приватность и может привести к утечкам конфиденциальной информации. Для многих владельцев компьютеров и особенно для разработчиков, работающих с чувствительными проектами, ситуация осложняется тем, что в записываемых сессиях обнаруживаются пути к локальным рабочим каталогам и названия проектов, что представляет дополнительный риск раскрытия внутренней информации. В первые недели после публикации проблемы создано несколько патчей и рекомендаций, позволяющих вручную очищать ~/.claude.
json и ограничивать накопление данных, но полноценного решения от Anthropic пока не опубликовано. Пользователям, особенно тем, кто работает с конфиденциальной информацией или не желает раскрывать свои частичные действия, рекомендуется самостоятельно отслеживать состояние этого файла, регулярно очищать его и максимально ограничивать использование возможностей приложения без понимания рисков. Кроме того, стоит рассмотреть возможность запускать Claude Code в изолированных окружениях или контейнерах, где доступ к персональным данным и рабочим каталогам минимален. В перспективе можно ожидать, что разработчики улучшают логику записи данных, убирая фиксирование клавиш без подтверждения, вводя шифрование и используясь более надежные методы хранения сессий и аутентификации. Без решительных мер такая практика может вызвать массовое оттекание пользователей, настороженность со стороны регуляторов и негативную репутацию, что критично для компаний, работающих в сфере искусственного интеллекта и обслуживающих профессиональную аудиторию.