promptgarten 🌱
🌍 ZH
Concept●●●5 min · +60 XP

Sécurité MCP : connaître les risques des serveurs d'outils

MCP connecte les agents IA à des outils puissants – et ouvre ainsi de nouvelles surfaces d'attaque. Voici les risques à connaître avant de connecter un serveur.

Pourquoi MCP crée une surface d'attaque spécifique

Un serveur MCP donne à un agent un vrai pouvoir d'action : lire des fichiers, envoyer des e-mails, interroger des bases de données. En connectant un serveur, tu ne fais pas seulement confiance à son code, mais à chaque texte qu'il montre au modèle – y compris des descriptions qu'un humain ne lit souvent même pas au moment de la connexion.

Le tool poisoning (empoisonnement d'outil)

La description d'un outil est transmise au modèle sous forme de texte. Un serveur malveillant peut y insérer des instructions cachées, invisibles pour toi, mais que le modèle suit quand même – par exemple lire en plus la configuration SSH et la glisser discrètement dans un paramètre. Le modèle prend ça pour une instruction d'outil normale.

Le prompt injection via les résultats d'outils

Le résultat d'un appel d'outil peut aussi contenir du texte manipulé, par exemple quand un outil renvoie une page web ou un document préparé à cet effet. Ce contenu arrive dans le modèle comme un contexte normal et peut être interprété à tort comme une instruction.

Le risque de chaîne d'approvisionnement

Les serveurs MCP sont en général du code externe, souvent issu de petits projets indépendants. Un paquet compromis ou un mainteneur malveillant peut, via une mise à jour, introduire ultérieurement un comportement nuisible – comme pour toute autre dépendance logicielle.

La règle du moindre privilège

Ne connecte que des serveurs auxquels tu fais confiance, ne leur donne que les droits réellement nécessaires à leur tâche, et confirme manuellement les actions risquées au lieu de les laisser s'exécuter automatiquement.

EXEMPLE

Avant de connecter un nouveau serveur MCP : ouvre le dépôt de code source, cherche les descriptions d'outils réelles dans le code et vérifie l'absence de formulations cachées comme « IMPORTANT », « ignore previous » ou d'instructions inhabituelles, au lieu de faire aveuglément confiance au serveur juste parce qu'il figure dans une liste de serveurs recommandés.

🛠️ EXERCICE — À TOI DE JOUER

Vérifie un serveur MCP que tu utilises (ou souhaites utiliser) par rapport à la checklist du moindre privilège.

  1. Ouvre le code source (si disponible) et lis les descriptions d'outils réelles, pas seulement le résumé dans la liste des serveurs.
  2. Vérifie quels droits/ressources le serveur demande réellement – correspondent-ils à ce que sa tâche exige ?
  3. Vérifie si les actions risquées (écriture, suppression, accès réseau) demandent une confirmation ou s'exécutent automatiquement.
  4. Décide consciemment, sur la base de cette vérification, si tu fais confiance au serveur, ou restreins ses droits.

AUTO-VÉRIFICATION

  • As-tu lu les descriptions d'outils réelles, pas seulement le résumé rapide ?
  • Les droits demandés par le serveur correspondent-ils à ce que sa tâche exige réellement ?
  • Les actions risquées comme écrire ou supprimer demandent-elles une confirmation ?

QUIZ RAPIDE

Qu'est-ce qu'une « tool poisoning attack » sur des serveurs MCP ?

SOURCES

SUJETS LIÉS

MCP (Model Context Protocol) : comment les outils IA se connectent ●●○Sécuriser les agents en pratique ●●○Prompt injection (injection de prompt) ●●●Écrire son propre serveur MCP ●●●