Исследования показывают, что в публичных коммитах, созданных через Claude Code, секретные ключи встречаются в 3,2% случаев, тогда как средний показатель по GitHub составляет 1,5% по данным GitGuardian. Инструкции в файле CLAUDE.md не гарантируют безопасность, так как в ходе длительных сессий агенты могут игнорировать правила или терять их в контекстном окне.
Для контроля действий агента используется хук PreToolUse, который перехватывает вызовы инструментов. Он получает JSON-объект с данными о команде. Возврат кода 2 блокирует выполнение, а текст из stderr передается агенту как причина отказа. Альтернативный метод — возврат JSON с параметром permissionDecision: deny, что позволяет программно запретить выполнение операции.
Простая проверка файлов на диске неэффективна, так как агент может добавить ключ в индекс и удалить его до коммита. Надежная защита требует анализа индекса, изменений относительно HEAD и новых файлов перед коммитом, а также проверки всех коммитов, отсутствующих в удаленном репозитории. Для поиска ключей рекомендуется использовать специализированные инструменты.
Основные рекомендации включают разделение составных команд на части для проверки, блокировку при любых сбоях или таймаутах через код 2, а также создание сценариев регресса для тестирования правил. Важно защищать файл с настройками хуков от правок самим агентом и использовать родные git-хуки в качестве дополнительного рубежа безопасности.






