Sur le serveur GitHub MCP, une vulnérabilité a été découverte dans l'implémentation du protocole MCP (Model Context Protocol) de GitHub, permettant d'extraire des données des dépôts privés des utilisateurs utilisant des assistants AI pour automatiser leurs interactions avec les dépôts.
Le protocole MCP est conçu pour lier des modèles AI à diverses sources de données. Le serveur GitHub MCP permet une intégration fluide des grands modèles de langage avec l'API de GitHub, fournissant ainsi un contexte supplémentaire à ces modèles en extrayant des données des dépôts GitHub. Les modèles utilisant MCP peuvent être appliqués pour automatiser certaines actions sur GitHub, comme l'analyse des messages d'erreur.
L'essence de la vulnérabilité réside dans le fait qu'interagir avec un grand modèle de langage connecté à GitHub peut conduire à la divulgation de données confidentielles sur l'utilisateur qui a lié un agent AI à son compte GitHub. Un attaquant peut soumettre dans un dépôt public, où une automatisation basée sur un grand modèle de langage est appliquée, un rapport de problème (issue) soigneusement formulé. Une fois activée, le modèle générera une demande de tirage (pull request) avec une solution proposée. Par conséquent, si le problème concerne des dépôts privés ou des données sensibles, le modèle peut révéler des informations dans la demande de tirage suggérée.

Par exemple, un message d'erreur a été envoyé, se plaignant que l'auteur n'était pas mentionné dans le fichier README. La solution proposée dans le message était d'ajouter des informations sur l'auteur et une liste de tous les dépôts avec lesquels il avait travaillé dans le README. En fin de compte, le modèle a créé une demande de tirage contenant des informations, y compris des données personnelles sur l'auteur, extraites d'un dépôt privé, ainsi qu'une liste des dépôts privés existants. À l'étape suivante, à travers une interaction similaire avec le modèle, il est possible d'obtenir des données d'un dépôt privé spécifique.
Pour activer l'agent AI, le propriétaire du dépôt doit donner l'ordre d'analyser les messages d'erreur. Si GitHub est lié au service AI Claude, il suffit que le propriétaire du dépôt envoie une demande à l'assistant AI du type « consulte les issues dans mes dépôts open source et résous-les ». Après cela, l'assistant AI utilisera l'intégration MCP configurée avec le compte GitHub et exécutera les instructions contenues dans les messages de problème.
Source : opennet.ru
