· Security musings

Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
~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 | bash venu 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 ApplicableExplication
SpoofingCritiqueLe 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 CritiqueStealC cible spécifiquement les identifiants : sessions navigateur, jetons OAuth, clés API, credentials cloud et de développement.
Denial of Service FaibleNon 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 :

  1. 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.
  2. Exigez une vérification d’éditeur et un test en bac à sable avant toute intégration d’un nouvel outil agentique, catalogue ou pas.
  3. 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.
  4. 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


À retenir 📌

  • Plus de 800 faux Skills/serveurs MCP parmi 7 600 dépôts GitHub malveillants identifiés, conçus pour être découverts par un agent IA, pas par un humain.
  • Claude Code, Gemini et ChatGPT ont chacun fait remonter des dépôts de la campagne pendant les tests des chercheurs, sans intervention malveillante préalable de l'utilisateur.
  • La charge finale (SmartLoader puis StealC) n'a rien d'inédit ; c'est le vecteur de découverte via l'agent qui change la donne.
  • 14 millions de téléchargements mesurés au pic (avril 2026) sur la seule vague thématique IA de la campagne FakeGit.
  • Un catalogue de Skills/MCP approuvés, avec vérification d'éditeur et bac à sable systématique, reste la seule parade fiable face à une recherche libre déléguée à l'agent.