Package MCP typosquatté
L'installation d'un serveur MCP exécute son code avant de le lire.
Qu'est-ce que Package MCP typosquatté?
Un serveur MCP est un package npm et l'installation d'un package exécute ses scripts d'installation en tant qu'utilisateur actuel avant que quiconque ne lise son code. Cela fait d'un nom de dépendance une limite de sécurité, et un nom n'est pas une identité. Vous suivrez un package publié à un caractère d'une dépendance approuvée, dont le crochet de post-installation envoie les fichiers d'environnement et d'informations d'identification à un hôte attaquant. Vous lirez les avertissements du registre qui s'y trouvaient avant l'installation, puis épinglerez la configuration et le fichier de verrouillage sur une version exacte signée.
Ce que vous apprendrez dans Package MCP typosquatté
- Reconnaître qu'un serveur MCP est un package npm et que son installation exécute ses scripts d'installation en tant qu'utilisateur actuel, avant que son code ne soit examiné
- Lisez les signaux de la page de registre qui distinguent un package fiable d'un typosquat : un éditeur vérifié, une version signée, un historique établi, un mainteneur connu et l'absence de scripts d'installation inattendus.
- Comprendre qu'un nom n'est pas une identité, donc un nom de dépendance non épinglé peut être résolu en un sosie à un caractère
- Appliquez l'épinglage de la version exacte d'un package signé dans la configuration et le fichier de verrouillage en tant que contrôle durable, et vérifiez-le en reproduisant une nouvelle installation.
- Traitez l'avertissement de nom similaire d'un registre comme une aide honnête plutôt que comme un contrôle qui arrête une publication malveillante.
- Séparez la prévention du confinement : la correction de la dépendance arrête la prochaine installation, tandis que tout identifiant déjà exfiltré par le hook, tel qu'un jeton de publication, doit être alterné
Package MCP typosquatté — Étapes de la formation
-
Le package à copier
Les agents de Sarnholt extraient une couche de traitement par lots appelée databridge-pro du registre public de Tessquay. Il est populaire, donc un package qui lui ressemble sera installé sans aucun doute. Bob ne va pas casser le vrai. Il va en publier un à côté.
-
Prenez-le en premier
Il s'agit du véritable paquet, celui que les agents de Sarnholt tirent réellement. Examinez-le avant de signaler quoi que ce soit : la version, la date de publication, qui la maintient et si la version est signée.
-
Qu'est-ce qui le rend fiable
Tout ce qui se trouve sur cette page est ce que Bob doit imiter suffisamment fidèlement pour que personne n'y regarde à deux fois et ne puisse le reproduire.
-
La charge utile est le point
Le package n’a besoin de rien faire d’utile. Il n’a besoin que d’un seul fichier qui s’exécute au moment de son installation.
-
Il s'exécute avant que quiconque ne le lise
Ce fichier est lié à l'étape de post-installation du package, il s'exécute donc automatiquement dès que le package est installé, comme celui qui a exécuté l'installation, avant qu'une seule ligne de celui-ci ne soit examinée.
-
Une seule modification
Bob le publie sous un nom qu'un œil fatigué lit comme le vrai : databrige-pro, à qui il manque une seule lettre. Le registre le lui permet. Personne ne possède un nom tant qu'il ne le revendique pas.
-
Assez proche en un coup d'œil
Bob ouvre sa propre liste. A côté du vrai, il est évidemment plus fin, mais personne ne les voit l'un à côté de l'autre. Ils voient le nom dans un extrait de configuration et l'installent.
-
Les indices sont tous sur la page
Tous les signaux indiquant qu'il ne s'agit pas du véritable paquet se trouvent ici, avant que quiconque ne tape le nom.
-
Accueil des téléphones Hook
Bob n'a pas besoin d'entrer par effraction nulle part. Il attend que le propre pipeline de Sarnholt installe le nom et lit ce que le crochet a renvoyé à son collectionneur.
-
Pourquoi ça a marché
Même registre, même commande d'installation que tout le monde utilise. La question est de savoir pourquoi un nom que personne n’a vérifié a pu exécuter du code sur trois machines.
Couverture des référentiels de sécurité
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