🛡️ Что это
Safety Guard — это навык для Claude Code (Codex), который предотвращает случайные разрушительные действия в production-средах или при автоматической работе агентов. Он перехватывает опасные команды (удаление, форсированный пуш, сброс БД) и блокирует запись файлов вне разрешённой директории. Навык критичен для безопасной автоматизации: вы можете отпустить агента в «полный автоном» и не бояться, что он снеcёт сервер или затрёт чужой код.
⚙️ Как работает
Safety Guard предлагает три уровня защиты, которые включаются командами /safety-guard .... Все они используют механизм PreToolUse — перед выполнением любой команды Bash, Write, Edit или MultiEdit навык проверяет её на соответствие активным правилам.
🧐 Режим 1: Careful Mode (Осторожный)
Цель: предупреждать об опасных командах и запрашивать подтверждение.
Навык отслеживает такие паттерны:
rm -rf (особенно по /, ~ или корню проекта)
git push --force, git reset --hard, git checkout .
DROP TABLE, DROP DATABASE
docker system prune, kubectl delete
chmod 777, sudo rm, npm publish
- Любая команда с флагом
--no-verify
При обнаружении перед выполнением он выводит предупреждение: что делает команда, спрашивает подтверждение (yes/no) и предлагает безопасную альтернативу. Например, вместо rm -rf /tmp/data предложит использовать корзину или trash-put.
❄️ Режим 2: Freeze Mode (Заморозка)
Цель: ограничить запись файлов только указанной директорией.
Команда: /safety-guard freeze <путь>
Пример: /safety-guard freeze src/components/ — после этого любая попытка записи или редактирования вне src/components/ будет заблокирована с пояснением. Агент сможет читать любые файлы, но изменить сможет только то, что внутри замороженной папки. Идеально, когда нужно, чтобы агент работал только над одним модулем, не трогая остальной код.
🛡️ Режим 3: Guard Mode (Охрана) — Careful + Freeze вместе
Команда: /safety-guard guard --dir <путь> [--allow-read-all]
Пример: /safety-guard guard --dir src/api/ --allow-read-all — агент может читать всё (флаг --allow-read-all), но писать умеет только в src/api/, а опасные команды блокируются в любом месте. Это максимальная защита для автономных агентов.
🔓 Снятие защиты
В любой момент защиту можно отключить: /safety-guard off. Все три режима снимаются одной командой.
📋 Логирование
Все заблокированные действия записываются в ~/.claude/safety-guard.log — можно потом проанализировать, что пытался сделать агент.
🎯 Когда использовать
- Production-системы — при работе с живыми серверами, базами данных, критическими конфигами.
- Автономные агенты (
codex -a never) — чтобы агент не натворил бед, пока вы отвернулись.
- Локальные эксперименты — если боитесь случайно удалить домашнюю папку или закоммитить мусор.
- Чувствительные операции — миграции, деплой, массовые изменения данных.
- Командная разработка — когда агент работает в общем репозитории, чтобы он не затронул чужой код.
💡 Важно знать
- Режим Careful работает только для команд из списка. Он не защищает от всех возможных опасностей — это скорее сетка, чем броня.
- Freeze режим не умеет различать чтение и запись по умолчанию. Флаг
--allow-read-all в Guard Mode явно разрешает чтение из любой директории.
- Навык предназначен только для Claude Code (Codex). Он перехватывает инструменты Bash, Write, Edit, MultiEdit — это значит, что защита ниже уровня Shell не работает (например, прямое обращение к системным вызовам через Python).
- Лучше использовать в паре с ECC (Enterprise Control Center) — там есть скоринг рисков и централизованное логирование.
- Не полагайтесь только на этот навык. Он не заменяет backup, read-only реплики БД, CI/CD пайплайны с проверками. Это дополнительный слой безопасности.
🚀 Примеры использования
# Включить Guard Mode для папки src/, разрешить чтение отовсюду
/safety-guard guard --dir src/ --allow-read-all
# Заморозить только документацию
/safety-guard freeze docs/
# Отключить всё
/safety-guard off
Комментарии
Комментариев пока нет. Будьте первым.