VMTech
Обсудить проект →

Apiiro нашла 1 379 секретов в файлах настроек Claude Code на GitHub

Apiiro нашла 1 379 секретов в файлах настроек Claude Code на GitHub

Компания Apiiro обнаружила в публичных репозиториях GitHub 1 122 копии файла .claude/settings.local.json, содержащие как минимум один секрет. Всего исследователи насчитали 1 379 учётных данных: среди них 379 паролей баз данных, 23 ключа AWS, 42 токена GitHub, GitLab и npm, а также 43 SSH-учётные записи для публичных серверов.

Файл создаёт Claude Code — инструмент Anthropic для разработки с ИИ. Риск связан с выбором пользователем опции «Да, больше не спрашивать» при подтверждении выполнения shell-команды. Ассистент сохраняет разрешающее правило в настройках проекта, а при точной команде записывает её целиком, включая пароль, токен или ключ, если они были указаны прямо в строке.

Почему локальная защита не останавливает публикацию

Claude Code при первом создании файла в Git-репозитории добавляет его в глобальный список исключений Git на конкретном компьютере пользователя. Это не равнозначно записи в проектном .gitignore: настройка не передаётся другим участникам и не помогает, если файл уже был добавлен в коммит.

Apiiro отследила 1 105 репозиториев и в 539 случаях увидела изменение файла в коммите, где Claude указан соавтором. Исследователи воспроизвели сохранение полных команд на актуальных моделях Opus 5.5 и Fable 5.1.

Удаление файла из рабочей ветки также не ликвидирует инцидент. В 509 репозиториях старые версии содержали ещё 734 секрета, которых уже нет в актуальных копиях. Ещё 211 форков 74 репозиториев сохранили те же данные, что и исходные проекты.

Масштаб находок и ограничения сканеров

Поиск Apiiro выявил 104 185 копий .claude/settings.local.json в 103 617 репозиториях. Секреты нашлись примерно в 1,1% файлов. На момент проверки все файлы с секретами оставались в основной ветке своих репозиториев, а в половине случаев находились там не менее 217 дней.

Проблема затрагивает и общий файл .claude/settings.json, который команды могут намеренно хранить в репозитории: секреты обнаружились в 298 из 76 011 его копий. С учётом истории Git, общего файла и сохранённых журналов диалогов агентов исследователи насчитали 2 539 секретов в 1 994 репозиториях.

Обычные средства поиска не покрывают весь риск. Gitleaks отметил 564 из 1 122 файлов с секретами, TruffleHog — 643, а 215 файлов не обнаружил ни один из двух сканеров. Наиболее частая причина пропусков — пароли внутри команд, например после PGPASSWORD=, sshpass -p или mysql -p: такие значения не всегда соответствуют известным форматам ключей.

Что проверить разработчикам и командам безопасности

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

После этого стоит прекратить отслеживание локального файла командой git rm --cached .claude/settings.local.json и добавить его в проектный .gitignore. Из локальных настроек необходимо удалить разрешающие правила с секретами. Вместо значений в командной строке безопаснее использовать переменные из менеджера секретов, например $DB_URL, а для разрешений выбирать шаблоны команд, а не единичные команды.

Риск использования ИИ-инструментов в разработке проявляется и в других сценариях: использование Claude в исследовательских атаках показывает, как возможности Claude могут применяться в исследовательских атаках, а сохранённые настройки расширяют поверхность утечек. Командам безопасности стоит относиться к каталогам агентов .claude/, .cursor/, .gemini/ и файлам памяти агентов как к потенциальным хранилищам секретов, проверять их в pre-commit и CI, а также включать анализ истории Git.

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

#claudecode#githubsecurity#secretsmanagement#devsecops
Открытая аналитика
На сайте 4 просмотров
мин чтения 4 09.11.2026
Instagram

Apiiro нашла 1 379 секретов в файлах настроек Claude Code на GitHub

Открыть публикацию в Instagram ↗