AI Extensions, 4 novembre : où MCP Inspector garde ses secrets
Inspector 2.13.0, sondes CLI bornées et repli du trousseau vers un fichier.

Un débogueur MCP peut lancer un serveur local et conserver les jetons d'un service distant. MCP Inspector mérite donc son propre examen d'accès. Ce digest AI Extensions du 4 novembre porte sur la version 2.13.0, les sondes CLI bornées et le choix du stockage des secrets.
Cet examen utilise la documentation et le code, sans installation ni exécution d'attaque. La version 2.13.0 date du 28 octobre. Maintenance récente et popularité ne prouvent pas la qualité. Un premier essai doit employer des données fictives et aucun compte de production.
Une connexion réussie ne valide pas un outil
Le dépôt officiel comprend les interfaces web, CLI et terminal, ainsi que mcpdo, expérimental. Une session interactive et un job CI ont des besoins différents. Avec stdio, Inspector démarre la commande choisie sous l'identité de l'utilisateur. HTTP évite ce lancement local précis, tout en conservant l'accès réseau et d'éventuels identifiants OAuth.

Le guide des smoke tests distingue initialize, tools/list et l'appel d'un outil. Le premier termine la négociation sans appeler d'outil ; le second découvre les outils annoncés. Aucun ne prouve la justesse des résultats ou des permissions. Commencez avec un serveur de test examiné et une durée de connexion limitée.
Vérifier aussi Node
Les notes de 2.13.0 recommandent aux utilisateurs npm Node 22.23.4, 24.22.1 ou 26.12.1, ou une version ultérieure. Le paquet utilise le Node installé localement. Sa plage engines accepte encore d'anciens 22.x : une installation réussie ne confirme donc pas les correctifs du runtime.
Le guide conserve un exemple fixé sur 2.5.0. Il illustre la reproductibilité, pas une recommandation de sécurité actuelle. L'avis DNS rebinding indique les versions affectées de 2.0.0 à 2.11.0 et le correctif 2.12.0. La version examinée 2.13.0 lui succède. En CI, fixez la version examinée, gardez le code de sortie et validez le JSON. Ne désactivez pas l'authentification pour faire passer une sonde.
Le repli peut écrire en clair
Le guide du stockage permet un choix explicite keyring, file ou memory via MCP_INSPECTOR_SECRET_STORE. Sinon, Inspector sonde le trousseau système. En cas d'échec, un conteneur sans volume monté pour les secrets utilise la mémoire ; les autres replis utilisent un fichier.
Sur un serveur sans Secret Service utilisable, il peut s'agir de ~/.mcp-inspector/secrets.json, non chiffré sans clé. Le mode 0600 ne protège ni contre root, ni contre une copie de sauvegarde, ni contre un programme du même utilisateur. Les jetons OAuth, secrets clients et valeurs stdio env vont au magasin de secrets. Les headers restent cependant dans mcp.json tels quels : un en-tête bearer peut conserver un secret dans la configuration.
Le mode mémoire ne supprime pas les anciennes valeurs en clair des fichiers de configuration, qui peuvent être leur seule copie durable. Les nouvelles valeurs restent en mémoire. Changer une variable ne nettoie donc pas rétroactivement les anciens fichiers.
Un essai sans vrais identifiants
Le fichier peut être chiffré avec une clé à forte entropie fournie par MCP_INSPECTOR_SECRET_KEY_FILE. La documentation décrit AES-256-GCM et scrypt. Ajouter une clé chiffre un ancien fichier en clair à l'écriture suivante. Le chiffrement protège contre la fuite du fichier seul, sans la clé. Un programme du même utilisateur peut parfois lire les deux ; un serveur stdio n'est pas isolé par cette fonction.
L'essai proposé utilise un profil jetable et de faux secrets. Vérifiez l'indicateur de stockage, enregistrez une valeur, redémarrez et comparez file et memory. Examinez la persistance des en-têtes et une connexion qui échoue dans CI. Ces vérifications n'ont pas été exécutées ici.
Le LICENSE décrit une transition : nouveau code et spécifications sous Apache-2.0, documentation hors spécifications sous CC-BY-4.0, contributions sans consentement au changement sous leur MIT initiale. Examinez les termes du contenu redistribué. Sur une machine partagée, choisissez le profil et la rétention avant la connexion, gardez l'authentification et ne conservez que des diagnostics expurgés.