← Назад к новостям

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

Источник: tech_ixbt
2026-11-09 13:29:00

ИИ-агент Claude Code оказался связан с публикацией тысяч конфиденциальных данных разработчиков на GitHub. Компания Apiiro, специализирующаяся на безопасности приложений, обнаружила 2539 действующих секретов в 1994 публичных репозиториях. Среди них — пароли баз данных, API-токены, SSH-учётные данные с правами root и облачные ключи с административными привилегиями. В 539 из 1105 репозиториев, где нашли реальные секреты, Claude участвовал в создании коммита [записи об изменениях в коде], содержащего файл с конфиденциальными данными.

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

Масштаб обнаруженной проблемы оказался значительным: Apiiro нашла 104 185 публичных копий таких файлов в 103 617 репозиториях GitHub. Из них 1994 содержали реальные секреты. Большинство затронутых проектов принадлежали отдельным разработчикам, однако среди пострадавших оказались и 63 организации — стартапы, софтверные компании и крупные поставщики программного обеспечения. В отчёте перечислены, в частности, административный облачный ключ поставщика баз данных, пароль производственной базы Azure PostgreSQL, рабочий токен Square и пароль владельца базы медицинских записей.

Источник изображения: сгенерировано Muse

Claude Code пытается предотвращать подобные ситуации: при создании файла он автоматически добавляет его в глобальный .gitignore разработчика. Это список файлов, которые Git — система контроля версий — не должен включать в коммиты. Однако защита действует не во всех сценариях. Она не распространяется на репозитории, созданные позднее внутри уже существующей папки, копии проекта на других компьютерах и файлы, которые разработчик успел добавить в репозиторий раньше. Кроме того, глобальное правило не попадает в собственный .gitignore проекта и поэтому не передаётся вместе с ним другим участникам разработки.

Дополнительная проблема заключается в том, что популярные сканеры, как Gitleaks и TruffleHog, могут пропускать такие секреты. Эти инструменты обычно ищут характерные форматы ключей: известные префиксы сервисов и длинные случайные последовательности символов. Но пароль, записанный в команде как PGPASSWORD=, переданный через sshpass -p или указанный после mysql -p, выглядит для сканера как обычный текст. Аналогично могут оставаться незамеченными токены в заголовках авторизации команд curl. В результате даже включённые средства проверки репозитория не гарантируют обнаружения утечки.

Проблема не ограничивается настройками Claude Code. Apiiro обнаружила конфиденциальные данные в истории переписки с ИИ-агентами, файлах памяти, заметках для передачи задач и развёртывания приложений, а также настройках автоматического одобрения команд в VS Code Copilot. Аналогичные файлы находили в репозиториях Hugging Face и GitLab. Исследователи предупреждают, что такие данные могут попасть не только в GitHub, но и в опубликованные пакеты, Docker-образы и архивы проектов.

Руководитель разработки Claude Code Борис Черни подтвердил, что Anthropic изучает способы предотвращения подобных утечек. Он отметил, что файл настроек не предназначен для публикации в системе контроля версий, а обнаруженные случаи связаны с тем, что разработчики вручную создавали и добавляли его в репозитории. Черни также рекомендовал использовать более безопасный режим Auto вместо ручного управления списками разрешённых и запрещённых команд, а также включать сканирование секретов на GitHub независимо от используемого ИИ-агента.

Apiiro рекомендует удалить все правила, содержащие секреты в открытом виде, и немедленно сменить каждый скомпрометированный пароль или ключ. Простого удаления файла недостаточно: его содержимое может сохраниться в истории Git, версиях и локальных копиях репозитория. Разработчикам советуют не вводить учётные данные непосредственно в команды, а использовать переменные окружения, обращающиеся к секретам, хранящимся в специализированных менеджерах. Папки claude, cursor, gemini и specstory, а также файлы памяти ИИ-агентов следует рассматривать как потенциально содержащие конфиденциальную информацию — наравне с .env.

Поделиться:

Telegram ВКонтакте

Читайте также

До 80 часов без подзарядки: Bloody выпустила три беспроводные игровые гарнитуры
Хакеры получили доступ к аккаунтам владельцев двух автобрендов и смогли удалённо открывать машины и запускать двигатели
Apple превратит Siri в ИИ-агента
Читать оригинал на tech_ixbt →