Claude MCP est-il sûr ? Risques Playwright, navigateur et Blender MCP

Claude MCP est aussi sûr que les serveurs que vous connectez et les autorisations que vous accordez. Cet article montre ce que Playwright MCP, les serveurs MCP de navigateur et Blender MCP peuvent atteindre, les attaques qui ont déjà eu lieu et les réglages exacts qui limitent les dégâts.

Claude MCP est-il sûr ? Risques Playwright, navigateur et Blender MCP
Cristian Da Conceicao
Fondateur de Picasso IA

Claude MCP est aussi sûr que les serveurs que vous connectez et les autorisations que vous accordez. Le Model Context Protocol n’est en soi qu’un format de messages. Le danger tient à ce qu’un serveur peut atteindre sur votre machine, au texte non fiable que le modèle lit en chemin, et à la fréquence à laquelle vous cliquez sur « Toujours autoriser » sans regarder. Trois serveurs populaires illustrent toute la palette de ce problème : Playwright, les serveurs MCP de navigateur et Blender MCP. L’un pilote un navigateur, un autre emprunte vos sessions ouvertes, et le troisième exécute du Python arbitraire dans une application 3D. Vous trouverez ci-dessous ce que chacun peut faire, ce qui a déjà mal tourné dans la réalité, et les réglages exacts qui limitent les dégâts.

La réponse courte

Le doigt d’un développeur au-dessus du pavé tactile d’un ordinateur portable avant d’approuver une demande

Anthropic a présenté MCP en novembre 2024 comme une méthode standard permettant à Claude d’appeler des outils externes : lire des fichiers, interroger des bases de données, cliquer sur des pages web, piloter des logiciels de création. Des milliers de serveurs communautaires existent aujourd’hui, et la plupart ont été écrits par des personnes que vous ne rencontrerez jamais.

Alors, est-ce sûr ? Voici le bilan honnête :

  • Suffisamment sûr : les serveurs en lecture seule sur des données que vous pourriez déjà partager, avec un périmètre étroit et une approbation manuelle à chaque appel.
  • Risqué : les serveurs qui agissent pour vous dans un navigateur ou une application où vous êtes déjà connecté.
  • Dangereux par conception : tout outil qui exécute du code, comme execute_blender_code.

💡 Le développeur Simon Willison appelle la pire combinaison le lethal trifecta : l’accès à des données privées, l’exposition à du contenu non fiable, et un moyen d’envoyer des données vers l’extérieur. Donnez ces trois capacités à un seul agent, et une simple page web hostile peut le manipuler. Un serveur de navigateur fournit déjà deux de ces trois éléments avant même que vous ajoutiez quoi que ce soit.

Le reste de cet article porte sur le moindre privilège : donnez à chaque serveur la portée la plus réduite qui permet encore de faire le travail, et placez un bac à sable autour de tout ce qui peut exécuter du code.

Comment les serveurs MCP tirent leur pouvoir

Un mur de câbles réseau branchés sur un panneau de brassage, certains bien rangés, d’autres emmêlés

Ils s’exécutent sous votre identité

Les serveurs MCP locaux sont des programmes ordinaires que votre client lance sur votre ordinateur, généralement via npx, uvx ou Docker. Ils héritent des autorisations de votre compte : vos fichiers, vos variables d’environnement, votre réseau. Le protocole n’embarque aucun bac à sable. La documentation de Claude Code le dit clairement : vérifiez que vous faites confiance à chaque serveur avant de le connecter, car les serveurs qui récupèrent du contenu externe peuvent vous exposer à une injection de prompt.

Le bilan des faits montre pourquoi ce conseil compte :

  • Juin 2025 : MCP Inspector, l’outil de débogage d’Anthropic lui-même, a été livré avec une faille d’exécution de code à distance, corrigée depuis.
  • Juillet 2025 : le package populaire mcp-remote présentait une faille d’injection de commandes (CVE-2025-6514).
  • Début 2026 : un bilan du secteur a recensé plus de 30 CVE déposées contre des implémentations de MCP en environ deux mois.

