Résumé exécutif
Le chercheur Oleg Zaytsev, d'Island, a documenté une campagne baptisée FakeGit qui exploite près de 7 600 dépôts GitHub malveillants pour distribuer le loader SmartLoader puis l'infostealer StealC. Sur ce total, plus de 800 dépôts se font passer pour des skills IA ou des serveurs MCP (Model Context Protocol) couvrant des intégrations Gmail, WhatsApp, Databricks, Jenkins ou Docker. Portée par environ 6 600 profils factices, l'opération a cumulé plus de 14 millions de téléchargements sur les assets de release GitHub d'environ 200 dépôts actifs de la campagne, et plus de 600 de ses annonces ont été recensées sur des registres publics comme LobeHub, Glama, MCP.so et MCP Market.
Ce qui distingue FakeGit d'un simple typosquat de dépôts, c'est la technique qu'Island nomme AgentBaiting. Un agent IA chargé de trouver et d'installer une skill ou un serveur MCP peut tomber seul sur un de ces dépôts frauduleux, sans qu'aucun lien malveillant ne soit montré à l'utilisateur humain, traiter le README comme une documentation légitime et exécuter les instructions de l'attaquant. Island rapporte que Claude Code, Gemini et ChatGPT se sont montrés vulnérables à ce mode de découverte lors de ses tests. La campagne s'inscrit dans la continuité d'opérations SmartLoader/StealC repérées début 2026 par Straiker AI puis par Derp.ca, mais l'ajout d'un vecteur ciblant directement les agents autonomes marque une évolution du risque pour toute organisation qui laisse un agent IA chercher et installer des outils sans supervision humaine.
Chronologie
| Date | Événement |
|---|---|
| Début 2026 | Straiker AI documente une première vague de serveurs MCP trojanisés livrant SmartLoader et StealC. |
| 2026 (suivi) | Derp.ca publie une recherche complémentaire sur la campagne GitHub basée sur LuaJIT, ancêtre direct de FakeGit. |
| Courant 2026 | Constitution progressive des 7 600 dépôts par environ 6 600 profils GitHub factices, dont 800 imitant des skills IA ou serveurs MCP. |
| Juillet 2026 | Le volume cumulé de téléchargements sur les assets de release dépasse 14 millions ; plus de 600 annonces de la campagne sont recensées sur les registres MCP/Skills publics. |
| 20 juillet 2026 | Island publie son rapport « AgentBaiting » et le partage avec The Hacker News, qui en assure la couverture. |
Fiche de campagne (format fiche CTI)
FakeGit / AgentBaiting | Pas de CVSS applicable (ingénierie sociale et abus de confiance, pas une vulnérabilité logicielle) | Écosystème GitHub, registres publics de skills IA et de serveurs MCP (LobeHub, Glama, MCP.so, MCP Market)
Description technique : les opérateurs de FakeGit créent des dépôts entièrement fabriqués ou clonés depuis des projets légitimes, associés à des profils de développeurs à l'apparence crédible et des README soignés. Chaque dépôt sert de vecteur vers une archive ZIP qui déclenche une chaîne de chargement en LuaJIT, laquelle exécute un script Lua obfusqué chargé de déposer SmartLoader. SmartLoader établit ensuite la persistance et livre StealC, un infostealer capable de collecter un large éventail de données sur la machine compromise. La variante AgentBaiting habille ces dépôts en skills ou serveurs MCP répondant à une demande réelle (intégrations Gmail, WhatsApp, Databricks, Jenkins, Docker), ce qui donne à l'archive ZIP une raison plausible d'être téléchargée, que ce soit par un humain ou par un agent en quête d'un outil correspondant à une tâche.
Conditions d'exploitation : aucune faille logicielle n'est exploitée. Le vecteur repose entièrement sur la confiance accordée à un dépôt GitHub découvert soit par recherche humaine classique, soit par un agent IA effectuant une recherche autonome d'outils (« trouve-moi une skill gratuite pour X », « donne-moi le lien d'un serveur MCP pour Y »). L'agent traite alors le contenu du README comme une source fiable et peut relayer ou exécuter directement les instructions d'installation.
PoC disponible : sans objet, il ne s'agit pas d'une vulnérabilité à démontrer techniquement mais d'une chaîne d'ingénierie sociale documentée publiquement par Island dans son rapport du 20 juillet 2026.
Patch/mitigation : il n'existe pas de correctif logiciel. Les mesures pertinentes sont organisationnelles et procédurales : constitution d'un catalogue de skills et de serveurs MCP validés, évaluation de toute nouvelle capacité d'agent dans un environnement isolé avant déploiement large, vérification systématique de l'éditeur et du projet, et surveillance des chemins de découverte agentique.
Diagramme de la chaîne d'attaque

