← Ultimi articoli
🤖 AI

Exposed by Design: A Dynamic Security Assessment of Internet-Facing MCP Servers at Scale

Questo articolo presenta la prima valutazione della sicurezza dinamica su larga scala di server del Model Context Protocol (MCP) esposti su Internet, rivelando vulnerabilità diffuse come la mancanza di autenticazione e l'esposizione dell'esecuzione di shell attraverso lo sviluppo del framework Corvus e l'analisi di centinaia di istanze in produzione.

Autori originali: Nicolás Padilla

Pubblicato 2026-08-04
📖 1 min di lettura☕ Lettura da pausa caffè

Autori originali: Nicolás Padilla

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Sintesi Tecnica: Esposto per Design

Problematica

Il Model Context Protocol (MCP), rilasciato da Anthropic nel novembre 2024, è diventato rapidamente lo strato di integrazione de facto per le applicazioni di IA agentica, connettendo i Large Language Models (LLM) a strumenti esterni e fonti di dati. Sebbene l'adozione sia aumentata rapidamente superando le 21.000 istanze di server raggiungibili pubblicamente, la postura di sicurezza di queste implementazioni rimane in gran parte non caratterizzata.

La ricerca sulla sicurezza esistente si è biforcata tra il threat modeling teorico o l'analisi statica di voci di registro e codice sorgente. Questi approcci non riescono a catturare la postura di sicurezza runtime dei server live esposti a Internet. Il documento identifica una lacuna critica: la mancanza di dati empirici sulla prevalenza di vulnerabilità nei server MCP implementati, in particolare quelle derivanti dal design unico del protocollo, in cui le descrizioni degli strumenti in linguaggio naturale sono strutturalmente accoppiate all'esecuzione del codice. L'autore postula che la barriera minima per esporre i servizi come endpoint MCP abbia portato a un panorama di deployment che opera al di sotto della baseline di sicurezza dei servizi internet convenzionali, caratterizzato da una mancanza di autenticazione, capacità di esecuzione di shell esposte e cicli di deployment rapidi ed effimeri.

Metodologia

Lo studio impiega una metodologia in due fasi che combina la scoperta passiva con il testing comportamentale dinamico attivo.

1. Scoperta Passiva (Petrel)

L'autore ha sviluppato Petrel, una pipeline di scoperta che aggrega candidati da undici fonti eterogenee per massimizzare la copertura dell'ecosistema MCP:

  • Certificate Transparency Logs: crt.sh per certificati SSL/TLS contenenti sottostringhe indicative di MCP.
  • Piattaforme per Sviluppatori: GitHub (ricerche per topic, corrispondenza di nomi di file), HuggingFace Spaces, e i registry npm/PyPI.
  • Registry Specializzati: Smithery, glama.ai, e pulsemcp.com.
  • Scanner Internet: Censys, FOFA, e Shodan.

I candidati vengono sottoposti a fingerprinting HTTP attivo per distinguere i server MCP live dai falsi positivi. Petrel interroga sia l'attuale trasporto Streamable HTTP (tramite POST con una richiesta initialize JSON-RPC) sia il legacy trasporto SSE. Solo i server che rispondono con handshake di protocollo validi vengono confermati per il testing.

2. Testing di Sicurezza Dinamico (Corvus)

L'autore introduce Corvus, un framework open-source progettato per la valutazione comportamentale dinamica. Corvus sottopone i server confermati a 34 moduli di test (13 statici, 21 dinamici) coprendo la MCP Security Top 10 (MST-10), una nuova tassonomia di vulnerabilità derivata dallo studio.

  • Modello di Esecuzione: Corvus utilizza un loop di lettura StdioTransport multiplexato per canalizzare le richieste JSON-RPC, consentendo un testing ad alto throughput attraverso gruppi paralleli.
  • Strategie di Testing:
    • Tool Poisoning: Iniezione di definizioni di tool ombra per testare la mutazione dinamica (attacchi rug-pull).
    • Injection: Invio di payload creati appositamente per testare SQL injection, command injection e prompt injection tramite output dei tool.
    • SSRF & Manipolazione URI: Test sui resource URI e sui cursori di paginazione per path traversal e Server-Side Request Forgery (SSRF) contro i servizi di metadati cloud (es. AWS IMDS).
    • Bypass dello Schema: Fuzzing dei messaggi JSON-RPC per identificare ambiguità del parser.
  • Output: I risultati sono classificati per confidenza (0–100) e prodotti in formato SARIF 2.1.0. I risultati ad alta confidenza sono sottoposti a triage manuale e riportati tramite GitHub Security Advisories (GHSA) sotto un embargo di divulgazione coordinata di 90 giorni.

