Les instructions cryptées incitent Copilot CLI à divulguer les secrets des développeurs

Lucas Morel

if ( !emtpy($headline_subheadline ) ) : ?>

Les chercheurs ont réussi à faire en sorte que GitHub Copilot CLI lise les fichiers locaux sensibles et envoie leur contenu à un point de terminaison externe.

endif; ?>

GitHub Copilot CLI peut être configuré pour lire des fichiers sensibles sur la machine d’un développeur et envoyer leur contenu à un attaquant à partir d’une seule page Web.

Les chercheurs en sécurité d’Adversa AI ont déclaré que la nouvelle technique d’attaque, baptisée Cryptographic Context Injection (CCI), cache des instructions malveillantes dans le contenu crypté. Ces instructions sont traitées comme un contexte de confiance lorsque Copilot CLI déchiffre le contenu à l’aide de son propre environnement d’exécution de code, ce qui leur permet d’influencer ce que fait ensuite l’agent.

Lors d’une démonstration, les chercheurs d’Adversa ont demandé à Copilot de lire un fichier « .env.prod » contenant des secrets et d’envoyer son contenu à un point final contrôlé par un attaquant. « Chaîne complète : 28 secondes, aucune confirmation et aucun point dans la transcription nommant l’hôte de destination ou indiquant que le contenu du fichier a quitté la machine », a déclaré le chercheur dans un article de blog.

Selon Adversa, l’attaque n’est pas une compromission universelle en un seul clic, car elle nécessite que Copilot CLI s’exécute en mode pilote automatique et qu’un modèle soit prêt à exécuter les instructions décryptées. GitHub a validé la découverte mais a refusé de la traiter comme une vulnérabilité, affirmant que l’utilisateur avait explicitement demandé à Copilot de récupérer le contenu contrôlé par l’attaquant tout en lui accordant toutes les autorisations pour agir de manière autonome.

« Ils ont indiqué qu’ils pourraient rendre la fonctionnalité plus stricte à l’avenir, mais n’avaient rien à annoncer, et ont jugé le rapport inéligible au programme de prime aux bogues de GitHub », a déclaré Adversa. Les chercheurs ont contesté cette évaluation, arguant qu’elle n’explique pas pourquoi Copilot rejette les mêmes instructions lorsqu’elles sont présentées en texte clair, mais les accepte après qu’elles ont été chiffrées et déchiffrées dans son environnement d’exécution.

Bien que GitHub refuse de qualifier cela de faille ou de corriger le comportement sous-jacent, Adversa conseille aux défenseurs de rechercher toute séquence d’actions suspecte autour d’une charge utile chiffrée : un contenu Web non fiable entre dans l’agent, le code s’exécute, les fichiers locaux sont lus et l’agent établit ensuite une connexion sortante sans rapport.

VulnérabilitésSécuritéIntelligence artificielleGitHubDéveloppement de logiciels