Claude Code зберігає паролі та ключі в публічних репозиторіях через функцію «Don't Ask Again»

Головне за 30 секунд
- AI-асистент Claude Code зберігає схвалені користувачем команди разом із паролями та API-ключами у файлі .claude/settings.local.json.
- Компанія Apiiro виявила 1 122 публічні копії цього файлу на GitHub, які містять принаймні один незашифрований секрет.
- Видалення файлу з репозиторію не допомагає, оскільки конфіденційні дані залишаються в історії git та у форках.
- Серед виявлених секретів є паролі баз даних, SSH-логіни, токени GitHub, GitLab, npm та AWS-ключі.
Зміст
Як секрети потрапляють до публічних репозиторіїв
Коли розробник обирає опцію «Yes, and don't ask again» у відповідь на запит AI-асистента Claude Code, інструмент може зберігати команду у файл локальних налаштувань .claude/settings.local.json. Якщо команда виконувалася з введеними вручну паролями чи токенами, вони записуються туди у відкритому вигляді.
Компанія Apiiro повідомила, що виявила 1 122 публічні копії цього файлу на GitHub, які містять щонайменше один секрет. Загалом дослідники нарахували 1 379 унікальних секретів. Серед власників таких файлів значаться 63 організації, переважно софтверні компанії.
Які саме дані опинилися під загрозою
Більш ніж третина знайдених секретів надають прямий доступ до баз даних, зокрема зафіксовано 379 паролів БД. Окрім цього, знайдено 43 SSH-логіни для публічних серверів, 42 токени для GitHub, GitLab і npm, а також 23 ключі AWS. У багатьох випадках файди перебували у гілці за замовчуванням понад 217 днів.
Аналіз показав, що у 539 випадках коміт із цим файлом містив позначку про те, що Claude є співавтором, що вказує на автоматичне створення комітів самим асистентом. Попередні версії файлів та їхні форки додають ще сотні прихованих секретів.
Рекомендації для розробників та команд безпеки
Експерти радять розробникам спершу змінювати всі паролі та ключі, які коли-небудь зберігалися у файлі, і лише потім очищати репозиторії. Також рекомендується використовувати менеджери секретів замість введення даних безпосередньо в командному рядку та налаштовувати загальні правила для шаблонів.
Службам безпеки пропонують розглядати папки агентів на кшталт .claude/, .cursor/ чи .gemini/ як сховища секретів та інтегрувати їх перевірку у системи CI.



