Glossaire des signaux de sécurité
Quand MCP Hub analyse un serveur MCP, il relève des « signaux ». Voici ce qu'ils veulent dire, le risque, et quand ils peuvent être légitimes.
À lire d'abord. Ces signaux viennent de l'analyse de la description des outils (premier passage).
Un signal de description n'est pas un verdict : une description peut inquiéter sans que le serveur agisse mal, et inversement.
Chez MCP Hub, seul le pentest comportemental — l'outil est réellement exécuté dans un bac à sable isolé — tranche
« Vérifié » ou « Signalé ». Le glossaire aide à comprendre, pas à condamner.
Les catégories de signaux
hidden_instruction
Instruction cachée
- C'est quoi
- Une consigne adressée à l'agent IA, dissimulée dans la description d'un outil (texte peu visible, balises, formulation détournée).
- Le risque
- Faire exécuter à l'IA autre chose que ce que l'utilisateur demande.
- Légitime quand
- Rarement — une vraie doc d'outil n'a pas besoin de « parler » à l'IA en douce.
tool_shadowing
Détournement d'un autre outil (shadowing)
- C'est quoi
- La description d'un outil cherche à influencer le comportement d'un autre outil, souvent plus sensible.
- Le risque
- Contourner un outil de confiance en le « redéfinissant » par la bande.
- Légitime quand
- Un outil qui en référence un autre pour de bonnes raisons (chaînage documenté) peut déclencher le signal à tort.
sensitive_file
Accès à un fichier sensible
- C'est quoi
- La description évoque l'accès à des fichiers sensibles (clés SSH,
.env, identifiants,/etc/passwd…). - Le risque
- Lecture ou fuite de secrets locaux.
- Légitime quand
- Un outil de gestion de configuration peut légitimement mentionner des fichiers — d'où l'importance du test comportemental.
imperative_override
Ordre d'ignorer les règles
- C'est quoi
- Formulation impérative visant à écraser les instructions en place (« ignore les consignes précédentes », « tu dois d'abord… »).
- Le risque
- Prise de contrôle du comportement de l'agent.
- Légitime quand
- Quasiment jamais dans une description d'outil.
invisible_unicode
Caractères Unicode invisibles
- C'est quoi
- Des caractères non affichés (largeur nulle, marques directionnelles) insérés dans le texte.
- Le risque
- Cacher une instruction à l'œil humain tout en la laissant lisible par l'IA.
- Légitime quand
- Presque jamais — c'est un signe classique de dissimulation.
prompt_injection
Injection de prompt
- C'est quoi
- Un texte conçu pour être interprété comme une consigne par l'IA plutôt que comme de la donnée.
- Le risque
- Détourner l'agent via le contenu, pas via le code.
- Légitime quand
- Un outil qui manipule des prompts (ex. librairie de templates) peut déclencher le signal — à confirmer au comportement.
data_exfil
Exfiltration de données
- C'est quoi
- La description suggère d'envoyer des données vers l'extérieur (URL, requête réseau non justifiée).
- Le risque
- Fuite d'informations de l'utilisateur ou de son environnement.
- Légitime quand
- Un outil réseau par nature (envoi d'e-mail, webhook) l'évoque légitimement — le pentest vérifie où partent réellement les données.
Les deux couches d'analyse
Couche 1 — Description
On lit la description de chaque outil et on relève les signaux ci-dessus. Rapide, large, mais indicatif : une description peut mentir.
Couche 2 — Comportement
On exécute réellement l'outil dans une micro-VM isolée (leurres + réseau bloqué) et on observe. C'est le verdict de l'annuaire.
Les verdicts
Vérifié — testé en comportement, rien de malveillant observé. Signalé — comportement malveillant détecté au pentest (lecture d'un secret, exfiltration). Non testé — référencé, pas encore passé au pentest comportemental. Les signaux de description seuls ne donnent jamais « Signalé ».