Safety Guard — Prévenir les opérations destructrices
Quand l'utiliser
- Lorsque vous travaillez sur des systèmes de production
- Lorsque les agents s'exécutent de manière autonome (mode full-auto)
- Lorsque vous souhaitez restreindre les modifications à un répertoire spécifique
- Pendant des opérations sensibles (migrations, déploiements, modifications de données)
Comment ça fonctionne
Trois modes de protection :
Mode 1 : Mode Prudent (Careful Mode)
Intercepte les commandes destructrices avant exécution et avertit :
Modèles surveillés :
- rm -rf (surtout /, ~, 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 confirmation, suggère une alternative plus sûre.
Mode 2 : Mode Gel (Freeze Mode)
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 (Guard Mode) (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 uniquement écrire 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
- Activer par défaut pour les sessions
codex -a never - Associer avec la notation des risques d'observabilité dans ECC 2.0
- Journalise toutes les actions bloquées dans
~/.claude/safety-guard.log