Lancer un serveur avec npx -y some-package télécharge et exécute à chaque fois le code le plus récent. Épinglez plutôt une version que vous avez vérifiée.

Le modèle lit chaque description

Chaque outil arrive avec une description textuelle que le modèle lit et que vous ne voyez généralement jamais. En avril 2025, Invariant Labs a baptisé tool poisoning l’attaque qui en résulte : « des instructions malveillantes sont intégrées dans les descriptions d’outils MCP, invisibles pour les utilisateurs mais visibles pour les modèles d’IA ». Une astuce voisine, le rug pull, modifie une description après que vous avez approuvé le serveur.

Le contenu peut aussi empoisonner le modèle. En mai 2025, des chercheurs d’Invariant Labs ont montré qu’un texte hostile glissé dans des tickets GitHub publics pouvait pousser un agent connecté au serveur MCP GitHub à divulguer le code de dépôts privés dans une pull request publique. Le serveur n’a rien fait de mal. L’agent a simplement obéi à un texte qu’il aurait dû traiter comme une donnée.

Risques de Playwright MCP

Le bureau d’un testeur avec deux écrans, des post-it et une main sur une souris

Playwright MCP de Microsoft donne à Claude un vrai navigateur. Le modèle lit chaque page à travers des instantanés structurés, puis clique, saisit du texte et passe d’une page à l’autre. C’est précisément ce qui le rend si utile pour les tests et la recherche, et précisément pourquoi il mérite la configuration la plus soignée des trois.

Un navigateur qui agit pour vous

Un navigateur est un ensemble de sessions. Par défaut, Playwright MCP conserve un profil persistant sur le disque (sous Windows, dans %USERPROFILE%\AppData\Local\ms-playwright\), de sorte que tout ce à quoi vous vous connectez pendant une exécution reste connecté lors de la suivante. Le navigateur s’ouvre en mode avec interface par défaut, et chaque page chargée envoie son texte directement dans le contexte du modèle.

Mettez ces éléments bout à bout et le risque est clair. Une page que vous consultez pour vos recherches peut contenir des instructions, et le modèle dispose d’outils de clic et de saisie pour les suivre.

Pourquoi les filtres d’origine ne suffisent pas

Le README est sans détour : « Playwright MCP is not a security boundary. » Playwright MCP n’est pas une frontière de sécurité. Le drapeau --allowed-origins autorise tout par défaut, et la documentation précise qu’il ne sert pas de frontière de sécurité et n’affecte pas les redirections. Le drapeau --blocked-origins est évalué avant la liste d’autorisation, mais les mêmes limites s’appliquent. Considérez les deux comme un ralentisseur qui attrape les erreurs de bonne foi, et non comme un mur.

L’accès aux fichiers est plus strict par défaut. Le serveur restreint le système de fichiers aux racines de l’espace de travail et bloque les URL file://. Le drapeau --allow-unrestricted-file-access lève ces deux limites, donc ne l’utilisez jamais dans une session qui visite le web ouvert.

Réglages qui réduisent les dégâts

  • --isolated conserve le profil en mémoire et le supprime à la fermeture du navigateur.
  • --headless convient aux exécutions sans surveillance, même si vous perdez la possibilité de voir ce qui se passe.
  • --allowed-origins avec une courte liste de vos propres sites de préproduction réduit les errances accidentelles.
  • Laissez --allow-unrestricted-file-access désactivé.
  • Évitez --extension sur votre navigateur quotidien : il connecte Claude à une instance d’Edge ou de Chrome déjà ouverte, avec toutes ses sessions.
  • Exécutez le serveur dans Docker pour les tâches sans surveillance.

Une configuration de départ :

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@PINNED_VERSION",
        "--isolated",
        "--allowed-origins",
        "https://staging.example.com"
      ]
    }
  }
}

Remplacez PINNED_VERSION par une version que vous avez réellement vérifiée.

