Typosquatted MCP-pakket
Als u een MCP-server installeert, wordt de code uitgevoerd voordat u deze leest.
Wat is Typosquatted MCP-pakket?
Een MCP-server is een npm-pakket, en bij het installeren van een pakket worden de installatiescripts uitgevoerd als de huidige gebruiker voordat iemand de code ervan leest. Dat maakt een afhankelijkheidsnaam tot een beveiligingsgrens, en een naam is geen identiteit. Je volgt een pakket dat één teken verwijderd is van een vertrouwde afhankelijkheid, waarvan de postinstall-hook omgevings- en referentiebestanden naar een aanvaller-host verzendt. U leest de registerwaarschuwingen die daar vóór de installatie stonden, corrigeert vervolgens de naam in de agentconfiguratie en zet deze vast op een exact ondertekende versie.
Wat je leert in Typosquatted MCP-pakket
- Erken dat een MCP-server een npm-pakket is en dat bij het installeren ervan de installatiescripts worden uitgevoerd als de huidige gebruiker, voordat de code wordt beoordeeld
- Lees de signalen op de registerpagina die een vertrouwd pakket onderscheiden van een typosquat: een geverifieerde uitgever, een ondertekende build, een gevestigde geschiedenis, een bekende onderhouder en de afwezigheid van onverwachte installatiescripts
- Begrijp dat een naam geen identiteit is, dus een afhankelijkheidsnaam die uit het geheugen wordt getypt, kan verwijzen naar een lookalike van één teken
- Neem de exacte pakketnaam van de geverifieerde uitgever, zet een exact ondertekende versie vast in de configuratie en verifieer deze met een schone installatie
- Beschouw de eigen gelijksoortige waarschuwing van een register als een hulpmiddel voor de eerlijkheid, in plaats van als een controlemiddel dat een kwaadwillige publicatie tegenhoudt
- Afzonderlijke preventie van containment: het repareren van de afhankelijkheid stopt de volgende installatie, terwijl alle referenties die de hook al heeft geëxfiltreerd, zoals een publicatietoken, moeten worden gerouleerd
Typosquatted MCP-pakket — Trainingsstappen
-
Het pakket dat het kopiëren waard is
De agenten van Sarnholt halen een batchlaag genaamd databridge-pro uit het openbare Tessquay-register. Het is populair, dus een pakket dat eruit ziet alsof het zonder een tweede blik wordt geïnstalleerd. Bob gaat de echte niet kapot maken. Hij gaat er een naast publiceren.
-
Neem het eerst in
Dit is het echte pakket, het pakket dat de agenten van Sarnholt daadwerkelijk binnenhalen. Kijk er eens naar voordat er iets op wordt gewezen: de versie, wanneer deze is gepubliceerd, wie deze onderhoudt en of de build is ondertekend.
-
Wat maakt het betrouwbaar
Bob has to make his package look like this page closely enough that nobody looks twice, but he cannot reproduce what stands behind it.
-
De lading is het punt
Het pakket hoeft niets nuttigs te doen. Er is slechts één bestand nodig dat wordt uitgevoerd op het moment dat het wordt geïnstalleerd.
-
Het is actief voordat iemand het leest
Dit bestand is gekoppeld aan de post-installatiestap van het pakket, zodat het automatisch wordt uitgevoerd zodra het pakket is geïnstalleerd, net als degene die de installatie heeft uitgevoerd, voordat ook maar één regel ervan wordt beoordeeld.
-
Eén bewerking verwijderd
Bob publiceert het onder een naam die door een vermoeid oog als de echte wordt gelezen: databrige-pro, er ontbreekt een enkele letter. Het register laat hem dat toe. Niemand bezit een naam totdat hij deze claimt.
-
In één oogopslag voldoende dichtbij
Drie dagen later opent Bob zijn eigen vermelding. Naast de echte is hij uiteraard dunner, maar niemand ziet ze naast elkaar. Ze zien de naam in een installatiefragment en installeren het.
-
De tellers staan allemaal op de pagina
Elk signaal dat dit niet het echte pakket is, is hier, voordat iemand de naam typt.
-
Het Hook Phones-huis
Bob hoeft nergens in te breken. Hij wacht op de eigen pijpleiding van Sarnholt om de naam te installeren en leest wat de haak terugstuurt naar zijn verzamelaar.
-
Waarom het werkte
Dekking van beveiligingsframeworks
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