Кібербезпека

Claude Code зберіг секрети та паролі у 1122 публічних файлах на GitHub

V

Voydevich.com · редактор Богдан Войдевич

3 хв читання

Робоче місце розробника з увімкненим монітором у напівтемному офісі

Компанія з кібербезпеки Apiiro виявила, що паролі та API-ключі, які розробники вводили в схвалені команди в Claude Code, потрапили у відкриті репозиторії GitHub. Коли користувач обирає опцію «Yes, and don't ask again», ШІ-асистент від Anthropic зберігає точну команду разом із секретом у файлі налаштувань проєкту.

За даними Apiiro, щонайменше один секрет містять 1 122 публічні копії файлу .claude/settings.local.json. Загалом у них виявлено 1 379 унікальних секретів. Одна з компаній, яку сповістили дослідники, підтвердила дійсність свого скомпрометованого ключа.

Як секрети потрапляють у файл

За замовчуванням Claude Code запитує дозвіл перед виконанням більшості команд оболонки. Якщо користувач натискає «Yes, and don't ask again», інструмент записує правило дозволу у файл .claude/settings.local.json. Якщо правило створюється під одну конкретну команду, будь-який пароль чи токен зберігається у відкритому вигляді (plain text). Дослідники відтворили таку поведінку в моделях Opus 5.5 та Fable 5.1.

Під час першого запису Claude Code додає файл до глобального списку виключень Git поточного користувача, однак це правило діє лише локально на одній машині та не додає файл до .gitignore проєкту. У 539 з 1 105 проаналізованих репозиторіїв файл змінювався комітом, де Claude був зазначений як співавтор (co-author).

Масштаб витоку за даними Apiiro

Загалом на GitHub знайдено 104 185 копій файлу у 103 617 репозиторіях. Понад третина знайдених секретів надають прямий доступ до баз даних (зокрема 379 паролів). Також виявлено 43 SSH-доступи для публічних серверів, 42 токени для GitHub, GitLab і npm та 23 ключі AWS.

Серед постраждалих — 63 організації, переважно софтверні компанії. Зокрема, знайдено хмарний адмін-ключ постачальника баз даних і пароль власника бази медичних записів. У половині репозиторіїв файли були присутні на дефолтній гілці щонайменше 217 днів. З урахуванням історії Git, форків, файлів .claude/settings.json та логів чатів зафіксовано 2 539 секретів у 1 994 репозиторіях.

Рекомендації дослідників

Видалення файлу не усуває витік через збереження історії в Git та форках. Apiiro радить:

  • Провести ротацію всіх паролів, токенів і ключів, які будь-коли були у файлі;
  • Зупинити відстеження файлу командою git rm --cached .claude/settings.local.json та додати його до .gitignore проєкту;
  • Використовувати змінні оточення (наприклад, $DB_URL) або затверджувати шаблони команд замість передачі відкритих секретів;
  • Внести каталоги агентів (.claude/, .cursor/, .gemini/, .specstory/) до сканерів секретів у CI та pre-commit хуках.

Стандартні сканери виявили не всі витоки: gitleaks помітив 564 файли, TruffleHog — 643, а 215 файлів пропустили обидва інструменти, оскільки паролі в параметрах на кшталт PGPASSWORD= чи mysql -p схожі на звичайний текст.

Реклама · cv-finder.com

Резюме розробника, яке читають до кінця

Подивіться приклад CV Software Engineer і зберіть своє за його структурою.

Дивитись приклад

Що це означає для розробників

Розробникам, які використовують Claude Code, необхідно перевірити репозиторії та історію комітів на наявність .claude/settings.local.json. У разі знаходження слід негайно відкликати й змінити всі передані в командах ключі й паролі, а сам файл додати до .gitignore проєкту.

Ключові факти

  • У 1122 публічних файлах .claude/settings.local.json на GitHub знайдено 1379 секретів.

  • Claude Code зберігає повну команду з секретами у відкритому вигляді при виборі опції «Yes, and don't ask again».

  • Інструмент додає файл лише до глобальних налаштувань Git користувача, але не до .gitignore самого проєкту.

  • Серед виявлених даних — 379 паролів до баз даних, 43 SSH-доступи, 42 токени платформ розробки та 23 ключі AWS.

  • Чотири попередні баг-репорти щодо цієї поведінки були закриті ботом без відповіді від Anthropic.

КібербезпекаШтучний інтелектРозробка ПЗ

Додайте Voydevich.com у бажані джерела Google, щоб частіше бачити наші новини в пошуку.

Реклама · cv-finder.com

Резюме розробника, яке читають до кінця

Подивіться приклад CV Software Engineer і зберіть своє за його структурою.

Дивитись приклад

Попередні статті