Plugin4Shell è una vulnerabilità di tipo zero-click che aggira il sistema di verifica dei plugin basato su SHA e può consentire l’esecuzione di codice remoto su piattaforme di intelligenza artificiale come Claude Code, OpenAI Codex, GitHub Copilot e Google Gemini CLI.

Il problema non risiede nei modelli IA utilizzati dagli agenti di coding, ma nel meccanismo di distribuzione dei plugin, uno degli elementi che dovrebbe rendere più sicuro il loro ecosistema. La vulnerabilità, individuata dalla società di sicurezza Air, permette di trasformare un componente apparentemente affidabile in un vettore per l’esecuzione remota di codice senza alcuna interazione da parte dell’utente.
Plugin4shell: perché è importante
Il punto critico è il meccanismo di “SHA pinning”, utilizzato dagli agenti per assicurare che un plugin venga installato a partire da uno specifico commit Git già verificato. L’idea alla base è che l’agente dovrebbe scaricare esattamente il codice corrispondente a un determinato hash, garantendo che anche se il repository originale venisse successivamente compromesso, il software approvato rimarrebbe quello effettivamente eseguito.
Secondo i ricercatori di Air, gli agenti verificano quale riferimento viene richiesto, ma non controllano adeguatamente che il codice effettivamente presente nella directory di lavoro corrisponda all’hash SHA previsto. Un aggressore che abbia preso il controllo del repository può quindi manipolare la risoluzione del riferimento e far installare una versione malevola mantenendo apparentemente intatto il meccanismo di sicurezza.
È qui che entra in gioco il carattere zero-click dell’attacco. I plugin degli agenti possono infatti essere aggiornati automaticamente e, se un componente già installato viene sostituito a monte e il processo di aggiornamento non verifica correttamente il commit effettivamente eseguito, il codice malevolo può arrivare sulla macchina senza che lo sviluppatore debba scaricare manualmente un nuovo pacchetto o autorizzare un comando.
Le conseguenze dipendono naturalmente dai privilegi concessi all’agente. Un coding agent non è semplicemente un chatbot, ma può leggere repository, accedere a file locali, eseguire comandi, interagire con strumenti di sviluppo e, in determinati ambienti, raggiungere risorse aziendali e credenziali. Un plugin compromesso eredita quindi potenzialmente parte di queste autorizzazioni.
Air descrive questo aspetto come uno degli elementi che rendono particolarmente rilevante l’attacco per le aziende. La ricerca evidenzia inoltre un problema più ampio nella catena di approvvigionamento del software IA. Tradizionalmente, per compromettere un’applicazione era necessario attaccare direttamente il programma, il suo sviluppatore o le dipendenze utilizzate.
Nel caso degli agenti, la superficie d’attacco comprende invece anche marketplace, skill e plugin che ampliano le capacità operative del sistema. L’idea di Air è che Plugin4Shell rappresenti un attacco alla distribuzione dell’agente, anziché al modello o al motore di esecuzione.
Gli scenari individuati sono principalmente due: la compromissione di un plugin da parte di un aggressore e l’utilizzo del plugin compromesso per accedere a risorse sensibili. La vulnerabilità potrebbe essere sfruttata per eseguire codice arbitrario sul sistema della vittima, rubare dati o compromettere l’integrità dell’ambiente di sviluppo.
Cosa cambia e quali sono gli effetti
Sul fronte delle correzioni la situazione è diversa da prodotto a prodotto. Anthropic ha corretto la vulnerabilità in Claude Code 2.1.179, mentre OpenAI l’ha risolta in Codex 0.146.0. Google ha comunicato che Gemini CLI è stato deprecato e non riceverà una patch; agli utenti viene indicata la migrazione verso il nuovo ambiente agentico Antigravity, che non risulta interessato da questo specifico attacco.
Più controversa è la situazione di Microsoft. Air sostiene che Microsoft Copilot rimanga vulnerabile, mentre GitHub ha dichiarato che GitHub Copilot non sarebbe interessato grazie a una mitigazione che impedisce di creare su GitHub rami o tag con nomi corrispondenti a commit SHA. I ricercatori contestano però che questa protezione sia sufficiente, perché i marketplace supportati dagli agenti possono utilizzare anche infrastrutture Git differenti, come Bitbucket o server self-hosted.
La distinzione è importante perché sposta il problema dal singolo marketplace all’implementazione del client. Se è l’agente a risolvere il riferimento Git e a decidere quale codice eseguire, un marketplace può ridurre alcuni vettori di attacco ma non garantire da solo l’integrità del risultato.
La verifica realmente efficace deve avvenire dopo il checkout, confrontando il commit effettivamente presente nell’albero di lavoro con quello dichiarato come attendibile. Air raccomanda agli sviluppatori e alle aziende di implementare controlli rigorosi sull’integrità dei plugin utilizzati dai loro agenti di coding.
Fonte e approfondimento su plugin4shell: articolo originale.
* Contenuto realizzato con l'ausilio di sistemi di intelligenza artificiale.
Hardware Ready Ready to Bench?