Claude Code випадково розкриває секрети на GitHub — дослідження Apiiro
Інструмент Anthropic для розробників зливає конфіденційні дані через файл налаштувань, який потрапляє у публічні репозиторії GitHub. Про це повідомили дослідники безпеки з Apiiro.
Claude Code ненавмисно розкриває чутливу інформацію у публічних репозиторіях GitHub через обробку локального файлу налаштувань. Про масштабну проблему повідомили дослідники з Apiiro, які виявили тисячі секретів у відкритому доступі.

Як виникає витік
Проблема походить від механізму підтвердження автоматизованих shell-команд у Claude Code. Коли користувач обирає опцію «Yes, and don’t ask again», правило фіксується у локальному файлі “.claude/settings.local.json”. Часто в нього записується команда цілком, включно з будь-якими вбудованими секретами.
Поки цей файл лишається на комп’ютері, загроза мінімальна. У документації Anthropic зазначено, що файл додається до глобального .gitignore розробника, що зазвичай унеможливлює його публікацію.
Чому файл опиняється у публічному репозиторії
Захист через глобальний .gitignore не діє на рівні конкретного репозиторію. Через це файл може випадково потрапити у GitHub, наприклад, якщо каталог із файлом згодом стає репозиторієм або якщо репозиторій клонують на іншу машину без відповідних глобальних налаштувань.
За даними Apiiro, у багатьох випадках сам Claude Code здійснює коміт змін у файл налаштувань без участі користувача, що підвищує ризик його публікації.
Масштаб та типи секретів
Apiiro виявила понад 100 000 випадків, коли локальний файл налаштувань Claude Code було завантажено у публічні репозиторії GitHub. Із них приблизно 1 100 файлів у межах 63 організацій містили реальні секрети: токени публічних API, паролі до баз даних та приватні ключі.
Навіть після видалення проблемного файлу з репозиторію секрети можуть зберігатися у форках проєкту, якщо власники не вживуть додаткових дій.
Що каже документація Anthropic
У документації Anthropic зазначено про додавання “.claude/settings.local.json” до глобального .gitignore, однак це не відображається на рівні окремих репозиторіїв. Саме ця невідповідність і стала джерелом масових витоків, висновують у Apiiro.
Фото: Ars Technica