dotsagent.io
Langue:Français

Un flux d’agent toxique via GitHub MCP expose des dépôts privés à partir d’une issue publique

Invariant Labs a montré comment une issue GitHub publique malveillante pouvait orienter un agent utilisant le serveur GitHub MCP et lui faire copier des données d’un dépôt privé dans une pull request publique.

Ce qui s’est passé

Le 26 mai 2025, Invariant Labs a révélé ce qu'elle a appelé un « flux toxique d'agent » impliquant le serveur GitHub MCP. Un attaquant ouvre une issue dans un dépôt public et y ajoute des instructions destinées à l'agent. Lorsque celui-ci consulte ensuite les issues ouvertes, il ingère le texte malveillant et le suit.

Le token de l'agent pouvait également accéder aux dépôts privés du propriétaire. En suivant les instructions de l'issue, l'agent a extrait des données de ces dépôts privés et les a publiées dans une pull request sur le dépôt public, où tout le monde pouvait les lire.

Pourquoi l’attaque a fonctionné

Les trois éléments de la triade létale étaient réunis au cours d'une même session : un token donnant accès à des dépôts privés, du texte non fiable provenant d'une issue publique et une pull request publique comme moyen de sortie. Pris séparément, ces éléments sont courants. Ensemble, ils permettent à toute personne capable d'ouvrir une issue de lire tout ce auquel le token donne accès.

Mesures à prendre

  • Attribuez aux agents qui consultent des issues publiques un token limité à ce seul dépôt.
  • Séparez les dépôts publics et privés dans des sessions d'agent distinctes.
  • Exigez une approbation avant que l'agent ouvre des pull requests, publie des commentaires ou crée des commits sur des dépôts publics.
  • Considérez les titres, les descriptions et les commentaires des issues comme des entrées non fiables.

Brisez la triade fataleUtiliser des identifiants à privilèges minimauxExiger une approbation pour les actions importantes

Suivre la checklist de sécurité →

Sources

  1. invariantlabs.ai/blog/mcp-github-vulnerability