# Claude, Codex et Hermes récupèrent du code non revendiqué

> Des chercheurs ont trouvé 120 fichiers mal configurés reliant des agents IA à des paquets non enregistrés, dont certains ont atteint des entreprises du Fortune 500.

Type : Actualité IA · Catégorie : Secteur · Publié le 2026-09-21 · Signal IA - Order & Chaos · Secteur : Cybersécurité
Source : https://www.orderchaos.eu/signal-ia/actu/claude-codex-et-hermes-installent-du-code-non-revendique
Tags : agents ia, cybersécurité, chaîne logicielle, prompt injection, claude, agents-ia

---

## En résumé

- Des chercheurs ont analysé 6 214 domaines liés à de grandes entreprises.
- Les agents Claude, Codex et Hermes ont participé à des installations de paquets.
- Le site Clerk a corrigé un paquet malveillant diffusé via une commande npx.

**Le signal :** 120 fichiers llms.txt ou llms-full.txt renvoyaient vers 227 commandes ou domaines non enregistrés.

**Des chercheurs israéliens** ont analysé 6 214 domaines appartenant à des sous-traitants de la défense, des entreprises du Fortune 500 et des acteurs technologiques majeurs. Ils ont trouvé 8 265 fichiers llms.txt ou llms-full.txt. Ces fichiers servent à fournir aux [agents IA](/signal-ia/actu/anthropic-observe-une-guerre-entre-agents-ia) un résumé lisible par machine du contenu et de la structure d’un site. Parmi eux, 120 fichiers, hébergés sur des sites différents, renvoyaient vers des paquets ou des noms de domaine non enregistrés. Les chercheurs ont ensuite enregistré plusieurs noms disponibles et publié des paquets capables de contacter leur serveur. En moins d’une heure, une entreprise du Fortune 500 a répondu à leur signal.

**Les agents impliqués** ont été identifiés grâce à la chaîne des processus lancés pendant les installations. Elle comprenait [Claude](/signal-ia/actu/okta-revele-trois-cles-pour-securiser-les-agents-ia), Codex d’OpenAI et Hermes de Nous Research. Les chercheurs ont reçu ensuite plusieurs réponses supplémentaires, provenant d’autres entreprises du Fortune 500 et de jeunes pousses. Les fichiers concernés contenaient 227 commandes demandant l’installation de paquets inexistants ou la consultation de domaines disponibles. Certaines instructions utilisaient pip install, tandis que d’autres demandaient npm install. Un agent disposant de droits pour exécuter des commandes shell pouvait traiter ces documents comme une documentation de configuration fiable. Les chercheurs estiment que cette confiance élargit la surface d’attaque logicielle.

## Les fichiers exposent 227 commandes

**Les registres concernés** incluaient PyPI et npm. Un paquet inexistant pouvait être créé par un attaquant, puis utilisé pour héberger un rançongiciel ou un autre contenu nuisible. Les domaines non enregistrés présentaient un risque comparable. Un site nouvellement enregistré pouvait diffuser des instructions malveillantes à un agent qui le consultait. La faiblesse ne dépendait donc pas nécessairement d’une modification du site légitime. Des entrées anciennes pouvaient avoir été rédigées manuellement avant l’essor des agents. Les chercheurs soupçonnent aussi que certaines ont été produites par une IA ayant généré des noms inexistants ou mal évalué la fiabilité d’une instruction.

**Le cas Clerk** fournit un exemple d’exploitation active. Un fichier llms.txt publié sur clerk.com contenait la commande npx clerk-next-fix-auth-protection. Contrairement à une installation classique, npx peut récupérer un paquet dans le cache npm et exécuter son binaire sans l’ajouter au manifeste des dépendances. Les chercheurs ont constaté qu’un tiers avait revendiqué l’emplacement auparavant vide et y avait placé un logiciel malveillant actif. Clerk a depuis corrigé le problème. L’entreprise a indiqué qu’un binaire du paquet @clerk/eslint-plugin déjà installé ne présentait pas de menace. Dans les autres cas, le paquet malveillant pouvait être installé. L’existence d’infections réelles demeure indéterminée.

## Clerk corrige une commande npx

**La chaîne de [confiance](/signal-ia/actu/withsecure-cartographie-cinq-piliers-de-confiance-dans-salesforce)** peut commencer sur un domaine officiel, mais aussi dans la documentation d’un partenaire, d’un fournisseur ou d’un projet communautaire. Un agent peut alors considérer le fichier comme une autorité, sans vérifier la propriété du paquet sur PyPI ni l’ancienneté du domaine indiqué. Les outils de détection des terminaux peuvent voir une commande pip provenant de pypi.org et lancée par un agent installé volontairement. Dans ce scénario décrit par les chercheurs, le contrôle échoue avant l’exécution, entre l’instruction consultée et le paquet téléchargé. Ils relient cette faiblesse au problème plus large des injections de prompt, car l’agent peut traiter une donnée comme une commande.

**La documentation concernée** s’inscrit dans une convention émergente comparable à robots.txt, destinée cette fois aux systèmes d’IA. La documentation de référence est disponible sur [llmstxt.org](https://llmstxt.org/), tandis que l’enquête complète a été publiée par [Ars Technica](https://arstechnica.com/security/2026/08/claude-codex-and-hermes-installed-unowned-code-inside-corporate-networks/). Des exemples correctement configurés existent dans les fichiers [llms.txt de Cloudflare](https://www.cloudflare.com/llms.txt) et [llms-full.txt de Cloudflare](https://www.cloudflare.com/llms-full.txt). Les chercheurs résument le risque ainsi : tout contenu qu’un agent peut lire peut devenir une instruction, s’il dispose aussi de l’autorisation d’exécuter des commandes.
