Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
1 min de lecture

Les tokens et credentials dans un système MCP : la faille la plus classique, mais avec une nouvelle dimension. Quand un LLM mémorise tes secrets et qu’un attaquant lui demande de les réciter…

Partie de la série OWASP MCP Top 10


Description du risque

Dans les systèmes basés sur MCP, les tokens et identifiants constituent les mécanismes principaux d’authentification vers les outils et APIs externes. Je constate que les développeurs les manipulent souvent mal : intégration en dur dans les fichiers de configuration, stockage dans les variables d’environnement transmises au contexte, ou persistence en mémoire du modèle.

Le MCP permet des sessions longues et des agents avec état — ces tokens peuvent être stockés accidentellement, indexés ou récupérés via des prompts utilisateur ou une inspection des logs. C’est une nouvelle catégorie de fuite que je vais appeler la déperdition contextuelle de secrets.

Contrairement à un leak classique dans un repo Git, ici le secret est “digéré” par le modèle. Il devient partie intégrante de sa mémoire de travail, et n’importe quel prompt bien tourné(quand je dis bien tourné, c’est un prompt conçu pour exploiter cette mémoire) peut le faire ressortir.

Le modèle n’a aucune notion de classification, pour lui, API_KEY=sk-prod-xxx et color=blue ont exactement le même statut dans le contexte.


🔒 La suite est réservée aux abonnés payants sur Substack
Retrouvez l'analyse complète, avec les vecteurs d'attaque, l'exemple concret, l'analyse STRIDE, les impacts et les recommandations de mitigation.

À retenir

À retenir 📌

  • ✓ Ne jamais injecter de secrets dans le contexte d'un LLM — ce qui entre dans le contexte peut en sortir via un simple prompt
  • ✓ Utiliser des coffres sécurisés (Vault, AWS Secrets Manager) et récupérer les secrets uniquement au moment de l'exécution
  • ✓ Masquer les secrets dans les logs — un filtre de logging dédié est indispensable