MCP et intégrations

Comment sécuriser un serveur MCP avant la production

Un serveur MCP sûr expose peu de capacités, rattache chaque appel à une identité, valide les destinations et journalise le résultat sans copier les secrets.

Schéma de connexions sécurisées entre une application IA et ses outils
Schéma de connexions sécurisées entre une application IA et ses outils

MCP décrit une capacité, pas le droit de l’utiliser

Le Model Context Protocol aide une application d’IA à découvrir des ressources et des outils. Il ne décide pas qu’un utilisateur a le droit de lire un dossier, d’envoyer un message ou de modifier une commande. Cette autorisation reste une responsabilité du serveur métier.

Chaque appel doit être relié à une identité authentifiée et à un consentement actuel. Le serveur vérifie ensuite la ressource demandée, l’organisation, le rôle et la portée accordée. Ne faites pas confiance à un identifiant fourni par le modèle lorsqu’il peut être résolu côté serveur à partir de l’utilisateur.

Exposez des outils étroits

Un outil générique comme execute(action, payload) est difficile à comprendre, autoriser et auditer. Préférez prepare_invoice_preview(invoice_id) puis send_approved_invoice(approval_id). Les noms et schémas doivent rendre l’effet visible.

Utilisez des types précis, des enums, des tailles maximales et des identifiants stables. Validez aussi la destination réelle. Une adresse respecte peut-être le format d’un e-mail tout en appartenant au mauvais client.

Séparez lecture et écriture. Un assistant peut recevoir un accès en lecture à un catalogue sans obtenir automatiquement le droit de modifier les prix. Pour les opérations importantes, un premier appel produit un aperçu; un second exécute exactement l’aperçu approuvé.

Protégez la chaîne d’autorisation

Les recommandations de sécurité MCP insistent sur les risques liés aux flux d’autorisation et aux intermédiaires. N’acceptez pas un jeton destiné à un autre service. Limitez audience, scopes et durée de vie, puis stockez les secrets hors des prompts et des traces.

Un serveur distant ne doit pas devenir un proxy ouvert. Restreignez les hôtes, chemins et méthodes accessibles. Résolvez et vérifiez les redirections afin qu’une URL autorisée ne mène pas vers un réseau interne ou une destination interdite.

Traitez le contenu comme non fiable

Une ressource peut contenir une instruction malveillante demandant au modèle d’ignorer la politique. Le document est une donnée, pas une nouvelle règle système. Les contrôles importants doivent vivre dans le code du serveur, hors de portée du texte récupéré.

Testez des descriptions trompeuses, des arguments surdimensionnés, des identifiants appartenant à une autre organisation, des délais dépassés et des annulations. Vérifiez qu’une nouvelle tentative ne duplique pas une écriture dont le résultat était incertain.

Observez sans créer une fuite secondaire

Un journal utile indique qui a demandé quelle capacité, quelle politique a autorisé ou refusé l’appel, sa durée, son résultat et son identifiant de corrélation. Il n’a généralement pas besoin du token, du mot de passe, du document complet ni de chaque argument personnel.

Définissez une rétention, un accès et une procédure de suppression pour ces événements. Alertez sur les refus répétés, les destinations inhabituelles, le volume soudain d’écritures et les résultats inconnus après timeout.

Le test de mise en production

Avant d’ouvrir le serveur, faites essayer le même outil avec un utilisateur autorisé, un utilisateur d’une autre organisation et un jeton expiré. Simulez une destination interdite, une réponse lente et une coupure après l’envoi. Enfin, désactivez l’intégration et confirmez que les accès cessent réellement.

Un bon serveur MCP ne cherche pas seulement à connecter davantage d’outils. Il rend chaque capacité compréhensible, limitée, vérifiable et révocable.

Questions fréquentes

MCP remplace-t-il l’autorisation métier ?

Non. Le protocole transporte des capacités, mais le serveur doit encore vérifier l’identité, la ressource et le droit métier au moment de l’action.

Que faut-il journaliser pour un appel d’outil ?

Conservez l’acteur, la capacité, la décision de politique, le temps, la classe de résultat et un identifiant de corrélation, sans secrets ni contenu inutile.

Pourquoi proposer un mode aperçu ?

Il permet à l’utilisateur de vérifier la cible et l’effet exact avant une action coûteuse, publique ou difficile à annuler.

Publié par Darwa

Construisez, déployez et passez à l'échelle sans faire de l'infrastructure votre second métier.

Commencer à déployer