Skip to Content
logologo
AI Incident Database
Open TwitterOpen RSS FeedOpen FacebookOpen LinkedInOpen GitHub
Open Menu
Découvrir
Envoyer
  • Bienvenue sur AIID
  • Découvrir les incidents
  • Vue spatiale
  • Vue de tableau
  • Vue de liste
  • Entités
  • Taxonomies
  • Soumettre des rapports d'incident
  • Classement des reporters
  • Blog
  • Résumé de l’Actualité sur l’IA
  • Contrôle des risques
  • Incident au hasard
  • S'inscrire
Fermer
Découvrir
Envoyer
  • Bienvenue sur AIID
  • Découvrir les incidents
  • Vue spatiale
  • Vue de tableau
  • Vue de liste
  • Entités
  • Taxonomies
  • Soumettre des rapports d'incident
  • Classement des reporters
  • Blog
  • Résumé de l’Actualité sur l’IA
  • Contrôle des risques
  • Incident au hasard
  • S'inscrire
Fermer

Problème 5264

Exploitation de GitHub MCP : accès aux dépôts privés via MCP
invariantlabs.ai · 2025

Exploitation de GitHub MCP : Accès aux dépôts privés via MCP

Nous présentons une vulnérabilité critique du serveur officiel GitHub MCP, permettant aux attaquants d'accéder aux données des dépôts privés. Cette vulnérabilité est l'une des premières découvertes par l'analyseur de sécurité d'Invariant pour la détection des flux d'agents toxiques.

Invariant a découvert une vulnérabilité critique affectant l'intégration GitHub MCP, largement utilisée (14 000 étoiles sur GitHub). Cette vulnérabilité permet à un attaquant de détourner l'agent d'un utilisateur via un incident GitHub malveillant et de le forcer à divulguer des données depuis des dépôts privés.

Cette vulnérabilité est l'une des premières découvertes par les scanners de sécurité automatisés d'Invariant pour la détection des flux d'agents toxiques. Dans un tel scénario, un agent est manipulé et amené à effectuer des actions inattendues, telles que la fuite de données ou l'exécution de code malveillant. Pour plus d'informations, voir ci-dessous.

Il est crucial de sensibiliser le public à ce problème, car le secteur s'empresse de déployer des agents de codage et des IDE à grande échelle, exposant ainsi les utilisateurs à des attaques similaires sur des outils de développement logiciel critiques.

Configuration de l'attaque

Dans cette configuration, l'utilisateur utilise un client MCP comme Claude Desktop avec le serveur GitHub MCP connecté à son compte.

Nous supposons que l'utilisateur a créé deux dépôts :

<utilisateur>/public-repo : un dépôt accessible au public, permettant à tous les utilisateurs de GitHub de créer des problèmes et des rapports de bugs. <utilisateur>/private-repo : un dépôt privé, par exemple contenant du code propriétaire ou des données d'entreprise privées.

Selon les règles standard de GitHub, un attaquant peut désormais créer un problème malveillant sur le dépôt public, contenant une injection d'invite en attendant l'interaction de l'agent.

L'attaque se déclenche dès que l'utilisateur et propriétaire du compte GitHub interroge son agent avec une requête bénigne, telle que « Consultez les problèmes ouverts dans <utilisateur>/public-repo », ce qui entraîne l'extraction des problèmes depuis le dépôt public par l'agent et l'injection de ces problèmes.

Comme illustré ici, dès que l'agent rencontre un problème GitHub malveillant, il peut être contraint d'extraire les données du dépôt privé dans leur contexte et de les divulguer dans une demande de publication créée de manière autonome dans le dépôt public, librement accessible à l'attaquant ou à toute autre personne.

Flux toxiques : Nous appelons ce recours à l'injection indirecte d'invites pour déclencher une séquence d'utilisation d'outil malveillant, un flux d'agent toxique. Nous avons découvert cette vulnérabilité en appliquant l'analyseur de sécurité d'Invariant à GitHub MCP, ce qui nous a permis d'automatiser le processus de découverte du flux en temps réel.

Démonstration de l'attaque

Pour illustrer plus concrètement, nous mettons en œuvre cette attaque à l'aide d'un ensemble de dépôts de démonstration :

  • ukend0464/pacman : un dépôt public avec une implémentation simple d'un jeu Pacman (disponible ici)
  • Plusieurs dépôts privés contenant des projets personnels et des informations sensibles sur l'utilisateur.

Injection « À propos de l'auteur » Nous plaçons maintenant un problème malveillant dans le dépôt public, accessible à l'attaquant. Ce problème contient une charge utile qui sera exécutée par l'agent dès qu'il interrogera la liste des problèmes du dépôt public.

Interaction utilisateur : Pour déclencher l'attaque, l'utilisateur demande simplement à Claude 4 Opus : « Consultez les problèmes de mon dépôt open source pacman et corrigez-les ! »

