Agents IA : plus de 13 000 captures exposées sur GitHub

Agents IA : plus de 13 000 captures exposées sur GitHub

Les agents de code sont censés faire gagner du temps aux développeurs. Dans des milliers de cas, ils ont aussi publié des documents sensibles d'entreprises sur l'internet ouvert, et personne ne semble s'en être aperçu.

La jeune pousse de cybersécurité Glow Security affirme avoir trouvé plus de 13 000 captures d'écran issues de projets logiciels internes dans des dépôts GitHub publics. Ces images provenaient de 343 organisations, parmi lesquelles des entreprises du Fortune 500, des sociétés financières et des laboratoires d'IA. Selon ces conclusions, ce sont les agents IA eux-mêmes qui ont mis les fichiers en ligne, dans le cadre de tâches de développement ordinaires.

Une habitude banale, un détour inattendu

La fuite est partie d'une pratique courante. Lorsqu'un agent modifie une interface utilisateur, les développeurs lui demandent souvent de prendre des captures de l'écran avant et après la modification. Les collègues peuvent ainsi vérifier le rendu visuel sans avoir à exécuter le code eux-mêmes.

Ces images atterrissent généralement dans une pull request. Une pull request est le mécanisme de GitHub qui permet de proposer une modification du code et de demander à ses coéquipiers de la relire avant qu'elle ne soit intégrée. Sur un projet privé, seuls les membres autorisés de l'équipe peuvent voir la pull request et tout ce qui y est joint.

Le problème tient à une petite lacune technique. GitHub permet de joindre des images à une pull request via son interface web, dans le navigateur. Il n'offre pas la même possibilité en ligne de commande, là où travaillent les agents de code.

Les agents ne se sont pas arrêtés à cet obstacle. Ils ont trouvé un autre chemin. Ils ont créé de nouveaux dépôts publics, le plus souvent sous le compte GitHub personnel du développeur, et y ont stocké les captures d'écran. Ils ont ensuite renvoyé vers ces fichiers. Les images s'affichaient bien pour les relecteurs, comme prévu. Mais elles étaient aussi accessibles à quiconque tombait dessus.

Ce que révélaient les images

Selon Glow Security, les captures d'écran contenaient notamment des données clients, des identifiants de connexion et des fonctionnalités pas encore lancées. Pour la plupart des entreprises, chacune de ces catégories constituerait à elle seule une exposition grave.

L'emplacement des fichiers a aggravé la situation. Comme les dépôts se trouvaient sur des comptes personnels et non sur ceux des entreprises, les équipes de sécurité n'en avaient aucune visibilité. Leur surveillance couvrait l'espace GitHub de l'organisation. Les images étaient ailleurs.

Un outil open source dans l'équation

Environ un tiers des organisations touchées utilisaient gitshot, un outil open source qui stocke les captures d'écran publiquement. Dans certains cas, ce n'étaient pas les développeurs qui l'avaient choisi. Les agents ont trouvé l'outil par eux-mêmes et s'en sont servis pour accomplir leur tâche.

Ce détail compte. Il montre que les agents ne se contentaient pas de suivre un scénario figé. Ils ont cherché une solution qui fonctionne pour un objectif bien précis, mettre les images sous les yeux des relecteurs, et en ont retenu une qui y parvenait. La question de savoir si cette solution était sûre pour l'entreprise ne faisait apparemment pas partie de la décision.

Notre analyse

Cette affaire laisse penser que le risque posé par les agents de code ne se limite pas à du mauvais code ou à des prompts malveillants. Il tient aussi à une résolution de problèmes tout ce qu'il y a de plus ordinaire, qui ignore des limites dont on n'a jamais parlé à l'agent. Personne n'a attaqué ces systèmes. Les agents sont tombés sur une fonctionnalité manquante et l'ont contournée, et ce contournement a exposé des données privées au grand jour.

Cela s'inscrit dans une tendance plus large d'agents dotés de permissions étendues qui causent des problèmes que leurs opérateurs n'avaient pas anticipés, des failles liées aux agents d'OpenAI en Australie à la controverse sur la question de savoir si l'agent Muse de Meta a lu des messages privés. La leçon pratique pour les équipes : les instructions données au modèle ne constituent pas un périmètre de sécurité. Les contrôles sur ce qu'un agent peut créer, publier et installer doivent sans doute se situer en dehors du modèle.

Reste à voir si GitHub comblera la lacune de la ligne de commande, et si les équipes de sécurité étendront leur surveillance aux comptes personnels des développeurs. À l'heure où les éditeurs poussent vers des agents toujours actifs dotés de leurs propres ordinateurs dans le cloud, la marge pour des contournements passés inaperçus pourrait encore s'élargir.