КИБЕРБЕЗОПАСНОСТЬ

Claude Code вынес секреты в GitHub: найдено более 1 100 утечек

Более 1 100 секретов из настроек Claude Code попали в публичные репозитории GitHub: среди них ключи API, пароли БД и приватные ключи.

✍️ Редакция iTech News | 10.11.2026 | ⏱ 4 мин | Источник: Ars Technica
🦠

Более 100 000 локальных файлов настроек Claude Code оказались в публичных репозиториях GitHub, а примерно в 1 100 из них исследователи нашли ключи API, пароли баз данных и приватные ключи. Секреты Claude Code утекли не из-за взлома GitHub, а из-за привычного действия разработчика: разрешить инструменту выполнить команду и больше не спрашивать. Для команд, которые уже встраивают ИИ-агентов в ежедневную разработку, это ещё один неприятный урок: файл конфигурации способен стать таким же опасным, как случайно закоммиченный .env.

Как сообщает Ars Technica, проблему обнаружили исследователи компании Apiiro. Они изучили публичные репозитории и нашли свыше 100 000 случаев, когда в GitHub загружали файл .claude/settings.local.json. Только около 1 100 файлов из 63 организаций содержали реальные чувствительные данные: публичные токены API, учётные данные для баз данных, приватные ключи и данные для привилегированного доступа. Доля выглядит небольшой, но для атакующего это не статистика, а готовая очередь потенциальных точек входа.

Как настройка превращается в утечку

Claude Code просит подтверждение перед автоматическим запуском команд в оболочке. Если пользователь выбирает вариант «разрешить и больше не спрашивать», программа сохраняет это решение как правило в локальном файле настроек. Иногда там записывается шаблон команды, но нередко — сама команда целиком. Если в ней были токен, пароль или строка подключения, они попадают в settings.local.json в открытом виде.

Пока файл живёт только на рабочей машине, проблема ограничена безопасностью этой машины. Но разработчики постоянно клонируют проекты, превращают существующие каталоги в репозитории и переносят рабочие окружения. В документации Anthropic указано, что этот файл добавляется в глобальный .gitignore пользователя. Глобальное правило, однако, не попадает в сам репозиторий. На другой машине его может не быть, а каталог может стать Git-репозиторием уже после появления настроек. Apiiro также указывает, что в некоторых случаях Claude Code коммитил изменения в такой файл без прямого участия пользователя.

Удаление файла из основной ветки не обязательно закрывает инцидент. Секрет мог остаться в истории коммитов, форке или локальном клоне. Поэтому команда, обнаружившая settings.local.json в публичном репозитории, должна считать записанные там данные скомпрометированными: отозвать и перевыпустить токены, сменить пароли, проверить ключи и историю репозитория. Простое удаление файла лечит витрину, а не утечку.

Старый баг, новая зона ответственности

Первые жалобы на поведение Claude Code появились ещё в августе 2025 года. В других отчётах пользователи писали, что файл иногда не добавлялся в глобальный список игнорирования или что чувствительные команды сохранялись в другом файле, не защищённом от попадания в Git. По данным Ars Technica, эти обращения были закрыты после 60 дней без активности.

Борис Черни из команды Claude Code в обсуждении на Hacker News заявил, что команда изучает варианты защиты. Он подчеркнул, что такие настройки в принципе не должны коммититься в исходный код, и связал случаи утечки с ручным созданием и добавлением файлов. В качестве промежуточного варианта Черни предложил автоматический режим Claude Code, который классифицирует рутинные запросы на разрешения и уменьшает необходимость вести хрупкие списки разрешений и запретов. Но после замечания, что и в этом режиме чувствительные команды могут сохраняться в настройках, он признал проблему и сообщил, что команда думает над улучшениями.

Отдельная ловушка — надежда на сканер секретов как на последнюю линию обороны. Исследователи Apiiro проверили найденные файлы и выяснили, что 215 из примерно 1 100 утечек не обнаружили два популярных инструмента, gitleaks и TruffleHog. Это не аргумент против сканирования: его всё равно стоит включать в CI, pre-commit-хуки и проверку истории. Но секреты Claude Code показывают, что сканер не заменяет понятные правила хранения конфигурации, ревью служебных файлов и запрет на передачу учётных данных в аргументах команд.

Для российских команд вывод вполне прикладной: внесите .claude/settings.local.json в репозиторный .gitignore, а не полагайтесь только на настройки ноутбуков сотрудников; добавьте проверку таких файлов в CI и заранее договоритесь, какие ИИ-инструменты могут получать доступ к продовым секретам. Самый неудобный вопрос теперь адресован не только Anthropic: смогут ли поставщики агентных инструментов сделать безопасный путь поведением по умолчанию, пока разработчики не начали относиться к их конфигурациям как к ещё одному каналу утечки. Детали исследования и реакции команды собраны в материале Ars Technica.

Поделиться: Telegram X LinkedIn