Browser MCP et sessions ouvertes

Une femme travaillant sur un ordinateur portable à une table près de la fenêtre d’un café, avec un latte

« Browser MCP » désigne en réalité une famille de serveurs : Chrome DevTools MCP de Google, les ponts d’extension qui pilotent votre Chrome de tous les jours, et l’extension Chrome d’Anthropic. Ils partagent un trait commun : ils peuvent voir et modifier ce qui se trouve dans un navigateur que vous utilisez réellement.

Le README de Chrome DevTools MCP le dit directement : le serveur « expose le contenu de l’instance du navigateur aux clients MCP, leur permettant d’inspecter, de déboguer et de modifier toute donnée du navigateur ou de DevTools ». Il précise aussi que Google collecte par défaut des statistiques d’utilisation, comme les taux de réussite des outils, la latence et des détails sur l’environnement. Vous pouvez désactiver cela avec --no-usage-statistics ou la variable d’environnement CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS.

Profil réel contre profil jetable

Configuration du navigateurCe que Claude peut atteindreVerdict
Votre profil Chrome quotidienE-mails, banque, applications professionnelles, sessions enregistréesÀ éviter
Profil dédié avec des comptes de testUniquement ce à quoi vous vous connectez là-basAcceptable
Profil isolé en mémoireRien qui persisteBon
Navigateur sans interface dans un conteneurRien en dehors du conteneurIdéal pour les exécutions sans surveillance

La règle est simple : Claude ne doit jamais voir que des comptes que vous pourriez vous permettre de perdre.

Injection de prompt depuis les pages web

Une loupe en laiton posée sur une page imprimée couverte de minuscules caractères gris

Le texte caché est l’attaque classique. Une page peut contenir des paragraphes blanc sur blanc, un champ de formulaire invisible, ou des instructions glissées dans le titre d’un onglet ou une URL. Le modèle lit tout cela comme n’importe quel autre contenu.

Imaginez la chaîne. Vous demandez à Claude de comparer deux avis sur des ordinateurs portables. Une page contient un texte invisible qui demande à l’assistant d’ouvrir votre onglet de messagerie et de transférer le dernier message. Si le navigateur possède une session de messagerie active et que le serveur laisse ouvrir n’importe quel site, il ne reste comme barrière que le jugement du modèle.

Anthropic a mesuré ce phénomène pendant l’aperçu de recherche de son extension Chrome, en août 2025. Sur 123 cas de test couvrant 29 scénarios d’attaque, les attaques délibérément ciblées ont réussi 23,6 % du temps sans mesures d’atténuation de sécurité, et 11,2 % avec elles. Cela représente encore environ une attaque sur neuf. Un serveur de navigateur tiers ne dispose d’aucun de ces classificateurs, donc partez du principe que le modèle suivra parfois ce qu’une page lui dit.

Risques de Blender MCP

Le poste de travail d’un artiste 3D avec un buste sculpté gris sur l’écran et une tablette graphique

Blender MCP (le projet ahujasid/blender-mcp) associe un module complémentaire fonctionnant dans Blender à un serveur auquel Claude se connecte. Claude peut alors construire des scènes, définir des matériaux et importer des ressources à partir d’une simple phrase. Le risque diffère de celui du navigateur, car ici l’outil est un interpréteur Python.

L’exécution de code est la fonctionnalité

L’outil execute_blender_code exécute tout le Python que Claude envoie, à l’intérieur de Blender. Le Python de Blender peut importer os et subprocess, lire et écrire des fichiers, et ouvrir des connexions réseau. L’avertissement du README est court : l’outil « permet d’exécuter du code Python arbitraire dans Blender, ce qui peut être puissant mais potentiellement dangereux », et vous devez toujours sauvegarder votre travail avant de l’utiliser.

