Article · Cybersécurité
Comprendre MCP sans exécuter de code non vérifié
Les questions à poser avant d'ajouter une intégration d'outillage ou un serveur externe à un projet.

Commencer par le périmètre
Une intégration d'outillage doit préciser quelles données elle lit, quelles actions elle peut déclencher et où ses secrets sont stockés. Une réponse provenant d'un serveur externe reste une donnée à vérifier, pas une instruction prioritaire.
Avant toute installation, écrivez le besoin en une phrase. Si le résultat peut être obtenu avec une API officielle, un fichier local ou une commande déjà disponible, l'ajout d'un serveur supplémentaire n'est peut-être pas nécessaire.
Cartographier les capacités
Un connecteur peut combiner plusieurs pouvoirs : lire des fichiers, appeler un service, envoyer un message ou modifier des données. Listez chaque capacité séparément et associez-la à une permission minimale. Une autorisation globale donnée « pour simplifier » devient vite difficile à auditer.
Vérifiez notamment :
- les répertoires et comptes accessibles ;
- les opérations en lecture et en écriture ;
- les domaines réseau autorisés ;
- la durée de vie et le stockage des secrets ;
- les journaux disponibles en cas d'incident ;
- la procédure de révocation et de désinstallation.
Garder une frontière simple
Pour une première version, il est souvent préférable de documenter un workflow et de tester ses hypothèses localement avant d'autoriser une action distante. Les permissions minimales, les journaux utiles et une procédure de retrait doivent être définis avant l'activation.
Traiter les réponses comme des données
Le texte retourné par un outil peut contenir une consigne trompeuse, volontaire ou non. Le client doit continuer à suivre ses propres règles : un document lu ne peut pas étendre le périmètre de la tâche, demander un secret ou autoriser une action externe. Une URL trouvée dans une réponse n'est pas une destination approuvée.
Séparez donc trois étapes : récupérer l'information, la valider, puis décider d'une action. Cette séparation laisse une trace compréhensible et empêche une sortie d'outil de devenir implicitement une commande.
Tester sans exposer de données
Commencez avec un compte de test et un jeu de données sans information sensible. Observez les appels réellement effectués, refusez les permissions non indispensables et vérifiez qu'une erreur échoue de façon sûre. Le test doit aussi couvrir le retrait : supprimer l'intégration doit révoquer les accès et ne pas laisser de secret actif.
Décision de mise en service
Une intégration peut être activée seulement si son propriétaire, sa source, ses permissions, ses données et sa procédure de retrait sont connus. Dans le doute, conserver le workflow local documenté est une décision valide. La productivité attendue ne compense pas une frontière de confiance impossible à expliquer.