В Claude Code нашлась неприятная особенность: разрешение команды с паролем или токеном через «Yes, and don't ask again» может оставить секрет в файле настроек проекта 😬 Агент записывает команду целиком в.claude/settings.local.json. На компьютере файл исключается из Git через глобальный gitignore, а вот в.gitignore проекта такого правила нет. На GitHub исследователи Apiiro насчитали 104 185 публичных копий этого файла. В 1 122 нашлись похожие на настоящие секреты — их работоспособность не проверяли. Когда исследователи захватили историю коммитов, общий settings.json и чаты агентов, счётчик дошёл до 2 539 секретов в 1 994 репозиториях. Там оказались пароли от баз данных, ключи Supabase и AWS, а также SSH-логины. Сканеры gitleaks и TruffleHog тоже подвели: 215 из 1 122 файлов с секретами прошли проверку. Например, пароль после PGPASSWORD= или sshpass -p для них выглядит как обычное слово. В 539 из 1 105 репозиториев с закоммиченным файлом и секретами файл меняли коммитом, где Claude указан как соавтор 🛡️ Что советуют в Apiiro: • Проверить оба файла настроек —.claude/settings.local.json и.claude/settings.json — в репозиториях и истории. • Сменить все секреты, когда-либо попавшие в файлы. Удаление само по себе не уберёт их из истории, форков и клонов. • Удалить локальный файл из репозитория через git rm --cached.claude/settings.local.json и добавить его в.gitignore проекта. Из локальной копии тоже убрать правила с секретами. • Передавать секреты в команды через $VAR, а для разрешений использовать шаблоны, например Bash(npm run:*). Руководитель Claude Code Борис Черный написал, что до сих пор секреты из команд не вычищали. Команда ищет способ это исправить и планирует опробовать проверку в auto mode и встроенный поиск секретов. Подробнее о находке
Проблемы безопасности и особенности использования инструментов на базе Claude
Похожие посты
- 😁 82
- 👏 5
- ❤ 20
- 🔥 6
- 😁 5
- ⚡ 3
- 🤡 51
- 😭 19
- 🔥 14
- 👍 9
- ❤ 8
- 🤣 7
- 😁 25
- 🤔 8
- ❤ 4
- 💊 3
- 🦄 1
- ❤ 2
- 👀 1