26/12/2025

Claude Code Safety Net – Le plugin qui empêche l'IA de tout niquer

Par admin

Claude Code Safety Net - Le plugin qui empêche l'IA de tout niquer

Vous utilisez Claude Code comme moi pour bosser plus vite sur vos projets de dev ? Hé bien j’espère que vous n’avez jamais eu la mauvaise surprise de voir l’agent lancer un petit rm -rf ~/ qui détruit tout votre répertoire home en 2 secondes. Parce que oui, ça arrive malheureusement, et plusieurs devs en ont fait les frais cette année…

Le problème c’est que les agents IA, aussi intelligents soient-ils, peuvent manquer de garde-fous sur ce qui est vraiment dangereux. Vous leur dites "nettoie le projet" et hop, ils interprètent ça un peu trop littéralement et une fois que c’est fait, y’a plus qu’à pleurer devant son terminal vide.

C’est pour ça qu’un développeur du nom de kenryu42 a créé
Claude Code Safety
Net qui est un plugin pour Claude Code qui agit comme un garde-fou mécanique. Son idée c’est de bloquer les commandes destructives AVANT qu’elles ne s’exécutent, et pas juste avec des règles bêtes genre "si la commande commence par rm -rf".

Le plugin est bien plus malin que ça puisqu’il fait une analyse sémantique des commandes. Il comprend la différence entre git checkout -b nouvelle-branche (qui est safe, ça crée juste une branche) et git checkout -- . qui lui va dégager tous vos changements non committés sur les fichiers suivis. Les deux commencent pareil, mais l’une vous sauve et l’autre vous ruine psychologiquement, vous forçant à vous réfugier dans la cocaïne et la prostitution.

Et c’est pareil pour les force push. Le plugin bloque git push --force qui peut écraser l’historique distant et rendre la récupération très difficile, mais il laisse passer git push --force-with-lease qui est la version plus sûre, car elle vérifie que la ref distante correspond à ce qu’on attend (même si ce n’est pas une garantie absolue).

Et le truc vraiment bien foutu, c’est qu’il détecte aussi les commandes planquées dans des wrappers shell. Vous savez, le genre de piège où quelqu’un écrit sh -c "rm -rf /" pour bypass les protections basiques. Le plugin parse récursivement et repère la commande dangereuse à l’intérieur. Il fait même la chasse aux one-liners Python, Ruby ou Node qui pourraient faire des dégâts.

Côté rm -rf, le comportement par défaut est plutôt permissif mais intelligent… les suppressions dans /tmp ou dans le dossier de travail courant sont autorisées parce que c’est souvent légitime, par contre, tenter de nuke votre home ou des dossiers système, c’est non négociable.

Et pour les paranos (comme moi), y’a un mode strict qu’on active avec SAFETY_NET_STRICT=1. Dans ce mode, toute commande non parseable est bloquée par défaut, et les rm -rf même dans le projet courant demandent validation. Mieux vaut prévenir que pleurer.

Si ça vous chauffe, l’installation se fait via le système de plugins de Claude Code avec deux commandes :

/plugin marketplace add kenryu42/cc-marketplace
/plugin install safety-net@cc-marketplace

Et hop, vous redémarrez Claude Code et c’est opérationnel.

Ensuite, quand le plugin bloque une commande, il affiche un message explicite genre "BLOCKED by safety_net.py – Reason: git checkout — discards uncommitted changes permanently" donc vous savez exactement pourquoi ça a été refusé et vous pouvez décider en connaissance de cause si vous voulez vraiment le faire.

Bref, j’ai testé ce plugin sur mes projets et c’est vraiment cool alors si vous utilisez Claude Code en mode YOLO, ça vous évitera de rejoindre le club des devs qui ont tout perdu à cause d’un agent trop zélé…

Source : korben.info