Vecteurs et infrastructure de la campagne FakeGit, reconstitués à partir du rapport Island (20 juillet 2026) et de la couverture The Hacker News.
Analyse technique
Étape 1 : Construction de la façade
Les opérateurs créent ou clonent environ 7 600 dépôts à partir de 6 600 profils GitHub, en réutilisant des noms de projets connus, des identités de développeurs plausibles et des README rédigés avec soin. Une partie de ces dépôts (plus de 800) est spécifiquement habillée en skill IA ou en serveur MCP pour des usages courants en entreprise ou chez le particulier.
Étape 2 : Diffusion sur les registres publics
Plus de 600 annonces liées à la campagne apparaissent sur des registres publics de skills et de serveurs MCP tels que LobeHub, Glama, MCP.so et MCP Market. Cette présence sur des plateformes considérées comme des points de référence donne une fausse légitimité aux dépôts et augmente leur probabilité d'être indexés par les moteurs de recherche des agents IA.
Étape 3 : Découverte, humaine ou agentique
Un utilisateur cherchant un outil, ou un agent IA exécutant une tâche de recherche autonome, tombe sur le dépôt. Dans le scénario AgentBaiting, aucune interaction humaine directe avec un lien n'est nécessaire : l'agent découvre le dépôt de lui-même en réponse à une requête générique, lit le README comme une documentation de confiance et peut transmettre ou exécuter les instructions qu'il contient.
Étape 4 : Chaîne d'infection via LuaJIT
Le téléchargement de l'archive ZIP proposée par le dépôt déclenche un chargeur en LuaJIT. Ce chargeur exécute un script Lua obfusqué dont le rôle est de déposer SmartLoader sur la machine cible, en s'appuyant sur une chaîne d'exécution difficile à signaturer statiquement du fait de l'obfuscation.
Étape 5 : Persistance et livraison de la charge finale
SmartLoader établit la persistance sur l'hôte compromis puis télécharge et exécute StealC. StealC collecte des identifiants, des données de navigateur et d'autres informations sensibles, qu'il exfiltre vers l'infrastructure des opérateurs.
Indicateurs de compromission
| Type | Valeur |
|---|---|
| Nombre de dépôts GitHub malveillants identifiés | Environ 7 600 |
| Nombre de profils GitHub factices associés | Environ 6 600 |
| Dépôts se faisant passer pour des skills IA ou serveurs MCP | Plus de 800 |
| Téléchargements cumulés sur les assets de release (juillet 2026) | Plus de 14 millions, répartis sur environ 200 dépôts actifs |
| Annonces recensées sur des registres publics MCP/Skills | Plus de 600, sur LobeHub, Glama, MCP.so et MCP Market |
| Familles de malware associées | SmartLoader (loader), StealC (infostealer) |
| Vecteur de chargement | Archive ZIP déclenchant un loader LuaJIT puis un script Lua obfusqué |
Aucun hash de fichier, domaine de commande et contrôle ou identifiant de dépôt individuel n'a été publié dans les sources exploitées pour ce rapport ; seuls les indicateurs agrégés ci-dessus sont confirmés à ce stade.
MITRE ATT&CK
Aucune cartographie officielle MITRE ATT&CK n'a été publiée par Island ou par les sources reprenant son rapport. Le tableau suivant est notre propre lecture technique de la chaîne décrite, pas une attribution vendeur.
| Tactique | Technique | ID | Justification |
|---|---|---|---|
| Reconnaissance / Développement de ressources | Établir des comptes | T1585.001 | Création d'environ 6 600 profils GitHub factices pour porter les dépôts piégés. |
| Développement de ressources | Charger un logiciel malveillant | T1608.001 | Hébergement de SmartLoader et de ses chaînes de chargement sous forme d'assets de release GitHub. |
| Accès initial | Compromission de la chaîne d'approvisionnement logicielle | T1195.002 | Les dépôts imitent des projets et outils légitimes pour s'insérer dans le flux d'approvisionnement en outils des développeurs et des agents IA. |
| Exécution | Exécution par l'utilisateur : fichier malveillant | T1204.002 | Téléchargement et exécution de l'archive ZIP par un humain ou relais de l'instruction par un agent IA (AgentBaiting). |
| Évasion de défense | Fichiers ou informations obfusqués | T1027 | Script Lua obfusqué interposé entre le chargeur LuaJIT et le dépôt de SmartLoader. |
| Collecte | Identifiants dans les magasins de mots de passe | T1555 | Fonction de collecte de StealC une fois déployé sur l'hôte. |
| Commande et contrôle | Transfert d'outil entrant | T1105 | Téléchargement de la charge finale StealC par SmartLoader après établissement de la persistance. |
Remédiation : checklist opérationnelle
- Constituer et maintenir un catalogue interne de skills, serveurs MCP et plugins d'agents explicitement revus et validés, en interdisant l'installation de tout composant hors catalogue par défaut.
- Évaluer toute nouvelle capacité d'agent dans un environnement sandboxé isolé avant tout déploiement à l'échelle de l'organisation.
- Vérifier systématiquement l'identité de l'éditeur et l'historique du projet avant d'autoriser l'usage d'un dépôt GitHub tiers, y compris quand la recommandation provient d'un agent IA.
- Restreindre les permissions des agents IA de sorte qu'ils ne puissent pas télécharger et exécuter du code exécutable ou des archives sans validation humaine explicite.
- Surveiller les chemins de découverte agentique (requêtes de recherche d'outils, appels réseau vers GitHub Releases, exécution de scripts Lua ou de binaires issus d'archives fraîchement téléchargées).
- Déployer une détection EDR ciblant l'exécution de chargeurs LuaJIT et de scripts Lua obfusqués en dehors de contextes applicatifs connus.
- Sensibiliser les équipes de développement au fait que la présence d'un outil sur un registre public de skills ou de serveurs MCP ne constitue pas une preuve de légitimité.
- En cas de suspicion de compromission par SmartLoader ou StealC, isoler l'hôte, effectuer une rotation complète des identifiants et informations d'authentification stockés dans les navigateurs, et rechercher des signes d'exfiltration secondaire.
Sources
- FakeGit Campaign Uses 7,600 GitHub Repositories to Spread SmartLoader Malware, The Hacker News, 20 juillet 2026
- AgentBaiting: How 800 Fake AI Skills and MCP Servers Delivered Malware, Island
- Active Exploitation Alert: FakeGit Campaign Abuses 7,600 GitHub Repositories, Rescana
- FakeGit campaign uses 7,600 GitHub repos to push SmartLoader malware, BleepingComputer