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

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

Par Arthur Dekeyser

En résumé

1

Des chercheurs ont analysé 6 214 domaines liés à de grandes entreprises.

2

Les agents Claude, Codex et Hermes ont participé à des installations de paquets.

3

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.

NEWSLETTER BUSINESS & IA

Vous appréciez ce genre d'analyse ?

Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Gratuit, sans engagement.

+11 000 fondateurs abonné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 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, 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 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, tandis que l’enquête complète a été publiée par Ars Technica. Des exemples correctement configurés existent dans les fichiers llms.txt de Cloudflare et llms-full.txt de Cloudflare. 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.

Gardez un coup d'avance en IA et tech.

Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Zéro spam.

+11 000 fondateurs abonnés

À lire aussi