terovesalainen - stock.adobe.com

Personnalisation des agents IA : MCP gagne des fonctions de sécurité

Une mise à jour imminente du protocole Model Context Protocol marque une étape importante vers une IA sécurisée et personnalisée, mais montre également qu’il reste encore beaucoup à faire pour sécuriser les agents IA.

La prochaine version du projet Model Context Protocol inclura un mécanisme permettant d’autoriser l’accès des agents IA aux outils et services back-end pour le compte des utilisateurs.

Bien qu’il ait à peine un an, le protocole MCP (Model Context Protocol) d’Anthropic est déjà largement utilisé pour donner aux agents IA des accès à des outils et des services. Pratiquement tous les fournisseurs et éditeurs de logiciels proposent désormais un serveur MCP. Certains, tels que GitHub et Microsoft, hébergent des registres de serveurs MCP et des catalogues d’outils. Le projet sert également de base pour toute une gamme de produits de passerelles IA et de projets open source qui ajoutent des fonctionnalités de sécurité. 

La version en amont du projet a progressivement ajouté ses propres améliorations. La plus importante d’entre elles a été la prise en charge de l’autorisation des agents IA à l’aide d’OAuth 2.1 en milieu d’année. Cette capacité a remplacé un système moins sécurisé, basé sur des clés API.

Cependant, selon Alex Salazar, cofondateur et PDG d’Arcade.dev, il restait encore un aspect important à traiter concernant l’autorisation des agents IA.

« Jusqu’à présent, les discussions sur OAuth portaient sur la manière dont le client communique avec le serveur MCP », explique Alex Salazar. « Il s’agit ici de s’assurer que l’utilisateur est autorisé à communiquer avec un autre service. Et je peux retirer des autorisations pour m’assurer qu’il est généralement habilité à effectuer les différents types d’actions qui peuvent être disponibles sur mon serveur MCP. »

En juillet, les ingénieurs d’Arcade.dev ont proposé un mécanisme pour ce flux d’autorisation qui fonctionne hors bande, loin du client MCP. Celui-ci ne doit pas exposer les données sensibles à un grand modèle de langage (LLM). Cette proposition a été intégrée à la prochaine version majeure de MCP, dont la sortie est prévue le 25 novembre.

« Vous pouvez désormais créer des agents qui peuvent être adaptés à un utilisateur », affirme Alex Salazar. « Prenons l’exemple d’un assistant personnel. Vous allez lui demander de lire vos e-mails, de vérifier votre agenda. Vous allez lui demander de faire toutes sortes de choses. Or, il ne peut pas consulter vos e-mails ou votre agenda sans passer par un processus d’autorisation. »

En dehors de MCP, ce type de processus d’autorisation est généralement lancé à l’aide d’une URL, selon M. Salazar. Mais dans le cadre de MCP, il n’existait auparavant aucun moyen de renvoyer une URL sans passer par le client MCP, ce qui pouvait exposer des données sensibles à un LLM sous-jacent.

« La quantité de talents et d’expertise en ingénierie, ainsi que les discussions et négociations techniques qui ont été nécessaires pour mener à bien ce projet sont extraordinaires, mais le résultat est assez banal », constate Alex Salazar. « Nous avons découvert comment renvoyer une URL de manière sécurisée et confidentielle, sans faire appel à un LLM ».

Une intégration en amont de fonctionnalités jusque-là développées à façon

Le nouveau mécanisme OAuth de MCP, intégré en amont, pourrait rendre certaines fonctionnalités de la passerelle IA redondantes dans certains produits de fournisseurs, y compris ceux d’Arcade. Mais un développeur IA considère qu’il est préférable d’intégrer directement ce type de fonctionnalité dans le protocole.

« À condition que cette normalisation puisse être largement adoptée, le fait d’accorder à une IA la capacité d’agir de manière limitée en votre nom peut être sécurisé et évolutif », déclare Kyler Middleton, ingénieur logiciel principal chez Veradigm, une entreprise spécialisée dans les technologies de santé. « Il existe de nombreuses implémentations médiocres et incomplètes de cette fonctionnalité, et les discussions approfondies et le consensus de l’équipe MCP nous aident tous à progresser. »

Cependant, la discussion s’est poursuivie au sein de la communauté en amont à la fin du mois de septembre sur les inconvénients potentiels de l’approche MCP OAuth d’Arcade.

« Permettre aux serveurs d’obtenir des URL arbitraires peut augmenter le risque de phishing/d’ingénierie sociale », peut-on lire dans les notes d’une réunion du groupe d’intérêt sur la sécurité MCP qui s’est tenue le 23 septembre. « Il y a une discussion autour des serveurs qui pourraient déclarer des domaines approuvés qu’ils peuvent envoyer au client, et le client peut déterminer la politique sur les URI qu’il affichera à l’utilisateur final. Cela fera probablement l’objet d’une exploration ultérieure ».

Kyler Middleton partage ces préoccupations.

« Par exemple, je dispose de droits d’administration sur plusieurs plateformes où sont stockées des données sensibles. Si j’interagis avec un bot et qu’il me demande un jeton, que j’approuve, obtiendra-t-il automatiquement tous les droits dont je dispose, ou y aura-t-il un mécanisme mis en place par l’agent ou par le processus d’octroi du jeton, grâce auquel je pourrai n’accorder que certains droits spécifiques ? », s’interroge-t-elle. « Cela doit exister, mais cela pourrait facilement être contraignant pour les utilisateurs, donc cela doit être conçu avec soin ».

La sécurisation des agents IA, un travail en cours

Le nouveau mécanisme MCP OAuth, bien que prometteur, n’aborde qu’une seule couche de sécurité pour les agents d’IA. Or les utilisateurs et les développeurs doivent encore en aborder plusieurs autres, selon Ian Beaver, chief data scientist chez Verint, un fournisseur de centres de contact à la demande. Ailleurs dans l’industrie, d’autres contrôles d’exécution des agents d’IA ont été proposés sur la base des principes du règlement général sur la protection des données de l’UE. Ian Beaver indique que Verint a commencé à les mettre en œuvre.

« Il s’agit d’un ajout important, mais qui ne dispense pas les concepteurs d’applications agentiques d’enregistrer soigneusement tous les appels faits aux outils et aux API au nom de l’utilisateur », souligne M. Beaver à propos de la mise à jour MCP OAuth, dans un courriel adressé à Informa TechTarget [propriétaire du MagIT].

« Même avec cette modification, l’application ne saura pas si les changements sont effectués par l’utilisateur ou par un agent connecté par l’utilisateur », ajoute-t-il. « Il est donc essentiel que les développeurs adoptent un état d’esprit axé sur la sécurité, en enregistrant toutes les actions pour faciliter l’audit en cas de modification inattendue de l’application ».

Pour approfondir sur IA appliquée, GenAI, IA infusée