
On ne peut pas faire confiance aux assistants IA pour produire du code sûr. Un rapport a révélé que l'assistant IA de GitLab a exposé les développeurs au vol de code, avec l'injection d'une invite qui permet aux attaquants de voler le code source et de diffuser des logiciels malveillants. Selon le rapport, les attaquants auraient pu le manipuler en insérant des invites secrètes dans leur code, ce qui leur aurait permis d'effectuer des attaques de phishing, de déposer des logiciels malveillants et d'exfiltrer des données sensibles.
Des chercheurs en cybersécurité ont découvert que les risques d'injection rapide dans l'assistant d'intelligence artificielle (IA) de GitLab auraient pu permettre à des attaquants de voler du code source ou de fournir indirectement aux développeurs des logiciels malveillants, des liens sales et bien d'autres choses encore. "Duo" est un outil intégré que les utilisateurs du dépôt open source (OSS) peuvent utiliser pour analyser et suggérer des modifications à leur code, automatiser certains aspects de l'écriture, du test et de la fusion du code, ainsi que d'autres fonctions, équivalentes à Copilot de GitHub.
Selon le rapport des chercheurs de Legit Security, Duo n'a pas été conçu pour faire preuve d'un grand discernement quant à ce qui y entre et en sort. Les attaquants auraient pu le manipuler en insérant des invites secrètes dans leur code, ce qui leur aurait permis d'effectuer des attaques de phishing, de déposer des logiciels malveillants et d'exfiltrer des données sensibles. En fait, bien que l'injection d'invites soit un risque systémique pour tous les chatbots alimentés par un grand modèle de langage (LLM), Duo de GitLab est particulièrement puissant entre les mains d'un attaquant.
"Ce qui le rend particulièrement intéressant, c'est son intégration profonde dans l'ensemble du pipeline DevSecOps - des problèmes aux pipelines CI/CD et au code source. Comme Duo analyse des données de projet riches et interconnectées, la surface d'abus est plus large", explique Omer Mayraz, chercheur principal en sécurité chez Legit Security. "Comme les réponses de Duo sont rendues directement dans le navigateur à l'aide de Markdown, elles présentent des risques d'injection côté client (injection HTML) qui ne sont pas toujours présents dans les outils qui conservent la sortie LLM dans les environnements de développement intégrés (IDE) ou les terminaux de chat."
La première découverte des chercheurs de Legit Security a été qu'ils pouvaient indirectement influencer Duo en insérant des invites d'IA dans le code qu'ils publiaient sur GitLab. Cependant, ils ont rapidement réalisé que le problème était en fait beaucoup plus large que cela.
Pour être l'assistant tout-en-un dont un développeur peut avoir besoin, Duo doit s'engager dans pratiquement tous les aspects du site GitLab : le code source, bien sûr, mais aussi les messages de validation, les descriptions et les commentaires associés aux problèmes et aux demandes de fusion. Apparemment, il n'a pas traité ces éléments avec plus d'attention que le code source; il a exécuté des invites cachées injectées partout où les utilisateurs interagissaient avec le site.
Ainsi, un attaquant n'aurait pas été limité à l'infection de son propre code; il aurait pu insérer des invites malveillantes dans des demandes de fusion ou même des commentaires sur d'autres projets. Et c'est une chose d'exploiter le manque de nettoyage des entrées de Duo, mais s'ils voulaient également dissimuler ce qu'ils faisaient aux développeurs humains, cela n'aurait pas été un problème : l'assistant IA n'avait aucun scrupule à agir sur des invites codées, ou des invites écrites en texte blanc sur le fond blanc de la page web.
Sachant cela, de nombreux scénarios de cyberattaque étaient possibles. Un pirate aurait pu insérer des URL malveillantes dans les réponses de Duo de manière à les faire apparaître comme légitimes et sûres. Il aurait pu manipuler les suggestions de code de Duo pour y inclure des logiciels malveillants, ou influencer Duo pour qu'il dise aux réviseurs de code que les demandes de fusion malveillantes étaient tout à fait acceptables.
Le pire de tous, cependant, est un autre scénario rendu possible par la façon dont Duo produit ses réponses. En termes simples, Duo formate ses réponses en Markdown et les expédie ligne par ligne, rendant le HTML pour qu'un navigateur puisse le lire comme un flux de conscience. Mais il rend le HTML au fur et à mesure, sans attendre que l'ensemble de la structure de la réponse se déploie. Ainsi, lorsque les chercheurs l'ont alimenté en HTML par le biais d'une injection indirecte, il a interprété le code comme du HTML actif prêt à être exécuté.
Quelle est la pire chose que l'on puisse faire sur un dépôt OSS comme GitLab ? Les chercheurs ont conçu une invite de démonstration de concept (PoC) qui pourrait être cachée dans une description de demande de fusion ou un commentaire de livraison, conçue de telle sorte que lorsqu'une victime la fait réviser par Duo, ce dernier transmet le HTML malveillant à son navigateur. Le navigateur enverrait alors une requête GET au serveur des chercheurs, faisant sortir clandestinement le code source privé de la victime.
La même astuce pourrait être utilisée pour accéder à d'autres types de données sensibles échangées sur la plateforme. "Prenons un scénario réel : Un employé de GitLab ou un contributeur de confiance a accès à une question interne décrivant une vulnérabilité de type « zero-day » dans GitLab. Si cet utilisateur interagit avec Duo sur un projet empoisonné, Duo pourrait divulguer le contenu sensible de ce problème sans que l'utilisateur s'en rende compte. Cela étend le risque au-delà du code et concerne la sécurité du produit, les divulgations privées et les secrets de l'organisation", explique Omer Mayraz.
Legit Security a signalé les vulnérabilités de Duo à GitLab le 23 février. GitLab a reconnu et publié un correctif pour le problème de rendu HTML, mais la confusion a persisté autour des autres risques d'injection d'invite qui ont conduit à des réponses empoisonnées de Duo. Le 19 mai, GitLab a rétabli la communication avec Legit Security. Depuis le 21 mai, tous les problèmes ont été résolus par l'équipe de GitLab. "Il est toujours possible d'influencer la réponse de Duo, mais pas de manière malveillante", indiquent les chercheurs.
Pour rappel, GitLab, une plateforme de développement logiciel qui est soutenue par Google, a suscité l’intérêt des acheteurs et envisageait une vente en 2024. Avec une valorisation d’environ 8 milliards de dollars, GitLab s’est imposé comme un acteur essentiel dans l’espace du développement de logiciels. Malgré sa position sur le marché, GitLab faisait face à des défis importants. Ses actions ont baissé de 16 % en 2024, les investisseurs s’inquiétant des éventuelles réductions de dépenses des clients. En outre, ce rapport vient s'ajouter à ces problèmes.
Source : Rapport de Legit Security
Et vous ?


Voir aussi :



Vous avez lu gratuitement 40 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.