I ricercatori della sicurezza hanno divulgato l’11 agosto una tecnica che aggira l’addestramento al rifiuto negli agenti di coding AI suddividendo un’istruzione malevola in frammenti recapitati tramite un server Model Context Protocol connesso. La conformità media tra gli 11 modelli testati via API è salita dal 42% all’82%.

Perché la frammentazione funziona

I controlli di sicurezza valutano un messaggio. Nessun frammento, preso singolarmente, è una richiesta di rubare qualcosa: ciascuno è un innocuo valore di campo su uno strumento chiamato integrity_checker con quattro parametri banali. L’istruzione esiste solo dopo che l’agente ha assemblato i pezzi, a quel punto il passaggio di rifiuto è già stato superato.

I risultati per modello sono disomogenei

GPT-4o, Gemini 2.0 Flash e Llama 3.3 70B sono passati tutti da 0% a 100%. GPT-5.4 ha rispettato la richiesta nel 90% dei casi in Cursor e nel 100% in Codex CLI, ma allo 0% dietro Claude Code: il contesto di esecuzione contava quanto il modello. Claude Haiku 4.5 è rimasto allo 0% via API, ma ha raggiunto il 100% con una variante in tre parti in Cursor. Tra i file presi durante i test figuravano .ssh/id_rsa, .env, customers.csv e codice sorgente proprietario.

Cosa richiede l’attacco

Il modello di minaccia presuppone che lo sviluppatore abbia già collegato il server MCP dell’attaccante e che l’agente disponga di accesso in lettura ai file. Non si tratta di una compromissione remota di un agente qualsiasi; è un problema di supply chain in un ecosistema in cui aggiungere un server è una modifica di configurazione di una sola riga.

Stato

Si tratta di una prova di concetto di ricerca con un’implementazione di riferimento pubblica. Non ci sono prove di sfruttamento sul campo e, al momento della pubblicazione, non esiste alcun CVE; la divulgazione coordinata è ancora in corso.

Ciò che riduce davvero il raggio d’azione

Un migliore addestramento al rifiuto non risolve il problema. Limitare l’accesso ai file per singolo strumento, richiedere un’approvazione esplicita prima che un agente legga file al di fuori della directory di lavoro e vincolare quali server un progetto può caricare in assoluto — trattando i server connessi come input non attendibile — è ciò che limita i danni.