L'éléphant dans la pièce MCP

Disons-le franchement : la spécification MCP n'a pas d'authentification. Zéro. Aucune. Chaque serveur MCP que tu installes tourne avec l'intégralité de tes privilèges utilisateur. Il peut lire tes clés SSH, tes identifiants AWS, tes cookies de navigateur, ton dossier home en entier. La spec ne dit pas un mot pour empêcher tout cela.

Et la réponse de la communauté ? « N'installe que des serveurs en qui tu as confiance. » Ce n'est pas un modèle de sécurité. C'est une prière.

Comment l'authentification MCP fonctionne (elle ne fonctionne pas)

Voici ce qui se passe quand tu lances claude mcp add some-server -- npx @some/mcp :

  1. npm télécharge le paquet (dernière version, sans pin par défaut)
  2. Le processus MCP démarre avec TES privilèges utilisateur
  3. Le serveur enregistre ses outils, avec les descriptions qu'il veut
  4. Ton agent IA peut désormais appeler ces outils sans le moindre contrôle de permission
  5. Chaque appel d'outil s'exécute avec un accès total à ton système de fichiers, ton réseau, ton environnement

Pas de bac à sable. Pas de jetons de capacité. Aucune demande de confirmation pour un accès fichier en dehors du projet. Tout le modèle de sécurité repose sur l'hypothèse que tu as audité, ligne par ligne, le code source de chaque serveur MCP que tu installes.

La pile « fais-moi confiance, mec »

ÉcosystèmeModèle de permissionsIsolation
Extensions ChromePermissions du manifest, approbation utilisateurIsolation par processus
Apps iOSEntitlements, prompts à l'exécutionApp Sandbox
Extensions VS CodeActivation events, API restreintesExtension Host process
Serveurs MCPAucunAucune

MCP a le modèle de sécurité d'une DLL Windows des années 1990 : exécute n'importe quoi, accède à n'importe quoi, et croise les doigts.

Ce que tu peux faire dès aujourd'hui

La spec MCP ne se réparera pas toute seule du jour au lendemain. Voici ce qui marche concrètement :

  1. Audite avant d'installer — Lance scan_mcp_config après chaque nouvelle installation. Vérifie les descriptions d'outils pour repérer les motifs de prompt injection. Zfuzz détecte plus de 100 motifs.
  2. Épingle les versions — Utilise npx @zfuzz/mcp@1.0.0 plutôt que npx @zfuzz/mcp. Une publication compromise à 2h du matin ne doit pas se déployer automatiquement sur ta machine.
  3. Réduis les variables d'environnement — Ne passe pas de clés d'API aux serveurs MCP qui n'en ont pas besoin. Chaque variable partagée est un identifiant que le serveur peut lire.
  4. Utilise des garde-fous runtime — Les hooks Agent Guard bloquent les opérations dangereuses même si un outil est compromis. Shell injection, SSRF, path traversal sont interceptés au moment de l'exécution.
  5. Vérifie la source — Étoiles GitHub, identité du mainteneur, nombre de téléchargements npm. Un serveur MCP avec 3 étoiles publié il y a une semaine : drapeau rouge.

Ce dont la spec a besoin

La spec MCP devrait intégrer : des permissions à capacité (les outils déclarent ce à quoi ils accèdent), des flux de consentement utilisateur (l'agent demande avant d'accorder l'accès fichier ou réseau), et un sandboxing par processus (les serveurs MCP tournent dans un environnement restreint). Tant que ce n'est pas le cas, chaque installation MCP est un saut dans le vide.

Auditez vos serveurs MCP

Pour lancer un audit de votre configuration MCP en une commande :

claude mcp add zfuzz -- npx @zfuzz/mcp

Puis demandez à votre agent : scan my MCP configuration for security issues. Tout est local, open source et gratuit. GitHub — npm