Claude Code от Anthropic — инструмент, который позволяет разработчикам запускать в своих проектах команды оболочки, сгенерированные ИИ. Если пользователь нажимает «Да, и больше не спрашивать», разрешение сохраняется в локальном файле .claude/settings.local.json. В нём записана точная команда, которая может содержать пароли от баз данных, токены API и другие учётные данные. В документации Anthropic сказано, что этот файл добавляется в глобальный .gitignore, поэтому он должен оставаться на компьютере разработчика.
Исследователи Apiiro выяснили, что запись в .gitignore не распространяется на сам репозиторий. Если папку с файлом настроек впоследствии превратить в Git-репозиторий или если Claude Code сам добавит файл в коммит, конфиденциальные данные могут попасть на GitHub. В ходе проверки общедоступных репозиториев GitHub Apiiro обнаружила более 100 000 таких файлов, примерно в 1 100 из которых содержались реальные секреты. Они принадлежали 63 различным организациям; среди них были общедоступные токены API, пароли от баз данных и закрытые ключи.
Если файл стал общедоступным, его удаление из основного репозитория не стирает копии в форках и кэше. Поэтому любой, кто клонирует репозиторий или просматривает его историю, всё ещё может увидеть утёкшие учётные данные. Исследователи предупредили: если раскрытые ключи ещё действуют, злоумышленники могут получить доступ к базам данных, облачным сервисам или внутренним системам.
Чем опасна утечка
Для разработчиков это открытие — напоминание о том, что перед коммитом нужно проверять, какие файлы отслеживаются системой контроля версий. Одного глобального .gitignore недостаточно: в каждом репозитории должен быть собственный .gitignore, исключающий .claude/settings.local.json. Организациям также следует заменить все учётные данные, которые могли попасть в открытый доступ, и проверить репозитории на наличие аналогичных файлов.
Почему это важно
Разработчики могут случайно раскрыть учётные данные при работе с Claude Code, что создаёт риск несанкционированного доступа к сервисам. Организациям следует проверить репозитории, считать файл настроек конфиденциальным, добавить его в .gitignore каждого проекта и заменить все утёкшие ключи.