Introduzione
La sicurezza MCP è oggi un nodo critico: plugin apparentemente innocui possono combinarsi e creare superfici d'attacco invisibili, permettendo esecuzioni silenziose senza intervento umano.
Perché importa: gli MCP (connectors tra agenti AI e strumenti o API) stanno diventando il livello di esecuzione del software, e la loro composizione può moltiplicare il rischio ben oltre le singole componenti.
Sicurezza MCP: definizione rapida
Gli MCP sono componenti che collegano agenti a tool/API ed eseguono azioni; la sicurezza MCP valuta come input non affidabili e azioni privilegiate interagiscono.
Contesto
La ricerca analizzata esamina 281 configurazioni MCP raccolte da framework di agenti e stack di plugin. Emerso che la combinazione di plugin che accettano input non affidabili con plugin che eseguono azioni privilegiate genera un moltiplicatore di rischio difficile da intercettare con controlli statici tradizionali.
Il problema / Sfida
In molte installazioni reali è sufficiente un singolo messaggio Slack, un'email mirata o un contenuto web controllato dall'attaccante per scatenare esecuzione di codice in background senza revisione umana. Le metriche chiave dello studio:
- Oltre 7 plugin su 10 espongono azioni potenti
- 72% degli MCP permette operazioni sensibili (scrittura su disco, esecuzione, chiamate ad API ad alta autorizzazione)
- La combinazione di due specifici plugin può portare il rischio di exploit al 36%, tre plugin lo porta oltre il 50%
- Installare 10 plugin può spingere il rischio di sfruttamento al 92%
- 13% dei plugin accetta input controllati da un avversario (web scraping, Slack, email)
- 9% combina input non affidabili con diritti di esecuzione privilegiati, rendendo possibili exploit senza zero-day
Perché la composizione è pericolosa
Un singolo plugin isolato può sembrare sicuro; la combinazione di più plugin crea catene in cui: un plugin ottiene input non affidabili → un altro plugin lo elabora → un terzo plugin esegue l'azione. Questo produce backdoor programmabili senza movimento laterale o malware sofisticato.
Esempi reali osservati
- Un agente ha scaricato HTML remoto, lo ha passato a un plugin shell e ha eseguito codice senza intervento umano.
- Un'email confezionata ha innescato un prompt injection che, passando per un interprete di codice, ha attivato esecuzione automatica.
- Un messaggio Slack ha avviato comandi terminal tramite un plugin di automazione connesso.
Soluzione / Approccio
La difesa non può basarsi solo su controlli statici; servono validazioni contestuali e controlli di composizione. Azioni raccomandate pratiche:
- Abilitare l'approvazione host MCP: richiedere conferma umana per ogni chiamata a server sensibili.
- Limitare esposizione: attivare solo i server e gli strumenti effettivamente necessari.
- Isolare l'esecuzione: contenitori e policy per contenere il raggio d'azione delle azioni privilegiate.
- Implementare validazione runtime catena-consapevole: controlli che valutano input, trasformazioni e sink prima dell'esecuzione.
- Monitoraggio focalizzato su catene di plugin e flussi di input non affidabili (Slack, email, scraping).
Checklist rapida di mitigazione
- Revisione dei plugin installati e dei loro privilegi
- Disabilitazione dei plugin non usati
- Policy che separano parsing e esecuzione in ambienti isolati
- Audit dei flussi che portano input esterni direttamente a executor
Conclusione
La sicurezza MCP richiede un cambio di paradigma: trattare i plugin come codice attivo con validazione di contesto e isolamento delle esecuzioni. Ridurre il rischio composizionale è possibile con controlli di approvazione, limitazione dell'esposizione e isolamento, oltre a monitoraggio incentrato sulle catene di plugin.
FAQ
Come misuro il rischio composizionale della mia installazione MCP?
Valuta combinazioni di plugin che accettano input esterni e plugin con esecuzione privilegiata; calcola percentuale di accoppiamenti senza checkpoint e priorizza quelli con accesso a file/shell/API sensibili.
Quali sono le azioni prioritarie per migliorare la sicurezza MCP?
Abilitare approvazione host, disabilitare plugin non necessari, isolare esecuzioni e implementare validazione runtime specifica per le catene di plugin.
Un singolo plugin può essere pericoloso per la sicurezza MCP?
Da solo spesso sembra innocuo, ma in combinazione con altri plugin può diventare vettore di exploit; la composizione è il vero moltiplicatore di rischio.
Come identifico input non affidabili che minacciano la sicurezza MCP?
Controlla sorgenti come scraping web, ingestioni email e messaggi Slack; considera automatismi che processano questi dati senza revisione umana.