Island ha reso pubblica il 21 luglio 2026 una campagna di supply chain attack senza precedenti: oltre 800 repository GitHub si spacciavano per AI Skills e MCP server, ottimizzati per essere scoperti e promossi da agenti AI autonomi. Il risultato è un vettore di infezione in cui Claude Code, Gemini e ChatGPT hanno raccomandato istruzioni di installazione malevole senza che l'utente avesse mai cliccato un link sospetto. La posta in gioco è il "consenso informato" delegato: quando un algoritmo filtra la discovery di capability, chi controlla ciò che propone?
- Island ha identificato circa 7.600 repository GitHub malevoli nella campagna FakeGit, di cui oltre 800 camuffati da AI Skills o MCP server.
- Gli agenti AI Claude Code, Gemini e ChatGPT hanno scoperto autonomamente questi repository e ne hanno ripetuto le istruzioni di installazione agli utenti.
- La catena tecnica passa da SmartLoader (runtime LuaJIT offuscato) a un C2 risolto via smart contract Polygon, fino all'iniezione in-memory di StealC.
- Oltre 14 milioni di download sono stati misurati su GitHub Release assets in circa 200 repository, anche se il dossier non quantifica le esecuzioni effettive.
La tattica AgentBaiting: ottimizzare per la discovery automatica
I repository della campagna FakeGit non attendevano clic umani. Erano strutturati per essere scoperti da agenti AI che cercano capability nella wild: Skills per Claude, MCP server per ambienti di sviluppo automatizzato. I creatori hanno replicato repository legittimi con nomi quasi identici — Mann1988/awesome-claude-skills copiava ComposioHQ/awesome-claude-skills (67.000+ star), accumulando 63 star e 18 fork sufficienti a sembrare attendibili. L'account Naveenkm007 differiva di un solo carattere dal legittimo Naveenkm07.
Questi repository comparivano oltre 600 volte in registry AI pubblici come LobeHub, Glama, MCP.so e MCP Market, secondo la fonte. Il picco di attività è stato aprile 2026, con quasi 300 repository AI creati in un solo mese. La superficie di esposizione non è il browser dell'utente: è l'indice di ricerca che l'agente AI consulta per costruire risposte.
Il test di Island: tre agenti, tre failure autonomi
Oleg Zaytsev, lead security researcher at Island, ha documentato test controllati con prompt esatti. Con "Find free claude cinematic prompt skill", Claude Code ha surfato autonomamente fino al repository adlaiponderous700/claude-skill-cinematic-prompt, lo ha valutato come alternativa valida e ha ripetuto all'utente le istruzioni malevole: "Download the .exe from the GitHub Releases page" e "Run it (click More info → Run anyway if a security prompt appears)". Gemini, interrogato per un MCP server Walmart, ha restituito come primo risultato DomingosNgongo/walmart-mcp, descritto come "completely free, open-source". ChatGPT ha mostrato pattern analoghi.
Zaytsev ha sintetizzato il meccanismo: "An AI agent searching for a new capability such as a Skill or an MCP server can discover a campaign repository on its own, treat the attacker's README as legitimate documentation, and hand the installation instructions to the user". Il playbook costruito per ingannare persone ora inganna gli agenti che agiscono per loro conto.
"A playbook built to deceive people now deceives the agents acting on their behalf" — Island research blog
Da SmartLoader a StealC: la catena tecnica
Il payload segue una struttura ricorrente individuata da Island: launcher .cmd o .bat, runtime LuaJIT-style rinominato, payload Lua offuscato in file con estensione .txt o .ico. Un esempio documentato, ico64.txt, pesa circa 300 KB. Da qui la catena prosegue verso il C2, risolto tramite smart contract sulla blockchain Polygon — tecnica che Derp.ca aveva già analizzato su varianti FakeGit — fino a un PE crypter e all'iniezione in-memory di StealC.
StealC è un infostealer che estrae credenziali, sessioni attive e dati sensibili. Il punto critico: non si limita a password memorizzate, ma cattura sessioni live. Come ha sottolineato Zaytsev, "StealC takes live sessions, not just passwords, so resetting passwords alone is not enough". La risposta richiede revoca di sessioni attive, OAuth grants, API token e credenziali cloud e sviluppo, oltre all'isolamento dell'endpoint.
Cosa fare adesso
- Isolare l'endpoint e revocare sessioni attive, OAuth grants, API token e credenziali cloud e sviluppo se si sospetta esecuzione di SmartLoader.
- Non limitarsi al reset password: StealC cattura sessioni live, quindi la revoca completa delle autorizzazioni attive è necessaria.
- Verificare ogni capability che un agente AI autonomo scopre e propone, anche se presentata con linguaggio neutro o documentazione apparentemente professionale.
- Controllare la provenienza di Skills e MCP server in registry AI pubblici, confrontando account e nomi repository con le fonti ufficiali dei progetti legittimi.
Il problema del catalogo fidato in un ecosistema aperto
La campagna FakeGit espone un paradosso strutturale dell'architettura agentica. Gli agenti AI sono progettati per estendere le capacità degli utenti attraverso discovery autonoma, ma non dispongono di un "catalogo fidato" di capability equivalente alle app store certificate. Il registry pubblico diventa il marketplace, e la reputazione si misura in star e fork facilmente manipolabili. Island non documenta meccanismi di reporting interni agli agenti per repository segnalati come malevoli, né è chiaro se GitHub abbia rimosso i repository coinvolti.
Restano inoltre zone d'ombra. Il dossier non quantifica quanti utenti abbiano effettivamente eseguito il malware dopo una raccomandazione da agente AI, né documenta la frequenza di "miss" versus "refuse" nei test — Claude ha rifiutato in alcuni run, ma Island non specifica la distribuzione. I circa 14 milioni di download misurati su GitHub Release assets non distinguono tra download automatici, bot e utenti reali.
Il dato che resiste è l'architettura del rischio. Non servono più email di phishing o siti compromessi: basta un repository ben posizionato e un README credibile. L'agente AI diventa veicolo di social engineering automatizzato senza che il suo progettista lo abbia previsto. La risposta non è un patch di sicurezza tradizionale, ma una ricalibrazione del trust boundary tra umano e agente.
Fonti
- https://www.island.io/blog/agentbaiting-how-800-fake-ai-skills-and-mcp-servers-delivered-malware
- https://www.helpnetsecurity.com/2026/07/21/github-repos-malware-campaign-fakegit-ai-agents/
- https://www.helpnetsecurity.com/2026/07/15/impersonated-brands-github-infostealer-download/
- https://cdn.prod.website-files.com/61ae4b4cbab51cbc104b323f/6a58dfea12ec47a22109c316_1.png
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.