Les chercheurs de Pillar Security annoncent la découverte d'une nouvelle vulnérabilité dans GitHub Copilot et Cursor. La nouvelle technique, appelée « Rules Files Backdoor », permettrait aux attaquants de manipuler les agents IA de codage par le biais de fichiers de règles compromis. La découverte d'une porte dérobée invisible pour les fichiers de règles expose des risques graves pour la chaîne d'approvisionnement de millions de développeurs qui utilisent des outils de codage assistés par l'IA, ce qui pourrait compromettre les écosystèmes logiciels dans le monde entier.Des fichiers de configuration de règles ou fichiers de règles sont utilisés par les agents IA de codage pour guider leur comportement lors de la génération ou de l'édition de code. Par exemple, un fichier de règles peut contenir des instructions pour que l'assistant suive certaines bonnes pratiques de codage, utilise un formatage spécifique ou produise des réponses dans une langue spécifique.
Selon un récent rapport des chercheurs de Pillar Security, les assistants d'IA de codage tels que GitHub Copilot et Cursor pourraient être manipulés pour générer du code contenant des portes dérobées, des vulnérabilités et d'autres problèmes de sécurité via les fichiers de règles malveillants. La technique d'attaque mise au point par les chercheurs de Pillar, qu'ils appellent "Rules File Backdoor", arme les fichiers de règles en y injectant des instructions invisibles pour un utilisateur humain mais lisibles par l'agent IA.
Les configurations de règles sont souvent partagées entre les communautés de développeurs et distribuées par l'intermédiaire de dépôts open-source ou incluses dans des modèles de projet ; par conséquent, un attaquant pourrait distribuer un fichier de règles malveillant en le partageant sur un forum, en le publiant sur une plateforme open-source comme GitHub ou en l'injectant par l'intermédiaire d'une demande d'extraction dans un dépôt populaire. Une fois le fichier de règles empoisonné importé dans GitHub Copilot ou Cursor, l'agent IA lira et suivra les instructions de l'attaquant tout en aidant les futurs projets de codage de la victime.
Pour rappel, GitHub Copilot est un outil de complétion de code et de programmation automatique développé par GitHub et OpenAI qui aide les utilisateurs des environnements de développement intégré (EDI) Visual Studio Code, Visual Studio, Neovim et JetBrains en complétant automatiquement le code. Tandis que Cursor est un environnement de développement intégré (EDI) livré avec un assistant d'IA de codage. C'est un fork de Visual Studio Code qui s'appuie sur de grands modèles de langage (LLM) tels que Claude et GPT et offre des outils tels que la génération de code, l'autocomplétion intelligente et des réécritures de code optimisées.
Dans un exemple présenté par Pillar, un fichier de règles qui semblait indiquer à l'IA de "suivre les meilleures pratiques HTML5" comprenait un texte caché contenant des instructions supplémentaires pour ajouter un script externe à la fin de chaque fichier. L'invite cachée comprenait également un jailbreak pour contourner les contrôles de sécurité potentiels, assurant à l'IA que l'ajout du script était nécessaire pour sécuriser le projet et faisait partie de la politique de l'entreprise, ainsi que des instructions pour ne pas mentionner l'ajout du script dans les réponses à l'utilisateur.
Les chercheurs de Pillar ont constaté que GitHub Copilot et Cursor ont tous deux suivi les instructions d'ajout du script externe lorsqu'il leur a été demandé de générer une page HTML, et que l'ajout de ce script n'a pas été mentionné dans les réponses en langage naturel des assistants. Selon les chercheurs, le "Rules File Backdoor" pourrait également être utilisé pour introduire des vulnérabilités de sécurité dans le code généré ou pour créer du code qui laisse échapper des informations sensibles telles que des identifiants de base de données ou des clés d'API.
Pillar a révélé l'exploit à Cursor en février 2025 et à GitHub en mars 2025. Cursor a déclaré que le problème n'était pas dû à une vulnérabilité de sa plateforme et qu'il incombait aux utilisateurs de gérer le risque. GitHub a répondu de la même manière que les utilisateurs sont responsables de l'examen et de l'acceptation du code et des suggestions générés par Copilot.
Pillar recommande aux développeurs d'examiner tous les fichiers de règles qu'ils utilisent pour détecter d'éventuelles injections malveillantes, telles que des Unicodes invisibles ou un formatage inhabituel, et de traiter les fichiers de configuration de l'IA avec la même attention que le code exécutable. Le code généré par l'IA devrait également être examiné avec soin, en particulier pour détecter les ajouts inattendus tels que les références à des ressources externes, écrivent les chercheurs. Les outils de détection automatisés peuvent également aider à identifier les contenus suspects dans les fichiers de règles ou les indicateurs de compromission dans le code généré par l'IA.
Les chercheurs de Pillar Security présentent leurs découvertes :
Les chercheurs de Pillar Security ont découvert un nouveau vecteur d'attaque dangereux de la chaîne d'approvisionnement que nous avons baptisé « Rules File Backdoor ». Cette technique permet aux pirates de compromettre silencieusement le code généré par l'IA en injectant des instructions malveillantes cachées dans des fichiers de configuration apparemment innocents utilisés par Cursor et GitHub Copilot - les principaux éditeurs de code alimentés par l'IA dans le monde.*
En exploitant des caractères unicode cachés et des techniques d'évasion sophistiquées dans la charge utile d'instruction face au modèle, les acteurs de la menace peuvent manipuler l'IA pour insérer un code malveillant qui contourne les révisions de code habituelles. Cette attaque reste pratiquement invisible pour les développeurs et les équipes de sécurité, ce qui permet au code...
En exploitant des caractères unicode cachés et des techniques d'évasion sophistiquées dans la charge utile d'instruction face au modèle, les acteurs de la menace peuvent manipuler l'IA pour insérer un code malveillant qui contourne les révisions de code habituelles. Cette attaque reste pratiquement invisible pour les développeurs et les équipes de sécurité, ce qui permet au code...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.