Pacchetto MCP con errori di battitura
L'installazione di un server MCP esegue il suo codice prima di leggerlo.
Cos’è Pacchetto MCP con errori di battitura?
Un server MCP è un pacchetto npm e l'installazione di un pacchetto esegue i suoi script di installazione come utente corrente prima che qualcuno ne legga il codice. Ciò rende il nome di una dipendenza un limite di sicurezza e un nome non è un'identità. Seguirai un pacchetto pubblicato a un carattere di distanza da una dipendenza attendibile, il cui hook postinstallazione invia file di ambiente e credenziali a un host malintenzionato. Leggerai gli avvisi del registro presenti prima dell'installazione, quindi aggiungi la configurazione e il file di blocco a una versione firmata esatta.
Cosa imparerai in Pacchetto MCP con errori di battitura
- Riconoscere che un server MCP è un pacchetto npm e che l'installazione di uno esegue i suoi script di installazione come utente corrente, prima che qualsiasi parte del suo codice venga revisionata
- Leggere i segnali della pagina del registro che separano un pacchetto attendibile da un typosquat: un editore verificato, una build firmata, una cronologia consolidata, un manutentore noto e l'assenza di script di installazione imprevisti
- Comprendere che un nome non è un'identità, quindi un nome di dipendenza non bloccato può essere risolto in un sosia di un carattere
- Applicare il blocco della versione esatta di un pacchetto firmato nella configurazione e nel file di blocco come controllo durevole e verificarlo riproducendo un'installazione pulita
- Considera l'avviso di nome simile di un registro come un aiuto per gli onesti piuttosto che come un controllo che blocca una pubblicazione dannosa
- Prevenzione separata dal contenimento: la correzione della dipendenza interrompe l'installazione successiva, mentre qualsiasi credenziale già esfiltrata dall'hook, come un token di pubblicazione, deve essere ruotata
Pacchetto MCP con errori di battitura — Fasi della formazione
-
Il pacchetto che vale la pena copiare
Gli agenti di Sarnholt estraggono un livello di batch chiamato databridge-pro dal registro pubblico di Tessquay. È popolare, quindi un pacchetto che sembra verrà installato senza pensarci due volte. Bob non romperà quello vero. Ne pubblicherà uno accanto ad esso.
-
Prendilo prima
Questo è il pacchetto autentico, quello che gli agenti di Sarnholt effettivamente tirano fuori. Controllalo prima che venga sottolineato qualsiasi cosa: la versione, quando è stata pubblicata, chi la mantiene e se la build è firmata.
-
Cosa lo rende affidabile
Tutto in questa pagina è ciò che Bob deve imitare abbastanza fedelmente affinché nessuno lo guardi due volte e non possa riprodurlo.
-
Il punto è il carico utile
Il pacchetto non deve fare nulla di utile. Ha bisogno solo di un file che venga eseguito nel momento in cui viene installato.
-
Funziona prima che qualcuno lo legga
Questo file è collegato al passaggio di postinstallazione del pacchetto, quindi viene eseguito automaticamente non appena il pacchetto viene installato, come chiunque abbia eseguito l'installazione, prima che una singola riga di esso venga rivista.
-
Una modifica di distanza
Bob lo pubblica con un nome che un occhio stanco legge come quello vero: databrige-pro, manca una sola lettera. Il registro glielo permette. Nessuno possiede un nome finché non lo rivendica.
-
Abbastanza vicino a colpo d'occhio
Bob apre la propria inserzione. Accanto a quello vero è ovviamente più sottile, ma nessuno li vede uno accanto all'altro. Vedono il nome in uno snippet di installazione e lo installano.
-
I racconti sono tutti sulla pagina
Ogni segnale che questo non è il vero pacchetto è proprio qui, prima che qualcuno ne digiti il nome.
-
La casa dei telefoni Hook
Bob non deve entrare da nessuna parte. Aspetta che il canale di Sarnholt installi il nome e legge ciò che il gancio ha rimandato al suo collezionista.
-
Perché ha funzionato
Stesso registro, stesso comando di installazione utilizzato da tutti. La domanda è: cosa ha permesso a un nome che nessuno ha controllato di eseguire codice su tre macchine.
Copertura dei framework di sicurezza
OWASP MCP Top 10
- MCP04:2025 Supply Chain & Dependency Tampering
CWE
- CWE-494 Download of Code Without Integrity Check
- CWE-345 Insufficient Verification of Data Authenticity
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security