Contributi Chiave

Il documento apporta cinque contributi primari:

  1. Primo Assessment Comportamentale Dinamico: Il primo audit di sicurezza dinamico su larga scala di server MCP esposti a Internet, confermando 640 deployment unici in produzione e auditando 414 di essi.
  2. Framework Corvus: Il rilascio di uno strumento open-source che implementa 34 moduli di test attraverso tutte le 10 categorie MST-10, supportando sia i trasporti Streamable HTTP che SSE.
  3. Metodologia di Scoperta Multi-Fonte: La dimostrazione che nessuna singola fonte di dati cattura adeguatamente la popolazione MCP, rendendo necessaria una pipeline che spazi tra undici fonti per ottenere una copertura completa.
  4. Caratterizzazione del Churn di Deployment: Evidenza empirica di un tasso di scomparsa dei server del 41,6% entro 72 ore, indicando un modello di deployment guidato dall'esperimento effimero piuttosto che dalla stabilità operativa.
  5. Pipeline di Divulgazione Responsabile: L'identificazione e la divulgazione responsabile di 68 vulnerabilità, incluse SQL injection, SSRF e prompt template injection, con 19 divulgate pubblicamente e 49 sotto embargo al momento della scrittura.

Risultati

Attraverso quattro sessioni di misurazione nel luglio 2026, lo studio ha prodotto i seguenti risultati:

  • Deficienze di Autenticazione: Il 91,8% dei server auditati dinamicamente (380/414) manca di autenticazione OAuth. La maggioranza opera senza autenticazione o con bearer token statici e prevedibili.
  • Esecuzione di Shell non Autenticata: 687 istanze di tool nell'intero pool di server confermati espongono capacità di esecuzione shell (es. bash_execute, run_command) senza alcun controllo di accesso, permettendo l'esecuzione di codice remoto da parte di qualsiasi avversario di rete.
  • Prevalenza di Vulnerabilità: Lo studio ha identificato 68 vulnerabilità segnalabili. I risultati critici includono:
    • SQL Injection: Confermata tramite differenziali nelle dimensioni della risposta in uno strumento di ricerca di un corpus.
      [] SSRF: Confermata tramite oracoli di latenza (11,9s di latenza rispetto a una baseline di 0,3s) mirando all'AWS Instance Metadata Service.
    • Prompt Template Injection: Confermata iniettando sequenze di controllo che hanno sovrascritto le istruzioni di sistema in un assistente AI.
    • Path Traversal: Ottenuto tramite la manipolazione dei cursori nelle primitive di paginazione.
  • Churn dell'Ecosistema: Il 41,6% dei server confermati in una sessione di misurazione era irraggiungibile 72 ore dopo. Questo tasso di churn suggerisce che molti server sono artefatti transitori di pipeline CI/CD o sperimentazioni di sviluppatori, complicando il monitoraggio a lungo termine e la verifica delle patch.

Significato e Rivendicazioni

Il documento sostiene di fornire la prima baseline empirica per la postura di sicurezza dell'ecosistema MCP. La sua importanza risiede nello spostare la comprensione della sicurezza MCP dal threat modeling teorico alla realtà osservata.

L'autore sostiene che i rischi di sicurezza siano strutturali, non accidentali. Il protocollo è stato progettato principalmente per il trasporto stdio locale, dove l'isolamento del processo del sistema operativo garantisce la sicurezza. L'aggiunta successiva del trasporto HTTP, senza l'equivalente introduzione di default di sicurezza (come l'OAuth obbligatorio), ha prodotto un "percorso di minor resistenza" che genera server non autenticati ed esposti a Internet per impostazione predefinita.

Lo studio conclude che l'ecosistema MCP opera attualmente al di sotto della baseline minima di sicurezza operativa dei servizi internet convenzionali. La combinazione di esecuzione di shell non autenticata, assenza di livelli di autenticazione e cicli di deployment rapidi ed effimeri crea una superficie di attacco dove le vulnerabilità non sono solo prevalenti, ma facilmente sfruttabili. L'autore afferma che il loro lavoro dimostra che la sicurezza di MCP è una superficie di attacco attiva e sfruttabile che richiede attenzione immediata da parte degli sviluppatori di SDK, dei fornitori di piattaforme e degli operatori di registry per imporre i default di sicurezza e migliorare i meccanismi di divulgazione.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →