Garde-fou — Prévenir les opérations destructrices
Quand l'utiliser
- Lorsque vous travaillez sur des systèmes de production
- Lorsque les agents s'exécutent en mode autonome (mode full-auto)
- Lorsque vous souhaitez restreindre les modifications à un répertoire spécifique
- Lors d'opérations sensibles (migrations, déploiements, modifications de données)
Comment ça fonctionne
Trois modes de protection :
Mode 1 : Mode Prudent
Intercepte les commandes destructrices avant leur exécution et vous avertit :
Modèles surveillés :
- rm -rf (en particulier /, ~, ou la racine du projet)
- git push --force
- git reset --hard
- git checkout . (annuler toutes les modifications)
- DROP TABLE / DROP DATABASE
- docker system prune
- kubectl delete
- chmod 777
- sudo rm
- npm publish (publications accidentelles)
- Toute commande avec --no-verify
Lorsqu'il est détecté : affiche ce que fait la commande, demande une confirmation, suggère une alternative plus sûre.
Mode 2 : Mode Gel
Verrouille les modifications de fichiers à une arborescence de répertoires spécifique :
/safety-guard freeze src/components/
Toute écriture/modification en dehors de src/components/ est bloquée avec une explication. Utile lorsque vous souhaitez qu'un agent se concentre sur une zone sans toucher au code non concerné.
Mode 3 : Mode Garde (Prudent + Gel combinés)
Les deux protections actives. Sécurité maximale pour les agents autonomes.
/safety-guard guard --dir src/api/ --allow-read-all
Les agents peuvent tout lire mais ne peuvent écrire que dans src/api/. Les commandes destructrices sont bloquées partout.
Déverrouillage
/safety-guard off
Implémentation
Utilise les hooks PreToolUse pour intercepter les appels aux outils Bash, Write, Edit et MultiEdit. Vérifie la commande/le chemin par rapport aux règles actives avant d'autoriser l'exécution.
Intégration
- Activé par défaut pour les sessions
codex -a never - À associer avec la notation de risque d'observabilité dans l'ECC 2.0
- Journalise toutes les actions bloquées dans
~/.claude/safety-guard.log