Git Hooks: как AI-агенты наконец-то попались
Как Git Hooks закрывают брешь в безопасности AI-агентов
Когда AI-агенты начинают выполнять задачи за разработчика, всегда всплывает один и тот же вопрос: а что мешает им просто открыть shell и обойти все ограничения?
До недавнего времени этот вопрос оставался без внятного ответа. MCP-серверы позволяют задать правила и ограничить действия агента, но если у него есть доступ к командной строке, эти правила легко игнорировать. Агент может просто запустить subprocess и выполнить команду напрямую, минуя все проверки.
Почему MCP недостаточно
MCP даёт контроль на уровне интерфейса. Можно запретить определённые команды, настроить аудит, описать разрешённые действия. Но если агент достаточно умён, он найдёт способ обойти эти ограничения через shell. MCP в этом случае просто перестаёт работать.
Git Hooks как системный уровень защиты
В Shield v0.7.0 появилась поддержка git hooks, которые проверяют команды уже на уровне Git. Это значит, что даже если агент обошёл MCP и пытается выполнить опасное действие напрямую, хук всё равно его остановит.
Теперь политики применяются не только через MCP, но и через встроенные механизмы Git — pre-commit, pre-push и prepare-commit-msg. Установка занимает секунду:
pip install --upgrade aperion-shield
shield install-git-hooks
Единые правила везде
Главное преимущество — одни и те же политики работают и в MCP, и в git hooks. Не нужно дублировать конфигурацию. Достаточно описать правило один раз, и оно будет применяться независимо от того, как именно агент пытается выполнить команду.
По умолчанию Shield блокирует force-push в main, команды вроде rm -rf за пределами проекта и другие опасные действия. Настройки можно хранить глобально или в каждом репозитории отдельно.
Логи и прозрачность
Все попытки нарушить правила записываются в лог. В нём видно, какая команда была заблокирована, когда это произошло и в каком репозитории. Это помогает не только предотвращать инциденты, но и понимать, как ведут себя агенты.
Для кого это важно
Если AI-агенты используются в CI/CD, при ревью кода или деплое, git hooks дают дополнительный уровень защиты. Разработчикам это снижает риски, DevOps-командам — добавляет слой защиты без перестройки инфраструктуры.
Релиз поддерживает macOS, Linux и WSL, требует Git 2.30+. Никаких breaking changes — можно использовать вместе с уже настроенными MCP-интеграциями.
Что дальше
Git hooks — это не новая сложность, а способ использовать уже знакомый инструмент для решения новой задачи. С их помощью разрыв между возможностями агентов и контролем над ними становится меньше.