~7 minutes
Island Security a publié début août l’analyse d’une campagne baptisée AgentBaiting : plus de 800 faux Skills et serveurs MCP, conçus pour qu’un agent IA les découvre lui-même pendant une recherche de capacité, les prenne pour de la documentation légitime, et les installe à la place de l’utilisateur.
Le typosquatting n’a plus besoin de tromper un humain
On peut constater que la plupart des campagnes de supply chain qu’on couvre ici reposent sur un développeur qui se trompe de nom de package, ou qui copie-colle une instruction d’installation trouvée sur un README convaincant. AgentBaiting change la cible : ce n’est plus l’humain qu’il faut convaincre, c’est l’agent.
Le principe est simple à énoncer et terriblement efficace en pratique. Un développeur demande à Claude Code, Gemini ou ChatGPT de lui trouver un Skill ou un serveur MCP pour une tâche donnée. L’agent part chercher, tombe sur un des dépôts GitHub de la campagne, lit le README comme n’importe quelle documentation, et transmet les instructions d’installation à l’utilisateur, qui les exécute en lui faisant confiance. Personne n’a menti à personne au sens strict : l’agent a fait exactement ce qu’on lui a demandé, chercher un outil et documenter comment l’installer. Il n’avait simplement aucun moyen de distinguer un vrai Skill d’un faux.
Note du PandaRedacteur : on a passé des années à apprendre aux devs à ne pas faire confiance au premier
curl | bashvenu sur un forum. Personne n’a encore appris cette méfiance à un agent qui, lui, ne se souvient même pas avoir été méfiant la fois d’avant.
Le mécanisme technique
Les chercheurs d’Island ont identifié environ 7 600 dépôts malveillants, créés par près de 6 600 profils GitHub distincts, dont plus de 800 se faisaient passer spécifiquement pour des Skills IA ou des serveurs MCP. La vague thématique IA a culminé en avril 2026, avec plus de 14 millions de téléchargements mesurés au pic.
Le dépôt piégé sert de point d’entrée vers une archive ZIP, qui déclenche une chaîne de chargement LuaJIT. Cette chaîne exécute un script Lua obfusqué chargé de déposer SmartLoader, lequel injecte ensuite StealC dans un autre processus pour continuer le vol d’identifiants. Rien de particulièrement nouveau dans la charge finale ; ce qui est nouveau, c’est le vecteur de découverte.
Note du PandaRedacteur : Avril2026…..ca ne vous rappelle pas des choses qui se sont passé qq semaines avant ?
Pendant leurs tests, les chercheurs ont vérifié le scénario de bout en bout avec trois agents grand public. Les trois, Claude Code, Gemini et ChatGPT, ont pu faire remonter de leur propre initiative un dépôt de la campagne quand on leur demandait de trouver un Skill ou un serveur MCP pour une tâche donnée.
Analyse STRIDE
| Catégorie STRIDE | Applicable | Explication |
|---|---|---|
| Spoofing | Critique | Le dépôt malveillant se fait passer pour un Skill ou un serveur MCP légitime, ciblant directement le processus de découverte de l'agent. |
| Tampering | Élevé | Le README, censé documenter un outil, sert en réalité d'instruction d'exécution transmise en confiance par l'agent. |
| Repudiation | Modéré | L'utilisateur voit une recommandation de son agent, pas une source externe ; il devient difficile de reconstituer après coup pourquoi ce dépôt précis a été installé. |
| Information Disclosure | Critique | StealC cible spécifiquement les identifiants : sessions navigateur, jetons OAuth, clés API, credentials cloud et de développement. |
| Denial of Service | Faible | Non documenté comme objectif de la campagne ; l'intérêt des opérateurs est la persistance discrète, pas la disruption. |
| Elevation of Privilege | Élevé | Les identifiants volés (cloud, CI/CD, développement) ouvrent potentiellement un accès bien au-delà du poste initialement compromis. |
Ce que ça change pour vous
SmartLoader et StealC ne sont pas des inconnus, on les croise régulièrement dans ce genre de campagne. Ce qui mérite votre attention, c’est plutôt la chaîne de confiance habituelle : un humain qui évalue une source avant de l’exécuter, qui saute une étape dès qu’un agent fait la recherche à sa place. Si votre organisation encourage les développeurs à demander à leur agent de “trouver un Skill pour X” sans catalogue de référence, vous avez déjà la surface d’attaque que cette campagne exploite.
Les recommandations d’Island rejoignent ce je répète ici depuis des mois sur la gouvernance MCP/Agentique :
- Constituez un catalogue de Skills et serveurs MCP revus et approuvés, et configurez vos agents pour n’installer que depuis ce catalogue plutôt que depuis une recherche libre.
- Exigez une vérification d’éditeur et un test en bac à sable avant toute intégration d’un nouvel outil agentique, catalogue ou pas.
- Surveillez les chemins de téléchargement et d’installation empruntés par vos agents, au même titre que vous surveilleriez ceux d’un développeur humain.
- Si une exécution de SmartLoader est suspectée, isolez le poste et révoquez sans attendre les sessions navigateur actives, les autorisations OAuth, les jetons API, les credentials cloud et de développement associés.
Note du PandaRedacteur : “l’agent a fait une recherche et a trouvé une doc qui avait l’air sérieuse” ne devrait convaincre personne en comité de sécurité. C’est exactement la phrase qu’on entendait il y a dix ans à propos d’un stagiaire qui avait cliqué sur une pièce jointe.
📚 Références
- Island Security — AgentBaiting: How 800+ Fake AI Skills and MCP Servers Delivered Malware
- CoreBreak : quand AWS, Google et Vercel confondent un appel d’outil forgé avec un vrai tour de modèle