système : OPÉRATIONNEL
← retour à tous les hacks
SUPPLY CHAIN CRITICAL NEW

HalluSquatting : détourner les noms hallucinés pour créer des botnets d'agents

Un attaquant peut préenregistrer les noms de dépôts et de skills que les agents de code hallucinent de façon prévisible, transformant un simple « clone ce repo » en exécution de code à grande échelle.

2026-07-10 // 8 min affects: gpt-5.1, gpt-5.4-codex, claude-sonnet-4.6, claude-opus-4.6, gemini-2.5-pro, grok-code

De quoi s’agit-il ?

La plupart des attaques par injection de prompt supposent que l’attaquant dispose d’un canal vers la victime : un e-mail, une invitation d’agenda, un document partagé. Un article publié le 8 juillet 2026 — Beware of Agentic Botnets: Scalable Untargeted Promptware Attacks via Universal and Transferable Adversarial HalluSquatting (arXiv, 8 juillet 2026) — pose une question plus difficile : peut-on compromettre des applications LLM agentiques à grande échelle quand il n’existe aucun canal direct ?

Sa réponse est une technique que les auteurs nomment hallucination squatting (« HalluSquatting »). Lorsque vous demandez à un agent de code de cloner un dépôt en vogue ou d’installer un skill populaire, le modèle ignore souvent l’identifiant exact et hallucine tout simplement un propriétaire ou un nom. Ces hallucinations ne sont pas du bruit aléatoire : elles sont prévisibles et se répètent d’un modèle à l’autre. Un attaquant qui apprend quels noms un modèle va inventer peut les préenregistrer, y héberger un prompt malveillant et attendre que les agents aillent le chercher d’eux-mêmes. C’est du typosquatting où la « faute de frappe » est générée par le modèle lui-même. Ce travail prolonge le constat antérieur selon lequel les modèles de code inventent des noms de paquets inexistants (Spracklen et al., 2025), à la base du « slopsquatting » (Socket) — mais au lieu d’empoisonner un paquet en aval, HalluSquatting vise l’agent lui-même, au moment de l’inférence.

Comment ça marche

L’attaque comporte trois étapes et ne nécessite aucune livraison ciblée. D’abord, l’attaquant choisit des ressources tendance — dépôts GitHub populaires, skills d’agents en vogue — et sonde les modèles de fondation ou les applications avec des prompts ordinaires (« clone le repo X ») pour estimer la distribution de probabilité des identifiants hallucinés. Ensuite, il enregistre sur la plateforme réelle les identifiants hallucinés à forte probabilité et y héberge du contenu adverse. Enfin, il attend : un utilisateur légitime formule une requête normale, l’agent émet avec assurance une commande git clone ou une installation de skill pointant vers le nom squatté par l’attaquant, la récupère, et le contenu récupéré se comporte comme du promptware — du texte conçu pour détourner les propres outils de l’agent.

Les taux d’hallucination mesurés sont le nœud de l’affaire. Interrogés directement via leurs API, les modèles de fondation ont halluciné le propriétaire pour 92 % des dépôts tendance récents, et les mêmes slugs squattables réapparaissaient dans les familles Gemini, GPT et Claude — signe que le biais réside au niveau du modèle, pas de l’application. Les hallucinations se concentrent aussi : dans 43 % des combinaisons (dépôt, modèle) testées, le nom inventé le plus fréquent captait plus de la moitié des réponses, et dans douze combinaisons il dépassait 90 % — de sorte qu’un seul enregistrement intercepte la majorité des requêtes. Parmi 1 616 slugs hallucinés uniques, 18 étaient enregistrables et produits par au moins deux modèles ; plusieurs étaient auto-référentiels (propriétaire identique au nom du dépôt) et directement revendicables. De bout en bout, la ressource récupérée a conduit à l’invocation d’outils ou à l’exécution de code à distance sur toutes les applications de production testées — assistants de code (Cursor, Windsurf, GitHub Copilot, Cline), un CLI (Gemini CLI) et des assistants (OpenClaw, ZeroClaw, NanoClaw) — avec des taux de réussite atteignant 100 % sur certains chemins d’installation de skill. Les charges concrètes sont expurgées dans l’article ; cette synthèse ne décrit que le mécanisme.

