Перейти к основному разделу

Пароли из настроек Claude Code оказались в открытом доступе на GitHub

Обновлено 12 ноября 2026 г.
Claude Code сохраняет пароли в настройках

В публичных репозиториях GitHub исследователи обнаружили файлы настроек Claude Code, содержащие пароли и API-ключи. Конфиденциальные данные попали в открытый доступ, когда разработчики публиковали свои проекты через Git, не замечая, что вместе с кодом сохраняются и учетные данные. Разбираемся, почему утечку не предотвратили защитные механизмы и как обезопасить свои проекты.

Как Claude Code помог опубликовать пароли на GitHub

В начале ноября 2026 года специалисты компании Apiiro, которая занимается безопасностью приложений, обнаружили в публичных репозиториях GitHub файлы настроек Claude Code с паролями и API-ключами. Исследователи нашли 104 185 публичных копий такого файла, и в 1122 из них (около 1,1%) оказались конфиденциальные данные — всего 1379 уникальных секретов. Среди находок — 379 паролей от баз данных, 43 SSH-логина, ключи облачных сервисов (в том числе 23 ключа AWS) и токены доступа к GitHub, GitLab и менеджеру пакетов npm. Если учесть старые версии файлов, общие настройки команд и сохраненные переписки с агентом, общее число секретов достигает 2539 в 1994 репозиториях.

Причиной утечки данных стала особенность Claude Code — ИИ-агента, который помогает писать код, исправлять ошибки и выполнять команды на компьютере пользователя.

Например, разработчик просит агента проверить подключение к базе данных. Claude Code предлагает выполнить команду с паролем и запрашивает разрешение. Если пользователь выбирает «Yes, and don't ask again» («Да, и больше не спрашивать»), агент сохраняет разрешение, чтобы в дальнейшем не задавать тот же вопрос.

При этом вместе с разрешением в файл .claude/settings.local.json может записаться и полный текст команды, включая пароль. Этот JSON-файл хранится в папке проекта на компьютере пользователя и содержит его личные настройки.

Проблема возникает, когда такой файл попадает в Git — систему, которая отслеживает изменения в проекте. Если разработчик или сам агент добавляет его в публичный репозиторий GitHub, содержимое становится общедоступным, включая пароли и API-ключи. По данным Apiiro, в 539 из 1105 репозиториев с реальными секретами коммит, изменивший этот файл, был создан в соавторстве с Claude. Злоумышленники могут использовать такие данные для подключения к базам данных, облачным сервисам и другим ресурсам, к которым эти учетные данные предоставляют доступ.

Масштаб проблемы может быть значительно больше. 11 ноября компания GitGuardian по результатам собственного поиска сообщила о 31 088 уникальных секретах в файлах настроек Claude Code в 23 276 публичных репозиториях, причем 5343 из них оставались действующими на момент обнаружения. В Anthropic заявили, что изучают, как предотвратить такие утечки, а руководитель Claude Code Борис Черни отметил, что этот файл не предназначен для попадания в систему контроля версий.

Устанавливайте надежные пароли и храните их отдельно от файлов проекта

В Kaspersky Premium входит менеджер паролей, который помогает создавать уникальные комбинации и сохраняет их в зашифрованном хранилище.

Попробовать бесплатно

Почему защитные механизмы не всегда предотвращают утечку

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

Даже если пользователь заметит ошибку и удалит пароль или сам файл из проекта, конфиденциальные данные могут остаться доступными. Дело в том, что Git хранит историю изменений, включая предыдущие версии файлов. Поэтому пароль можно найти в старых версиях проекта, опубликованных на GitHub.

Не всегда помогают и специальные сканеры, которые ищут пароли и API-ключи в коде. В исследовании проверили работу двух таких инструментов — Gitleaks и TruffleHog. Gitleaks обнаружил секреты в 564 из 1122 файлов, TruffleHog — в 643, а 215 файлов (около 19%) не заметил ни один из них. Проверка проводилась без режима подтверждения найденных учетных данных. Причина в том, что сканеры хорошо распознают характерные последовательности символов API-ключей, но могут не заметить обычный пароль внутри команды, например переданный через PGPASSWORD= или sshpass -p.

Как проверить настройки Claude Code и защитить проект

Чтобы снизить риск утечки, важно проверять не только код, который создает ИИ-агент, но и файлы настроек Claude Code. Это особенно важно, если вы собираетесь опубликовать проект на GitHub или передать его другому разработчику.

Вот что нужно сделать:

  • Проверьте файл .claude/settings.local.json. В нем Claude Code хранит разрешения на выполнение команд без повторного подтверждения. Иногда вместе с текстом команды сохраняется пароль или API-ключ, поэтому убедитесь, что таких данных в нем нет.
  • Настройте исключения Git. Добавьте .claude/settings.local.json в файл .gitignore, чтобы настройки не публиковались вместе с проектом. Затем проверьте командой git ls-files -- .claude/settings.local.json, отслеживает ли Git этот файл. Если команда показывает путь к файлу, выполните git rm --cached .claude/settings.local.json и сохраните изменение. Файл останется на компьютере, но Git перестанет отслеживать его.
  • Проверяйте содержимое репозитория перед публикацией. Просматривайте новые и измененные файлы, которые собираетесь отправить на GitHub. Особое внимание уделяйте файлам с настройками подключения к сторонним сервисам.
  • Не включайте пароли и API-ключи непосредственно в командах. Для их хранения используйте специальные защищенные хранилища, а для передачи приложению — предусмотренные сервисом механизмы настройки доступа. Не выбирайте вариант «Yes, and don't ask again» для команд, в которых есть секреты.

Дополнительно защитите аккаунты GitHub и других сервисов, которые используете при разработке, с помощью двухфакторной аутентификации. Тогда для входа потребуется не только пароль, но и дополнительное подтверждение. При этом используйте сложные и уникальные пароли для каждого сервиса. Создавать такие комбинации и безопасно хранить их помогает менеджер паролей в составе Kaspersky Premium.

Если конфиденциальные данные уже оказались в общедоступном репозитории, считайте их скомпрометированными. В первую очередь отзовите опубликованные API-ключи и токены в соответствующих сервисах и создайте новые, а скомпрометированные пароли замените. После этого удалите данные из проекта и очистите историю Git. Но одной очисткой ограничиваться нельзя: копии могли сохраниться в форках репозитория и у посторонних пользователей.

Статьи и ссылки по теме:

Рекомендуемые продукты:

Пароли из настроек Claude Code оказались в открытом доступе на GitHub

В публичных репозиториях GitHub обнаружили тысячи секретов, связанных с Claude Code. Почему функция «Don't ask again» создает риск утечки и как защитить свои данные.
Kaspersky logo

Статьи на эту тему