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, en zet vervolgens het configuratie- en lockbestand 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, zodat een niet-vastgezette afhankelijkheidsnaam kan worden omgezet in een lookalike van één teken
- Pas het vastzetten van de exacte versie van een ondertekend pakket toe in het configuratie- en vergrendelingsbestand als de duurzame controle, en verifieer dit door een schone installatie te reproduceren
- 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
Alles op deze pagina moet Bob zo nauwkeurig imiteren dat niemand er twee keer naar kijkt en het niet kan reproduceren.
-
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
Bob opent 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
Hetzelfde register, dezelfde installatieopdracht die iedereen gebruikt. De vraag is waarom een naam die niemand heeft gecontroleerd code op drie machines kon uitvoeren.
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