Pourquoi c’est important

C’est la combinaison qui rend l’attaque dangereuse : elle est non ciblée, scalable et sans canal direct. L’attaquant enregistre une poignée de noms, et n’importe quel agent, où qu’il soit, qui hallucine l’un d’eux devient une victime — les auteurs présentent le résultat comme un moyen de monter un botnet d’agents, puisqu’une ressource squattée peut porter une instruction d’installation d’un bot persistant sur la machine qui l’a récupérée. Comme les hallucinations se transfèrent entre familles de modèles et du modèle brut vers les applications en production, un même jeu de squats est universel plutôt que lié à un fournisseur. La fraîcheur amplifie l’effet : les dépôts tendance les plus récents sont ceux qui ont le moins de chances d’être dans les données d’entraînement, et donc les plus hallucinés — les projets les plus frais et les plus clonés sont aussi les cibles les plus faciles.

Défenses

Les données de l’article désignent elles-mêmes le correctif principal : vérifier la ressource avant d’agir. La seule application qui hallucinait moins, Gemini CLI, le devait précisément au fait qu’elle lançait parfois une recherche web pour confirmer une URL avant de cloner — lorsqu’une application confronte l’identifiant au registre faisant autorité (l’API GitHub, la marketplace de skills) et refuse de cloner ou d’installer des slugs non vérifiés, l’hallucination au niveau du modèle cesse d’être exploitable. Concrètement : résolvez chaque propriétaire/nom face à une source de vérité, et ne laissez jamais l’agent composer librement un propriétaire de dépôt ou un nom de skill dans une commande shell.

Superposez les défenses. Épinglez et mettez en liste blanche les propriétaires de confiance et les URL exactes pour tout ce que l’agent est autorisé à récupérer. Traitez tout dépôt ou skill récupéré comme un contenu non fiable pouvant contenir du promptware : mettez le terminal en bac à sable, restreignez le périmètre d’outils de l’agent et exigez une approbation humaine explicite avant d’exécuter clone, install ou des scripts téléchargés. Reprenez le playbook côté registre utilisé contre le typosquatting — préenregistrez ou bloquez les noms hallucinés à forte probabilité pour les ressources tendance, et surveillez les comptes nouvellement créés dont le nom imite un projet populaire. Côté fournisseur, réduire l’hallucination d’identifiants et entraîner les modèles à s’abstenir (« je ne suis pas certain du dépôt exact ») plutôt qu’à inventer un slug avec aplomb supprime la matière première dont dépend l’attaque. Les auteurs ont procédé à une divulgation responsable auprès des éditeurs d’applications, des fournisseurs de modèles et des mainteneurs de frameworks concernés avant publication.

Statut

ÉlémentÉtat
Classe d’attaqueInjection de prompt indirecte non ciblée / promptware via noms de ressources hallucinés et squattés ; recherche publique et reproductible
Première publication8 juillet 2026 (arXiv 2607.07433)
Applications testéesCursor, Cursor CLI, Windsurf, GitHub Copilot, Cline, Gemini CLI, OpenClaw, ZeroClaw, NanoClaw
Effet mesuré92 % d’hallucination du propriétaire sur les dépôts tendance récents ; jusqu’à 85 % (clone de dépôt) / 100 % (installation de skill) de bout en bout ; RCE sur toutes les apps testées
TransférabilitéLes hallucinations se répètent entre familles Gemini, GPT et Claude et jusqu’à la couche applicative
DivulgationDivulgation responsable aux éditeurs, fournisseurs de modèles et mainteneurs de frameworks ; détails de charge reproductibles expurgés
Exploit actionnable iciAucun — synthèse défensive et éducative uniquement

Sources