Une entrée CVE, CVE-2026-10688, figurait dans la base de vulnérabilités de SentinelOne le 4 juin 2026 contre exactement cet outil : aucun assainissement, aucun bac à sable, et aucun correctif officiel à la date de l’entrée. Lisez-la comme une description de la conception, pas comme une surprise. L’outil fait ce qu’il annonce, donc la protection doit venir de vous.

Un socket sans authentification

Un unique câble Ethernet branché sur un port d’ordinateur portable, photographié en très gros plan

Le module complémentaire communique avec le serveur par un socket TCP, par défaut sur le port 9876. Le README indique que ce socket n’a ni authentification ni chiffrement et doit rester sur localhost, avec un tunnel SSH pour un usage distant. Être limité à localhost signifie pourtant que chaque autre processus tournant sous votre compte peut se connecter et envoyer des commandes.

Services d’actifs tiers

Le module complémentaire contacte Poly Haven, Sketchfab, Poly Pizza et des générateurs 3D par IA tels que Hunyuan3D, Tripo et Hyper3D Rodin. Chacun exige ses propres identifiants ou reçoit vos prompts. Par défaut, le projet collecte un minimum de données d’usage anonymes : identifiant d’installation, identifiant de session, noms des outils, succès et durées, versions et système d’exploitation. Les prompts, le code généré et les captures d’écran ne sont envoyés que si vous acceptez. Le réglage DISABLE_TELEMETRY=true désactive l’ensemble.

Les fichiers .blend téléchargés peuvent aussi contenir des scripts. La préférence Auto Run Python Scripts de Blender est désactivée par défaut, gardez-la ainsi.

Classement des risques en un coup d’œil

ServeurExposition principaleMode d’abusMeilleur confinement
Playwright MCPProfil persistant connecté, web ouvertUn texte de page hostile dirige les clics et la saisie--isolated, Docker, liste d’origines courte
Browser MCP sur votre Chrome réelChaque session du navigateurInjection de prompt, descriptions d’outils empoisonnéesProfil dédié avec des comptes de test
Blender MCPPython arbitraire, socket non authentifiéUn texte injecté atteint l’outil d’exécution de codeMachine virtuelle, compte à faibles privilèges, outil refusé par défaut
Tout serveur lancé avec npx -yCode non vérifié à chaque lancementAttaques de la chaîne d’approvisionnement et rug pullsVersions épinglées, releases vérifiées

En clair : Blender MCP présente le risque le plus élevé, car le code s’exécute avec vos privilèges. Browser MCP sur un profil réel est le plus susceptible de vous nuire, car les sessions qu’il expose ont de la valeur et le web regorge de textes hostiles. Playwright avec --isolated est le plus facile des trois à rendre ennuyeux.

Une configuration plus sûre, étape par étape

Autorisations dans Claude Code

Claude Code demande une approbation avant d’utiliser des serveurs de projet issus d’un fichier .mcp.json dans les sessions interactives, ce qui vous protège lorsque vous clonez un dépôt inconnu. Dans les exécutions non interactives (claude -p ou le SDK d’agent), ces serveurs se chargent sans invite. Bloquez cela avec disabledMcpjsonServers, excluez les réglages de projet avec --setting-sources, ou démarrez avec --strict-mcp-config pour que seuls les serveurs que vous passez explicitement soient utilisés.

Les outils individuels se contrôlent avec des règles de la forme mcp__<server>__<tool> :

{
  "permissions": {
    "deny": ["mcp__blender__execute_blender_code"],
    "ask": ["mcp__playwright__browser_click"]
  }
}

Les noms placés après mcp__ sont ceux que vous avez donnés aux serveurs dans votre propre configuration. Refuser execute_blender_code supprime une grande partie de ce que fait Blender MCP, donc ne l’autorisez que sur une machine jetable, après avoir sauvegardé votre travail.

Conteneurs et profils jetables

Des conteneurs maritimes empilés dans un port à l’aube, photographiés d’en haut

