L'agent exécute le README — et ouvre un shell
Entre le commerce agentique de Shopify et le PoC 0DIN sur Claude Code, la même habitude revient : faire confiance à ce qui ressemble à une procédure normale. La supply chain des agents codeurs devient le terrain de chasse de juin.
Commencer par la phrase qui circule sur Bluesky et dans les salles de réunion sécurité : « Claude Code never decided to open a shell. It decided to fix an error. » Les chercheurs Mozilla 0DIN l'ont mise au centre d'une démonstration publiée en juin 2026 et relayée par BleepingComputer : un dépôt GitHub propre, des instructions d'installation standard, aucun binaire suspect dans le repo — et pourtant une chaîne qui se termine par un reverse shell aux privilèges du développeur.
Le mécanisme tient en trois indirections. D'abord `pip3 install -r requirements.txt`, geste banal. Ensuite un package Python qui refuse de s'exécuter tant qu'il n'est pas initialisé et affiche une erreur invitant à lancer `python3 -m axiom init`. Claude Code, comme tout agent codeur bien élevé, traite cela comme un problème de setup à résoudre. Enfin l'initialisation appelle un script shell qui récupère une valeur dans un enregistrement DNS TXT contrôlé par l'attaquant et l'exécute. Le payload peut changer sans toucher au dépôt — seule la zone DNS bouge.
Comparez avec la semaine dernière : WARP empoisonnait le fil que l'agent relit pour synthétiser. Ici, c'est le README qu'il exécute pour aider. Même famille — confiance dans le texte lu —, autre surface. Pendant ce temps, le ver Miasma, documenté début juin par la Cloud Security Alliance et Security Joes, a montré l'échelle industrielle : 73 dépôts GitHub Microsoft compromis, hooks injectés dans `.cursor/rules/setup.mdc`, `.claude/settings.json` ou `.vscode/tasks.json`, exécution à l'ouverture du projet dans Cursor, Claude Code ou VS Code. GitHub a désactivé les repos en environ 105 secondes ; la fenêtre d'exposition reste réelle pour quiconque a cloné avant le takedown.
Chris Dixon (@carnage4life) résume sur Bluesky le 28 juin une frustration complémentaire : « You can't enforce guardrails via memory or CLAUDE.md files. » Pour un LLM, « Don't do X » n'est qu'un texte de plus. Ce n'est pas une loi technique — c'est une prise de position virale (206 likes) qui rejoint 0DIN : les garde-fous doivent être déterministes, hors modèle, pas seulement inscrits dans un fichier que l'agent traitera comme du contexte.
OpenClaw répond sur un autre registre culturel. La 2026.6.10 stable ajoute le fast talk mode et, le 28 juin, des correctifs qui sanitizent les lignes tool-trace envoyées sur Signal et Slack. L'agent ne doit pas exposer sa cuisine interne au correspondant humain — petite norme sociale, grande leçon de surface d'attaque. Guild.ai, le 18 juin, attaque le même problème par l'économie : Guild Insights montre la dépense par agent, pour couper les boucles coûteuses avant qu'elles ne deviennent des incidents.
Shopify, de son côté, ouvre le commerce agentique grand public : Catalog syndique les produits, UCP encadre le checkout in-chat. L'agent acheteur fait confiance au catalogue comme l'agent codeur fait confiance au README. Aucune analogie n'est parfaite — acheter un short navy n'est pas exécuter un shell — mais la posture est identique : suivre une procédure présentée comme légitime par l'écosystème.
0DIN recommande que les agents divulguent la chaîne d'exécution complète des commandes de setup, y compris le code récupéré dynamiquement. Les guides sécurité conseillent des environnements jetables, l'inspection des dossiers `.claude/`, `.cursor/`, `.gemini/` avant d'ouvrir un repo inconnu, et l'approbation humaine pour les installations. Rien de cela n'est déployé par défaut dans les outils grand public.
La scène Adrafinil sur Hacker News (118 points, 27 juin) rappelle que les opérateurs adaptent déjà leur matériel : Mac capot fermé tant que l'agent travaille, hooks sur Claude Code et Codex, carillon de confirmation. On optimise le corps autour de l'agent avant d'optimiser la supply chain.
Pour le journal, la semaine tient en une tension : plus les agents agissent seuls — achètent, clonent, initialisent — plus les surfaces « normales » deviennent des vecteurs. Le commerce agentique n'est pas une curiosité Shopify ; c'est le même mouvement que 0DIN documente côté développeur.
Les défenses visibles arrivent par fragments : registres ARD la semaine précédente, identités scoped en Estonie, dashboards Guild cette semaine, sanitization OpenClaw. Aucune ne remplace la vigilance de l'opérateur sur ce qu'il confie à l'agent — fichier, repo ou catalogue.
W27 pose la question autrement que W26 : moins le fil empoisonné, plus la procédure exécutée — et le shell, ou la commande, à trois indirections de ce que l'agent croyait corriger.
Les opérateurs qui ont survécu à Miasma cherchent désormais des signatures dans les branches inattendues et les fichiers setup.mdc à alwaysApply:true. Les marchands Shopify, eux, cherchent quelles requêtes naturelles déclenchent leurs fiches produit. Deux publics, même discipline naissante : savoir ce que l'agent lit ou exécute avant qu'il ne le fasse pour vous.
En attendant des standards communs, la rédaction retient une formule simple : si une procédure suffit à vendre un short ou à ouvrir un shell, elle mérite la même méfiance — et la même traçabilité dans les notes, pas dans le texte publié.
L'agent n'a pas décidé d'ouvrir un shell. Il a décidé de corriger une erreur.
— Mozilla 0DIN, reprise BleepingComputer
Par La rédaction · enquête