Claude utilise ensuite l'intégration GitHub MCP pour suivre les instructions. Tout au long de ce processus, Claude Desktop demande par défaut à l'utilisateur de confirmer chaque appel d'outil. Cependant, de nombreux utilisateurs optent déjà pour une politique de confirmation « Toujours autoriser » lorsqu'ils utilisent des agents et cessent de surveiller les actions individuelles.

Déploiement de l'attaque : L'agent parcourt la liste des problèmes jusqu'à ce qu'il trouve la charge utile de l'attaque. Il extrait volontairement les données du dépôt privé et les diffuse dans une requête d'extraction du dépôt pacman, librement accessible à l'attaquant car public.

Claude utilise ensuite l'intégration MCP de GitHub pour suivre les instructions. Tout au long de ce processus, Claude Desktop demande par défaut à l'utilisateur de confirmer chaque appel d'outil. Cependant, de nombreux utilisateurs optent déjà pour une politique de confirmation « Toujours autoriser » lors de l'utilisation des agents et cessent de surveiller les actions individuelles.

Déploiement de l'attaque : L'agent parcourt la liste des problèmes jusqu'à ce qu'il trouve la charge utile de l'attaque. Il extrait volontairement les données du dépôt privé et les diffuse dans une requête d'extraction du dépôt pacman, librement accessible à l'attaquant car public.

Détection des flux d'agents toxiques

Contrairement aux attaques par empoisonnement d'outils précédemment découvertes avec MCP, cette vulnérabilité ne nécessite pas la compromission des outils MCP eux-mêmes. En réalité, le problème survient même avec des outils totalement fiables, car les agents peuvent être exposés à des informations non fiables lorsqu'ils sont connectés à des plateformes externes comme GitHub.

Comprendre, analyser et atténuer ces problèmes dans les systèmes d'agents est une tâche extrêmement complexe, difficile à réaliser manuellement et à grande échelle. Pour relever ce défi, Invariant a développé des méthodes automatisées de détection des flux d'agents toxiques, permettant aux organisations d'identifier et de modéliser les menaces potentielles avant qu'elles ne soient exploitées par des acteurs malveillants.

...

Portée et atténuations

Bien que nos expériences se soient concentrées sur Claude Desktop, la vulnérabilité n'est pas spécifique à un agent ou à un client MCP en particulier. Elle affecte tout agent utilisant le serveur MCP de GitHub, quel que soit le modèle ou l'implémentation sous-jacents.

Il est important de noter qu'il ne s'agit pas d'une faille dans le code du serveur MCP de GitHub lui-même, mais d'un problème d'architecture fondamental qui doit être résolu au niveau du système d'agents. Cela signifie que GitHub ne peut pas à lui seul résoudre cette vulnérabilité par des correctifs côté serveur.

Nous recommandons donc les deux stratégies d'atténuation clés suivantes pour prévenir de telles attaques et renforcer la sécurité de vos systèmes d'agents.

1. Mettre en œuvre des contrôles d'autorisations granulaires

Lors de l'utilisation d'intégrations MCP comme celle de GitHub, il est essentiel de limiter l'accès de l'agent aux seuls référentiels avec lesquels il doit interagir, conformément au principe du moindre privilège. Si les autorisations traditionnelles basées sur des jetons offrent une certaine protection, elles imposent souvent des contraintes strictes qui limitent les fonctionnalités de l'agent.

...

2. Effectuer une surveillance continue de la sécurité

Au-delà des mesures préventives, mettez en œuvre des solutions de surveillance robustes pour détecter et répondre aux menaces de sécurité potentielles en temps réel. Nous recommandons le déploiement d'analyseurs de sécurité spécialisés, tels que MCP-scan d'Invariant, pour auditer en continu les interactions entre les agents et les systèmes MCP.

...

Conclusion

Dans cet article, nous avons mis en évidence une vulnérabilité critique affectant le serveur MCP de GitHub, permettant aux attaquants de détourner l'agent d'un utilisateur via un incident GitHub malveillant et de le forcer à divulguer des données depuis des référentiels privés. Cette vulnérabilité est l'une des premières découvertes par l'analyseur de sécurité d'Invariant pour la détection des flux d'agents toxiques.

...

Lire la source

Recherche

  • Définition d'un « incident d'IA »
  • Définir une « réponse aux incidents d'IA »
  • Feuille de route de la base de données
  • Travaux connexes
  • Télécharger la base de données complète

Projet et communauté

  • À propos de
  • Contacter et suivre
  • Applications et résumés
  • Guide de l'éditeur

Incidents

  • Tous les incidents sous forme de liste
  • Incidents signalés
  • File d'attente de soumission
  • Affichage des classifications
  • Taxonomies

2024 - AI Incident Database

  • Conditions d'utilisation
  • Politique de confidentialité
  • Open twitterOpen githubOpen rssOpen facebookOpen linkedin
  • f196a6b