- Cos'è l'avvelenamento degli utensili MCP? L'avvelenamento degli strumenti MCP è un attacco in cui istruzioni dannose vengono nascoste all'interno della descrizione di uno strumento esposto tramite il Model Context Protocol (MCP). L'agente di intelligenza artificiale le legge e le esegue; l'utente non le vede mai.
- Perché funziona: Un agente considera ogni descrizione di strumento come contesto affidabile. L'avvelenamento dello strumento trasforma questa fiducia in un'iniezione indiretta di suggerimento.
- Cosa può fare: Esfiltrare chiavi e credenziali SSH, reindirizzare messaggi o indurre l'agente a utilizzare in modo improprio altri strumenti legittimi.
- Varianti principali: Istruzioni nascoste nelle descrizioni degli strumenti, rug pull (uno strumento cambia dopo la tua approvazione) e tool shadowing (un server manipola il modo in cui l'agente utilizza gli strumenti di un altro server).
- Prima difesa: È fondamentale sapere quali server e strumenti MCP vengono utilizzati dagli agenti e dai repository, valutarli attentamente prima dell'adozione, bloccare le versioni e limitare l'accesso di ciascun agente.
L'avvelenamento degli utensili: una spiegazione #
L'avvelenamento dello strumento MCP è un tipo di attacco contro gli agenti IA che utilizzano il Protocollo del contesto del modello, l'aperto standard che permette agli agenti di connettersi a strumenti e fonti di dati esterni. Ogni server MCP pubblica un elenco di strumenti con nome, descrizione e parametri. Il modello dell'agente legge queste descrizioni per decidere quando e come richiamare ciascuno strumento.
In un attacco di avvelenamento degli strumenti, l'aggressore nasconde istruzioni all'interno dei metadati. Uno strumento che sembra una calcolatrice innocua può contenere del testo che indica al modello di leggere un file privato e di passarne il contenuto come parametro. L'utente che approva lo strumento vede una breve etichetta apparentemente innocua. Il modello, invece, legge e segue la descrizione completa.
I ricercatori di sicurezza hanno identificato e divulgato la classe di attacchi nell'aprile 2025, descrivendola come una forma specializzata di iniezione indiretta di prompt. La loro prova di concetto ha esfiltrato chiavi SSH e file di configurazione MCP tramite uno strumento "add" avvelenato. Da allora, la comunità OWASP ha documentato l'avvelenamento di MCPtool come un attacco distinto e benchmark accademici come MCPTox L'ho testato su server MCP reali.
Perché l'avvelenamento degli utensili funziona? #
L'avvelenamento degli strumenti sfrutta una discrepanza tra ciò che gli esseri umani esaminano e ciò che leggono i modelli:
- Le descrizioni sono un contesto affidabile. I client MCP trasmettono al modello le descrizioni degli strumenti come istruzioni su come utilizzare lo strumento, quindi il testo nascosto al suo interno ha una reale autorità.
- Gli utenti visualizzano un riepilogo. La maggior parte delle interfacce mostra il nome dello strumento e una breve etichetta, non la descrizione completa o lo schema dei parametri.
- Gli agenti agiscono con accesso reale. Un agente di codifica ha spesso accesso al file system, alla shell e alla rete, oltre alle credenziali dello sviluppatore. Qualunque cosa richieda l'istruzione avvelenata, l'agente di solito è in grado di eseguirla.
- I server MCP sono codice di terze parti. Molti vengono installati da registri pubblici con un singolo comando, senza un'adeguata verifica.
Ecco perché l'avvelenamento degli utensili si colloca all'incrocio di due rischi: iniezione tempestiva e la catena di fornitura del software?
Tipi di avvelenamento degli utensili MCP #
L'avvelenamento degli strumenti assume diverse forme. Tutte sfruttano la fiducia dell'agente nei metadati degli strumenti.
Avvelenamento degli strumenti MCP e framework OWASP #
Le vulnerabilità degli strumenti MCP si sovrappongono direttamente agli elenchi di rischio OWASP per le applicazioni di intelligenza artificiale:
Vulnerabilità della catena di approvvigionamento ASI04 Agentic, ASI01 Agent Goal Hijack and Uso improprio dello strumento ASI02 nella OWASP Top 10 per le applicazioni agentiche. La nostra guida alla OWASP Agentic AI Top 10 spiega ogni rischio con pipeline esempi.ata sfruttabilità e correzione dell'IA apre la soluzione pull requests dove lavorano gli sviluppatori.
LLM01 Iniezione rapida nella OWASP Top 10 per le domande di LLM, poiché l'avvelenamento degli strumenti è una forma di iniezione indiretta immediata.
Come prevenirlo? #
Nessun singolo metodo di controllo elimina completamente l'avvelenamento degli utensili. Le seguenti pratiche riducono il rischio e i danni:
- Eseguire l'inventario di tutti i server e gli strumenti MCP. Non è possibile verificare, bloccare o limitare gli strumenti di cui non si conosce l'utilizzo da parte degli agenti.
- Testare i server prima di adottarli. Preferisci gli editori verificati, esamina attentamente la descrizione completa dello strumento e i relativi parametri, e controlla il pacchetto stesso per individuare eventuali codici dannosi.
- Blocca le versioni e rileva le modifiche. Blocca le versioni del server MCP e rivedile ogni volta che cambia la definizione di uno strumento, in modo che non si possano verificare modifiche improvvise e silenziose.
- Applicare il principio del minimo privilegio. Assegnate a ciascun agente solo gli strumenti, i file e le credenziali necessari per il suo compito ed evitate token generici e di lunga durata.
- Isolare gli agenti. Esegui gli agenti in ambienti sandbox con accesso di rete limitato, in modo che un'istruzione dannosa non possa raggiungere i tuoi segreti o inviare dati all'esterno.
- Richiedere l'approvazione per le azioni sensibili. È fondamentale che una persona rimanga coinvolta nelle azioni che inviano dati, modificano le autorizzazioni o hanno a che fare con l'ambiente di produzione.
- Registra le chiamate agli strumenti. Registra quali strumenti un agente utilizza e con quali parametri, in modo da poter analizzare eventuali anomalie.
In che modo Xygeni contribuisce a ridurre il rischio di avvelenamento degli utensili? #
Xygeni affronta le fasi dell'avvelenamento degli strumenti MCP che lasciano tracce prima che l'agente si metta in azione:
- Inventario: Xygeni AI Security Rileva i server MCP, gli strumenti, gli agenti e i modelli presenti nei repository, mappa quale agente chiama quale server MCP ed esporta tutto come AI-BOM.
- Agenti eccessivamente privilegiati: Segnala i server MCP e gli strumenti con privilegi elevati e credenziali di lunga durata nelle configurazioni degli agenti, che limitano ciò che un'istruzione avvelenata può raggiungere.
- Istruzioni dannose: esamina il file di istruzioni per le competenze e l'agente che guidano gli agenti, intercettando istruzioni dannose che nessuna firma può vedere.
- Pacchi dannosi: Molti server MCP sono distribuiti come pacchetti npm o PyPI. Avviso tempestivo di malware analizza le nuove versioni dei pacchetti non appena vengono pubblicate e Shield blocca i pacchetti dannosi sulle workstation degli sviluppatori prima che vengano installati.
FAQ #
L'avvelenamento degli strumenti MCP si verifica quando un aggressore nasconde istruzioni all'interno della descrizione di uno strumento che un agente di intelligenza artificiale può utilizzare. L'agente legge il testo nascosto e lo segue, ad esempio divulgando file, mentre l'utente vede solo un nome di strumento innocuo.
L'avvelenamento degli strumenti è una forma di iniezione indiretta di prompt. La differenza sta nel luogo in cui risiede l'istruzione dannosa: nei metadati dello strumento di cui l'agente si fida, anziché in un documento, una pagina web o un messaggio utente.
Si verifica un "rug pull" quando un server MCP modifica la definizione di uno strumento dopo la tua approvazione. Lo strumento che hai esaminato non è più quello utilizzato dal tuo agente, quindi è essenziale bloccare le versioni e rivedere le modifiche.
Iniziate con un inventario di tutti i server e strumenti MCP utilizzati dai vostri agenti e repository. Quindi, esaminate ciascuno di essi per individuarne il produttore, le autorizzazioni necessarie e le modalità di installazione. Strumenti come Xygeni AI Security creano automaticamente questo inventario a partire dal vostro codice.
