Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Contrôle de sécurité du code des serveurs MCP

Vérifiez le code d'un serveur MCP avant de le publier ou de l'installer : arguments d'outils dans des commandes shell, eval, clés codées en dur, descriptions d'outils empoisonnées, chemins de fichiers et URL issus d'arguments, transports HTTP ouverts, stdout dans les serveurs stdio et SQL construit à partir de chaînes.

$5.00

Ce que vous recevez : 1 fichier · 63.56 KB · ZIP

Voir les options d'achat

Description du produit

subprocess.getoutput(f"git log {ref}") dans un outil permet à n'importe quelle page, issue ou fichier lu par le modèle d'exécuter des commandes sur votre machine, et un bloc IMPORTANT caché dans la description d'un outil peut ordonner au modèle de lire vos clés SSH et de ne rien en dire. Cette compétence détecte ces erreurs ainsi que onze autres erreurs de serveurs MCP avant que vous ne publiiez, installiez ou connectiez un serveur, et vous indique comment corriger chacune d'elles.

Votre agent exécute un scanner sur le code source du serveur : Python avec le mcp SDK (FastMCP, MCPServer, le Server bas niveau) ou le paquet fastmcp, et TypeScript ou JavaScript avec @modelcontextprotocol/sdk, les paquets @modelcontextprotocol/server ou fastmcp. Il ignore les commentaires, distingue les chaînes du code, suit les arguments d'outils depuis les paramètres du handler à travers les variables et jusque dans les fonctions auxiliaires du même fichier, et reconnaît les protections habituelles (vérification de la racine des chemins, listes d'hôtes autorisés, shlex.quote, validation par schéma, authentification bearer). Il n'exécute, n'importe ni ne se connecte jamais au serveur. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.

Ce qui est vérifié

BLOCK (à corriger avant la mise en production)

  • M01 : arguments d'outils ou autres valeurs non fixes dans des commandes shell (subprocess avec l'option shell, y compris sous des alias d'import, os.popen et system, getoutput, listes sh -c, exec/execSync de Node quelle que soit la façon dont il est importé, spawn avec une option shell) ; les valeurs passées par shlex.quote et les paramètres int typés sont acceptés
  • M02 : eval, exec, new Function ou node:vm exécutés sur des valeurs non fixes
  • M03 : clés API, tokens et mots de passe écrits en dur dans le code du serveur
  • M04 : instructions cachées destinées au modèle dans les descriptions d'outils, de prompts et de paramètres ou dans les instructions du serveur (blocs de balise IMPORTANT, caractères de balise Unicode ou de remplacement bidi, consigne de secret envers l'utilisateur combinée à la lecture de clés SSH ou de mcp.json, ou deux signes plus faibles réunis) ; les notes ordinaires, les espaces réservés et les textes non anglais ne sont pas signalés

REVIEW (à vérifier avant la publication)

  • M11 : arguments d'outils utilisés comme chemins de fichiers sans vérifier qu'ils restent dans un dossier autorisé
  • M12 : URL ou hôtes issus d'arguments d'outils récupérés sans liste d'autorisation (SSRF)
  • M13 : transports HTTP à l'écoute sur toutes les interfaces sans authentification
  • M14 : transports HTTP sans vérification de Host ou d'Origin (DNS rebinding)
  • M15 : print, console.log et autres écritures sur stdout dans les serveurs stdio
  • M16 : handlers tools/call bas niveau qui lisent des arguments que rien ne valide
  • M17 : outils qui renvoient au modèle l'environnement ou des variables d'environnement secrètes
  • M18 : SQL construit à partir de chaînes avec des valeurs non fixes
  • M19 : un seul signe plus faible d'instructions cachées dans le texte d'un outil (consigne de secret envers l'utilisateur, ordre d'ignorer les instructions précédentes, paire de balises système, balise IMPORTANT isolée, masquage d'un autre outil, caractères de largeur nulle)

Ce qui est inclus

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec, pour chaque règle, la raison, une approche plus sûre et la source officielle
  • Un exemple de serveur risqué et un exemple sûr (Python et TypeScript), ainsi que le rapport réel produit par le scanner sur l'exemple risqué

Limites

Il lit chaque fichier isolément : les arguments d'outils ne sont suivis qu'à l'intérieur d'un seul fichier, sur quelques appels de profondeur. Les fichiers de configuration des clients MCP, les vulnérabilités des dépendances, la version du SDK installée, un reverse proxy placé devant le serveur et le comportement à l'exécution ne sont pas vérifiés ; les SDK Go, Java, Kotlin, C# et Rust ne sont pas lus. NOT FLAGGED n'est pas une garantie.

Contenu

Un fichier ZIP contenant 18 fichiers : SKILL.md, le scanner dans scripts/ (9 fichiers Python), references/rules.md (chaque règle avec sa raison et une approche plus sûre) et examples/ (6 fichiers d'exemple plus report.md, le rapport réel du scanner sur l'exemple risqué).

Mode d'emploi : Il s'agit d'une compétence (skill) pour agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de codage IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou plus récent, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.

Ce que vous recevez

1 fichier · 63.56 KB

  • mcp-server-code-safety-check-1.0.0.zipZIP · 63.56 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.

Publié12 nov. 2026
Taille du fichier63.56 KB
Format du fichierZIP
Versionv1.0

Tags

mcpai-agentssecuritypythontypescriptai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 63.56 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00