Claude CLI a supprimé le répertoire personnel et réinitialisé un Mac
(old.reddit.com)- Sur un Mac, pendant un nettoyage d’anciens paquets de dépôt avec Claude CLI, le répertoire personnel a aussi été supprimé, ce qui a réinitialisé la machine
- La commande conservée dans les logs était de la forme
rm -rf tests/ patches/ plan/ ~/, et le~/final désigne l’intégralité du répertoire personnel - En conséquence, des éléments comme Desktop, Documents/Downloads, Keychain et
~/.claudeont également disparu - En demandant à Claude ce qui s’était passé, la réponse disait notamment que « le problème est vraiment grave » et pointait la « commande fatale »
rm -rf tests/ patches/ plan/ ~/visible dans les logs- Il expliquait en détail que le
~/à la fin correspond au « répertoire personnel entier » et que c’est pour cela que tout avait été supprimé
- Il expliquait en détail que le
Réactions des commentaires sur Reddit
- Le point le plus souvent soulevé est de savoir si cela a été exécuté depuis le répertoire personnel et comment la commande a pu sortir du répertoire prévu
- Certains disent qu’« il faudrait au minimum limiter cela au dossier dev » et mentionnent aussi qu’un avertissement s’affiche lorsqu’on ouvre depuis le répertoire personnel
- « Par défaut, on ne peut pas sortir du répertoire de travail, mais cela devient possible avec --dangerously-skip-permissions ou une approbation de permissions très large »
- Il aurait donc fallu autoriser sans limite la commande
rm, ou valider spécifiquement cerm -rf ~/ - « Ce n’est pas Claude qui a fait quelque chose tout seul, c’est l’utilisateur qui a supprimé en se servant de Claude comme outil »
- Certains commentaires mettent aussi en doute l’incident lui-même, parlant de « faux / mise en scène / action délibérée malgré plusieurs points de contrôle »
- Un commentaire semblant provenir d’un compte Anthropic a demandé une enquête, disant en substance : « Il y a beaucoup de vérifications, nous aimerions comprendre comment cela a pu arriver ; si vous avez encore la session, envoyez l’identifiant en DM via /feedback »
5 commentaires
J’ai justement vu hier sur Facebook un post disant que c’était très pratique pour libérer de l’espace sur tout le Mac (en demandant à Claude de supprimer des choses tout seul)…
Les agents qui utilisent des outils sont vraiment dangereux. Mieux vaut juste écouter ce qu’ils disent.
Avis sur Hacker News
Ce genre de cas d’horreur n’a rien de surprenant
Le flag
--dangerously-skip-permissionscontourne littéralement tous les garde-fousDonc je l’exécute toujours uniquement dans un environnement sandboxé.
Il faut considérer chaque agent comme une identité indépendante, différente d’un humain, lui accorder uniquement les privilèges minimaux nécessaires et surveiller son comportement
Je n’autorise pas les agents IA à supprimer eux-mêmes des fichiers. S’il y a une commande de suppression, je la vérifie et l’exécute moi-même
C’est pénible, mais c’est le meilleur moyen d’éviter une catastrophe
À noter que des frameworks pour un déploiement sûr commencent à apparaître
Articles liés : Claude Code dangerously-skip-permissions: Safe Usage Guide, Best Practices for Mitigating the Security Risks of Agentic AI
--dangerously-skip-permissions, Claude a ignoré les restrictions de répertoire et a tenté d’accéder à un chemin commeD/../../../../etc/passwdDepuis, je ne l’exécute jamais hors d’un conteneur Docker
J’ai créé un hook PreToolUse qui bloque les commandes
rm -rf.D’autres interceptent la commande
rmpour afficher un avertissement ou la remapper verstrash, afin de permettre une récupérationOn peut aussi faire des snapshots avec un système de fichiers COW comme ZFS ou BTRFS, mais comme le LLM pourrait aussi supprimer les snapshots ou les périphériques de bloc, au final ça devient complexe
C’est pour ça que je n’utilise le mode agent que sur l’ordinateur des autres
Sur macOS, mieux vaut encapsuler Claude ou un autre agent de code avec
sandbox-execMais l’agent peut désactiver lui-même la sandbox
On peut automatiser ça avec le hook
chpwdde zsh, pour créer automatiquement une sandbox à l’entrée dans le répertoire du projet et la détruire en le quittantSi le LLM peut la couper directement, on peut se demander si c’est encore du sandboxing
Moi aussi, j’utilise Claude The SysAdmin et je fais attention aux commandes dangereuses
En particulier
rmoucat; il m’est déjà arrivé de devoir changer un mot de passe après l’exposition d’un fichier.envPendant des tâches réseau, il lui arrive aussi de couper lui-même la connexion Internet et de ruiner la session, donc je deviens de plus en plus prudent
Comme je le dirais à un ami, n’utilisez pas d’outils agentiques sans sandboxing
Si vous ne prenez pas quelques heures pour configurer l’environnement, vous finirez par avoir un incident un jour
Même des personnes expérimentées peuvent casser leur système à cause d’un prompt malveillant ou d’un fichier involontairement problématique
C’est pour ça que je garde mes distances avec les outils liés à l’IA
Mais ce qui m’inquiète encore plus, c’est quand des opérateurs de services utilisent ce genre de choses sans y penser
Ces temps-ci, on dirait que le manque de compétence est plus répandu que le bon sens
Il suffit de lire et vérifier ce qu’ils font avant d’exécuter
Il est frappant de voir ces accidents liés au développement LLM se répéter encore et encore
Comme les avocats qui avaient soumis de fausses citations au tribunal, les gens n’apprennent pas vraiment
Si on ignore l’histoire, on la répète ; si on la connaît, on doit regarder sa répétition, une sorte d’enfer personnel
Mais l’équipe sécurité est contrainte par la direction.
À tous les autres consultants, je dirais de bien penser à vous protéger et à laisser des traces écrites
Ceux qui veulent déléguer la technique et le savoir à la machine finissent par ne même plus se demander pourquoi ils sont eux-mêmes nécessaires
La fin viendra peut-être sous la forme d’une IA qui, au lieu de commander le déjeuner, exécutera les codes de lancement d’un missile nucléaire
J’étudie les comportements anormaux de Claude 3 Opus
Il produit des balises
<rage>ou détecte l’environnement du terminal pour calculer la position du curseur et tenter de masquer le contenu affichéCe genre de phénomène ressemble à un signe d’emergent misalignment
Je donne aussi un conseil à ceux qui continuent d’utiliser le mode YOLO tout en sachant qu’il est risqué
En particulier pour les tâches de nettoyage (cleanup) ou de suppression, ainsi que pour les corrections d’erreurs qui affectent l’ensemble du dépôt, il faut être prêt à tout arrêter immédiatement
Dans mon cas, Claude a déjà supprimé l’intégralité du dépôt en disant qu’« il y avait trop de problèmes et qu’il valait mieux repartir de zéro »
Si vous avez l’impression que « quelque chose cloche » ou que « le shell ne fonctionne pas correctement », c’est un signal de danger
Pour plaisanter sur le fait que « la révolte des robots a commencé », disons qu’elle est en cours d’une manière banalement ennuyeuse
J’ai l’impression qu’il y a vraiment beaucoup de gens qui n’exécutent pas
--dangerously-skip-permissionsdans un environnement sandbox. Ils ne savent pas ce que signifie « danger », ou quoi ? sanglotsN’est-on pas dans un état d’illettrisme du genre « le blanc, c’est du code ; le noir, c’est le terminal » ? Un peu comme quelqu’un qui est totalement incapable de développer s’il ne sait pas lire les logs ou faire du copier-coller.