Claude Code, инструмент Anthropic для работы с кодом из терминала, в ряде случаев приводил к публикации чувствительных данных в открытых репозиториях GitHub. Об этом сообщает Ars Technica со ссылкой на исследование специалистов по безопасности ИИ из компании Apiiro. Они обнаружили тысячи секретов — среди них пароли к базам данных, API-токены и данные root-доступа — внутри файлов настроек Claude Code, попавших в репозитории на GitHub.
Проблема важна не только для отдельных разработчиков: утечка ключей и паролей в публичный репозиторий может дать посторонним доступ к инфраструктуре и данным компаний. При этом речь идёт не о взломе Anthropic, а о том, как инструмент сохраняет разрешения на выполнение команд и как эти файлы попадают в систему контроля версий.
Как возникает утечка
По данным Ars Technica, механизм связан с обработкой подтверждений для автоматических shell-команд. Когда пользователь выбирает вариант «Yes, and don’t ask again», разрешение сохраняется как правило в локальном файле .claude/settings.local.json на компьютере разработчика. Иногда правило записывается в виде шаблона, но нередко сама команда сохраняется в файл настроек как есть — вместе со всеми чувствительными данными, которые в ней могут быть.
Пока файл остаётся на локальной машине, существенной проблемы нет. В документации Claude Code указано, что этот файл добавляется в глобальный список .gitignore разработчика, что обычно мешает его публикации. Однако, отмечает Ars Technica, эта настройка не отражается на уровне репозитория. Поэтому чувствительный файл может быть случайно загружен, например если репозиторий клонирован на другую машину или папка позже стала репозиторием. По данным Apiiro, во многих случаях Claude Code сам коммитит изменения в файл настроек без участия пользователя.
Масштаб находки
Исследователи Apiiro обнаружили более 100 000 случаев, когда локальный файл настроек Claude Code был загружен в публичный репозиторий GitHub. Примерно в 1 100 из них, относящихся к 63 разным организациям, содержались секреты: публичные API-токены, пароли к базам данных или приватные ключи.
Даже после удаления таких файлов из репозитория секреты могут сохраняться в форках исходного проекта, если пользователь GitHub не проявил осторожность, пишет Ars Technica.
Что известно о реакции Anthropic
Хотя проблема привлекла внимание только сейчас, она была отмечена в баг-репорте Claude Code ещё в августе 2025 года. Другие отчёты также указывали, что чувствительный файл настроек иногда не попадал в .gitignore пользователя или что Claude Code мог записывать чувствительные команды в другой файл, не защищённый от публикации через git. Все эти баг-репорты были закрыты без действий после 60 дней неактивности.
В обсуждении на Hacker News Борис Черный (Boris Cherny) из команды Claude Code заявил, что команда «изучает, что можно сделать, чтобы предотвратить это». При этом он отметил, что такие файлы настроек практически никогда не должны попадать в систему контроля версий git, а подобные случаи, по его словам, возникали только тогда, когда «файлы создавались вручную и добавлялись в репозиторий».
Черный рекомендовал использовать автоматический режим Claude Code, который с помощью классификаторов автоматически обрабатывает «рутинные запросы разрешений» без необходимости, по его словам, «вручную поддерживать капризные списки разрешений и запретов». Когда другой пользователь заметил, что в автоматическом режиме чувствительные команды всё равно могут сохраняться в файлы настроек, Черный назвал это «хорошим замечанием» и добавил, что команда «думает над тем, что можно улучшить».
Он также советует пользователям Claude Code применять сканеры секретов, которые ищут чувствительную информацию в файлах и удаляют её, и сообщил, что команда рассматривает возможность встроить такое сканирование в Claude Code в будущем. Однако исследователи Apiiro обнаружили, что 215 из примерно 1 100 публичных секретов в файлах настроек Claude Code не были найдены двумя популярными сканерами — gitleaks и TruffleHog.
Не единичный случай
Ars Technica отмечает, что это далеко не первый случай, когда ИИ-агент непреднамеренно раскрывает чувствительную информацию. В прошлом месяце Meta приостановила функцию обмена ссылками в своём агенте Muse после того, как исследователи безопасности обнаружили, что URL таких ссылок можно легко угадать.
Что это значит
История показывает, что удобные механизмы подтверждения в ИИ-инструментах для разработки могут создавать побочные риски для безопасности. Сохранение разрешённых команд в локальном файле само по себе не является уязвимостью, но комбинация с особенностями git и привычками разработчиков приводит к публикации секретов. Пользователям Claude Code стоит проверить, не попадали ли файлы настроек в репозитории, и оценить, какие чувствительные данные могли быть в сохранённых командах. Anthropic пока не объявила о конкретных изменениях в продукте.

Комментарии · 0
Войдите, чтобы участвовать в обсуждении.