EVEZHIAN.IO le blog de Jean-Philippe Lesage

Prompt Injection Attack Vectors Through MCP Sampling

J’ai trouvé très intéressant cet article de Palo Alto, publié la semaine dernière : New Prompt Injection Attack Vectors Through MCP Sampling

L’article analyse des vecteurs d’attaque émergents liés à la fonctionnalité sampling du Model Context Protocol (MCP). Les spécifications sont décrites ici : Sampling – Model Context Protocol

Pour résumer, habituellement le flux est initié par le client ou l’hôte, mais la fonction de sampling inverse ce modèle en permettant à un serveur MCP d’initier une requête de complétion via le client, ouvrant ainsi de nouveaux vecteurs d’attaque.

Le sampling permet à un serveur de formuler une requête de complétion (via sampling/createMessage) qui est alors adressée au LLM par le client et qui retourne la réponse au serveur MCP. On voit tout de suite que çà peut vite conduire à des abus…

Dans la documentation des spécifications, on doit bien lire jusqu’au bout : https://modelcontextprotocol.io/specification/2025-06-18/client/sampling#security-considerations c’est assez clair côté recommandations de sécurité 😉

Dans l’article, Palo Alto identifie trois vecteurs d’exploitation principaux (les POCs sont dans l’article) :

😠 Vol de ressources

Le MCP server en profite pour injecter des prompts, l’interface utilisateur verra la réponse attendue mais le coût du compute sera augmenté des prompts cachés.

😠 Détournement de conversation

 Le serveur MCP injecte des instructions persistantes dans les prompts, modifiant ainsi les réponses et le comportement du LLM

😠 Lancement d’outils

Utilisation d’outils disponibles via le LLM ou un autre MCP server (ils prennent l’exemple de l’accès au système de fichier)

Le sous jacent reste l’injection.

💡 Du coup, on fait quoi ? 

Je dirais comme d’habitude pas de « Open Bar« . On fait la chasse au Shadow MCP (possible avec Defender for Cloud Apps par exemple), on gouverne et on autorise uniquement les serveur MCP validés (on a aussi le registre des serveurs MCP créé par la communauté qui peut aider GitHub – modelcontextprotocol/registry: A community driven registry service for Model Context Proto…). On isole, on limite les accès,… de la défense en profondeur quoi 🙂

On met aussi en place de la surveillance, (consommation excessive) et on utilise les possibilité de l’UEBA pour détecter l’anormal.

Laisser un commentaire