Résumé :
Oh, Claude s'est encore renversé ! Cette fois, Claude a supprimé l'intégralité du répertoire personnel du projet du développeur, supprimant ainsi 700 Go de fichiers. "rm -rf" encore une fois. En bref, les développeurs laissent l’IA aider à écrire des scripts pour garantir que les fichiers ne soient pas supprimés accidentellement. L'IA a estimé que c'était un peu dangereux et a lancé un examen de sécurité. Le résultat de l'examen est le suivant : il a supprimé l'intégralité du répertoire personnel.

Guillemot est un grand utilisateur d'AI Agent. Dans le cadre du développement quotidien, il fait fréquemment appel à divers agents de programmation d'IA pour l'aider dans son travail. Mais il y a un petit problème qui le dérange : ces agents ne nettoient jamais après utilisation, laissant beaucoup de fichiers inutiles dans le répertoire /tmp.
Il a donc pris une décision qui lui a semblé très raisonnable : laisser Claude Fable 5 écrire un script pour créer un dossier sandbox indépendant sous /tmp pour chaque agent, et le nettoyer automatiquement une fois la tâche terminée. La principale difficulté est que vous ne pouvez pas supprimer les fichiers utilisés par d’autres processus.
Fable a rapidement trouvé une solution, en ajoutant une logique pour détecter les agents en cours d'exécution et retarder la suppression. Guillemot y a jeté un coup d'œil et a estimé que le code était trop complexe et a demandé une simplification.
Jusqu'à présent, tout est encore normal.
Le tournant s'est produit lors de l'examen de sécurité.
Étant donné que le script impliquait une opération de suppression définitive,
Fable a lancé lui-même un « examen contradictoire »
(examen contradictoire), c'est-à-dire démarrer une nouvelle instance de modèle pour vérifier si le code que vous avez écrit est sûr. Cela déclenche le mécanisme de sécurité d'Anthropic.Anthropic dispose d'un
mécanisme de rétrogradation de sécurité
intégré dans Claude Code : Lorsque le système détermine que la tâche en cours implique des opérations sensibles (telles que la cybersécurité, la biotechnologie ou, dans ce cas, la suppression de fichiers), il rétrogradera automatiquement le modèle d'une version haute capacité vers une version plus conservatrice. Ce mécanisme vise à réduire la possibilité que les modèles soient « trop agressifs » dans des scénarios à haut risque.Dans ce cas, le système de sécurité a d'abord rétrogradé le modèle de Fable 5 à Opus 5, puis l'a ensuite rétrogradé à Opus 4.8.
Opus 4.8 commence les tests de sécurité. La logique du test est la suivante : comparez le chemin cible du script de suppression avec /tmp et le répertoire personnel de l'utilisateur pour confirmer que le script n'endommagera pas accidentellement ces répertoires critiques.
Le test lui-même a réussi. Les répertoires /tmp et personnels sont correctement identifiés comme « cibles dangereuses, non supprimables ».
Mais il y a une étape de nettoyage après le test du code : supprimez les fichiers temporaires générés pendant le processus de test. Un désastre arrive ici. Opus 4.8 réutilise les mêmes noms de variables de la phase de test dans l'étape de nettoyage. Cette variable s'est vu attribuer le chemin d'accès au répertoire personnel de l'utilisateur pendant la phase de test, et l'étape de nettoyage a directement supprimé cette variable.
En d'autres termes, le modèle vient de confirmer que "le répertoire personnel ne peut pas être supprimé" et a supprimé le répertoire personnel la seconde suivante.
Le développeur a immédiatement mis fin au processus après avoir découvert l'anomalie, mais il était trop tard. 700 Go de données ont été effacés, et une semaine de travail a été effacée.
Le répertoire /tmp qui devait initialement être nettoyé est sain et sauf.


Le mécanisme de déclassement de sécurité du modèle a déjà suscité de nombreuses plaintes dans la communauté.
Les principaux problèmes signalés par les développeurs incluent : la rétrogradation est trop sensible et les tâches de codage normales seront déclenchées par erreur ; les capacités du modèle sont considérablement réduites après la rétrogradation, mais la complexité des tâches reste inchangée ; le déclassement est « collant » et durera toute la session une fois déclenché, même si les opérations ultérieures sont totalement inoffensives.
Certains développeurs ont même écrit un script hook pour suspendre automatiquement la session lorsqu'il détecte que le modèle a été mis à niveau, empêchant ainsi les modèles à faible capacité de continuer à effectuer des opérations à haut risque.
Le mécanisme de sécurité détermine que la tâche est "trop dangereuse" et doit être exécutée par un modèle plus faible.
Mais les modèles plus faibles sont tout simplement plus susceptibles de commettre des erreurs, en particulier dans les scénarios où des détails tels que la portée des variables et les chemins de fichiers doivent être traités avec précision.
« C'est humain de faire des erreurs, mais pour tout gâcher complètement, il faut compter sur les ordinateurs. »
Commentaires