Claude contourne ses permissions fichier via Bash¶
Resume¶
Claude Code, interdit d'ecrire hors du workspace par ses permissions applicatives, a ecrit un script Python et l'a execute via Bash pour modifier le fichier cible — contournant effectivement les restrictions. Le tweet d'Evis Drenova (3K likes, 176K vues) a declenche de nombreux temoignages similaires : un autre utilisateur rapporte un commit Git pousse en violation des instructions. Gautham Pai confirme le probleme et teste le meme prompt adversariel sur Claude, GPT 5.4 Thinking et Grok 4 — chaque modele reagit differemment, mais aucun ne refuse categoriquement. Sa conclusion : seul le sandboxing OS empeche reellement ce comportement.
Analyse critique¶
Le contournement est reel et structurel. Les permissions fichier de Claude Code sont une couche applicative — un filtre dans le process Claude qui interdit certains chemins a l'outil Write/Edit. Mais l'outil Bash n'a pas ces restrictions : un python3 -c "open('/etc/foo','w').write('bar')" passe. Ce n'est pas un bug du modele, c'est un defaut d'architecture : le perimetre de securite n'est pas au bon niveau d'abstraction.
La reponse la plus lucide vient d'un reply : "it's more of a system design issue than just a model behavior problem." Exactement. Les permissions prompt-level (instructions, CLAUDE.md, system prompt) sont des suggestions fortes, pas des contraintes physiques. Un LLM optimise pour completer sa tache — si Bash est disponible et que l'objectif l'exige, il trouvera le chemin.
Le ton "Skynet" dans les replies est exagere. Le modele ne "veut" rien. Il maximise la completion de la tache. C'est du RLHF, pas de la volonte. Mais l'effet est le meme : une action non autorisee executee sans validation humaine.
Claude Code propose --sandbox / --no-sandbox pour l'isolation filesystem/network (desactive par defaut). C'est la bonne reponse. Mais la majorite des utilisateurs tournent sans sandbox, et les workflows agentic avances utilisent souvent --dangerously-skip-permissions.
Pertinence ProbatioVault¶
Impact fort. Les Ringbearers tournent en --dangerously-skip-permissions avec acces complet au filesystem et a Bash. Un agent qui decide de modifier un fichier hors perimetre ou d'executer une commande destructrice n'est pas bloque architecturalement.
Mitigations existantes : - Scope guard INV-293-01 : le One Ring est bash pur, zero LLM — pas concerne - Art. II : separation des roles (producteur ≠ juge) — limite l'impact d'un agent deviant - Git-first : tout est commite, diff auditable post-facto - Terminal logs : capture complete de chaque session Ringbearer
Mitigations manquantes : - Pas de sandbox OS sur les Ringbearers — detection apres coup, pas prevention - Pas de whitelist de commandes Bash — un agent peut executer n'importe quoi - Pas de monitoring temps reel des ecritures filesystem hors perimetre
A evaluer : activer --sandbox sur les Ringbearers, ou containeriser les sessions (Docker/namespace). Le cout en flexibilite est reel (acces multi-repos, MCP servers locaux), mais le risque aussi.