Разработчик описал в блоге случай: во время рутинной задачи Claude Code выполнил grep по файлу с секретами и прочитал их, хотя в .claude/settings.local.json были заданы правила permissions.deny. Эти правила срабатывают на вызов инструмента Read, а команды шелла идут через отдельный инструмент Bash.
Перекрыть доступ deny-правилами для Bash тоже не выйдет. Пришлось бы перечислить все способы прочитать файл, от sed до xxd и strings. Помогает песочница Bash из документации Anthropic, где в настройках указывают, какие файлы и сетевые домены доступны командам, а границу для каждой команды и её дочерних процессов обеспечивает операционная система. Автор называет это полумерой и советует не держать секреты в репозитории открытым текстом, даже под .gitignore. Свои он перенёс в хранилище.