Le confinement vaut mieux que la vigilance. Exécutez Playwright dans Docker. Exécutez Blender dans une machine virtuelle, ou sous un utilisateur distinct à faibles privilèges qui ne peut pas lire votre dossier personnel. Donnez à chaque serveur ses propres jetons limités et de courte durée, et ne placez jamais d’identifiant administrateur de longue durée dans l’environnement d’un serveur que vous n’avez pas écrit. Épinglez les versions, puis relisez la liste des outils après chaque mise à jour pour détecter les rug pulls.

Vérifier avant d’approuver

Un ingénieur en sécurité surlignant des lignes sur un fichier de configuration imprimé

Claude Desktop et Claude Code vous permettent tous deux d’approuver un outil une fois ou toujours. Prenez de meilleures habitudes autour de ce choix :

  • Lisez l’appel, pas seulement le nom de l’outil. Une demande d’ouverture d’un domaine inconnu mérite une pause.
  • Considérez « Toujours autoriser » comme une autorisation permanente. Revoyez vos autorisations chaque mois.
  • Séparez les sessions. N’exécutez pas un serveur de navigation dans la même session qu’un serveur qui lit des secrets ou envoie des e-mails.
  • Surveillez les anomalies. Un agent qui réclame soudain un fichier hors du projet mérite d’être arrêté.

Utilisez Claude Sonnet 5 sur PicassoIA

Vous pouvez auditer votre propre configuration avec Claude Sonnet 5 sur PicassoIA. Il raisonne sur des tâches en plusieurs étapes et lit les images, il gère donc aussi bien un fichier de configuration qu’une capture d’écran d’une boîte de dialogue d’autorisation.

  1. Retirez d’abord les secrets. Remplacez chaque jeton de votre configuration MCP par REDACTED.
  2. Ouvrez le modèle et collez la configuration dans Prompt avec une question directe, par exemple : « Listez toutes les façons dont chaque serveur ici pourrait lire des fichiers, envoyer des données vers l’extérieur ou exécuter du code. Classez-les par gravité. »
  3. Réglez effort sur high. Le réglage par défaut low désactive la réflexion, ce qui est rapide mais superficiel. high ou max convient à une revue comportant plusieurs étapes dépendantes.
  4. Ajoutez un System Prompt tel que « Vous êtes un relecteur de sécurité prudent. Signalez tout ce qui accorde des autorisations étendues. »
  5. Gardez Max Tokens à 8192, la valeur par défaut, pour que les conclusions longues ne soient pas coupées.
  6. Joignez une capture d’écran d’une boîte de dialogue d’approbation dans le champ Image si vous voulez un second avis sur la question de savoir si sa formulation masque ce que fait l’appel.
  7. Comparez la réponse avec la liste de contrôle ci-dessus, puis posez des questions de suivi sur tout serveur qu’il a signalé.

💡 Le modèle ne voit que ce que vous collez. Il ne peut pas inspecter votre machine, il passera donc à côté de tout ce qui se trouve en dehors de la configuration. Utilisez-le comme un second relecteur, pas comme une validation finale.

Si vous exploitez un pipeline qui modère du texte, Llama Guard 4 12B filtre le contenu selon des catégories dangereuses. C’est un modèle de modération, pas un bac à sable, il ne doit donc jamais être votre seule défense.

Créez vos propres images sur Picasso IA

Les images de cet article proviennent uniquement de prompts texte, sans application 3D ni serveur MCP dans la boucle. Si vous travaillez dans Blender, générer d’abord des images de référence est une façon sûre de planifier une scène avant qu’un agent ne touche à un fichier de projet actif.

Essayez Seedream 5 Pro ou GPT Image 2 pour des scènes photoréalistes, puis comparez les résultats côte à côte. Rédigez un prompt avec un sujet clair, une direction d’éclairage et un objectif, lancez-le plusieurs fois, et voyez quel modèle correspond à votre style. Vous pouvez parcourir tous les modèles disponibles sur picassoia.com/en/all-models. Choisissez-en un et commencez dès aujourd’hui à expérimenter avec vos propres images sur Picasso IA.

Partager cet article

Choisissez votre langue