Des chercheurs d’une société de sécurité israélienne ont révélé mardi comment les pirates pouvaient transformer les « hallucinations » d’une IA générative en un cauchemar pour la chaîne d’approvisionnement en logiciels d’une organisation.

Dans un article de blog sur le site Web de Vulcan Cyber, les chercheurs Bar Lanyado, Ortel Keizman et Yair Divinsky ont illustré comment on pouvait exploiter de fausses informations générées par ChatGPT sur des packages logiciels open source pour fournir du code malveillant dans un environnement de développement.

Ils ont expliqué qu’ils avaient vu ChatGPT générer des URL, des références et même des bibliothèques de code et des fonctions qui n’existent pas réellement.

Si ChatGPT fabrique des bibliothèques de code ou des packages, les attaquants pourraient utiliser ces hallucinations pour diffuser des packages malveillants sans utiliser de techniques suspectes et déjà détectables telles que le typosquattage ou le masquage, ont-ils noté.

Si un attaquant peut créer un package pour remplacer les « faux » packages recommandés par ChatGPT, ont poursuivi les chercheurs, ils pourraient être en mesure d’amener une victime à le télécharger et à l’utiliser.

La probabilité que ce scénario se produise augmente, ont-ils soutenu, alors que de plus en plus de développeurs migrent des domaines de recherche en ligne traditionnels pour les solutions de code, comme Stack Overflow, vers des solutions d’IA, comme ChatGPT.

Générant déjà des packages malveillants

« Les auteurs prédisent qu’à mesure que l’IA générative deviendra plus populaire, elle commencera à recevoir des questions de développeurs qui iraient autrefois à Stack Overflow », a expliqué Daniel Kennedy, directeur de recherche pour la sécurité de l’information et les réseaux chez 451 Research, qui fait partie de S&P Global Market. Intelligence, une société mondiale d’études de marché.

« Les réponses à ces questions générées par l’IA peuvent ne pas être correctes ou peuvent faire référence à des packages qui n’ont plus ou n’ont jamais existé », a-t-il déclaré à TechNewsWorld. « Un mauvais acteur observant qu’il peut créer un package de code portant ce nom pour inclure du code malveillant et le faire continuellement recommander aux développeurs par l’outil d’IA générative. »

« Les chercheurs de Vulcan sont allés plus loin en donnant la priorité aux questions les plus fréquemment posées sur Stack Overflow comme celles qu’ils poseraient à l’IA, et en voyant où les packages qui n’existent pas étaient recommandés », a-t-il ajouté.


Selon les chercheurs, ils ont interrogé Stack Overflow pour obtenir les questions les plus fréquemment posées sur plus de 40 sujets et ont utilisé les 100 premières questions pour chaque sujet.

Ensuite, ils ont posé à ChatGPT, via son API, toutes les questions qu’ils avaient collectées. Ils ont utilisé l’API pour reproduire l’approche d’un attaquant pour obtenir autant de recommandations de packages inexistants que possible dans les plus brefs délais.

Dans chaque réponse, ils ont recherché un modèle dans la commande d’installation du package et ont extrait le package recommandé. Ils ont ensuite vérifié si le package recommandé existait. Si ce n’était pas le cas, ils essayaient de le publier eux-mêmes.

Logiciel de kludging

Des packages malveillants générés avec le code de ChatGPT ont déjà été repérés sur les installateurs de packages PyPI et npm, a noté Henrik Plate, chercheur en sécurité chez Endor Labs, une société de gestion des dépendances à Palo Alto, en Californie.

« Les grands modèles de langage peuvent également aider les attaquants à créer des variantes de logiciels malveillants qui implémentent la même logique mais ont une forme et une structure différentes, par exemple, en distribuant du code malveillant sur différentes fonctions, en modifiant les identifiants, en générant de faux commentaires et du code mort ou des techniques comparables, « , a-t-il déclaré à TechNewsWorld.

Le problème avec les logiciels aujourd’hui est qu’ils ne sont pas écrits de manière indépendante, a observé Ira Winkler, responsable de la sécurité de l’information chez CYE, un fournisseur mondial de technologies de sécurité logicielle automatisées.

« Il est essentiellement composé de nombreux logiciels qui existent déjà », a-t-il déclaré à TechNewsWorld. « C’est très efficace, donc un développeur n’a pas à écrire une fonction commune à partir de zéro. »

Cependant, cela peut amener les développeurs à importer du code sans le vérifier correctement.

« Les utilisateurs de ChatGPT reçoivent des instructions pour installer des packages logiciels open source capables d’installer un package malveillant tout en pensant qu’il est légitime », a déclaré Jossef Harush, responsable de la sécurité de la chaîne d’approvisionnement logicielle chez Checkmarx, une société de sécurité des applications à Tel Aviv, en Israël.

« De manière générale », a-t-il déclaré à TechNewsWorld, « la culture du copier-coller-exécuter est dangereuse. Le faire aveuglément à partir de sources comme ChatGPT peut conduire à des attaques de la chaîne d’approvisionnement, comme l’a démontré l’équipe de recherche Vulcan.

Connaissez vos sources de code

Melissa Bischoping, directrice de la recherche sur la sécurité des terminaux chez Tanium, un fournisseur de gestion convergée des terminaux à Kirkland, Washington, a également mis en garde contre l’utilisation lâche de code tiers.

« Vous ne devriez jamais télécharger et exécuter du code que vous ne comprenez pas et que vous n’avez pas testé en le récupérant simplement à partir d’une source aléatoire – comme les dépôts open source GitHub ou maintenant les recommandations ChatGPT », a-t-elle déclaré à TechNewsWorld.

« Tout code que vous avez l’intention d’exécuter doit être évalué pour sa sécurité et vous devez en avoir des copies privées », a-t-elle conseillé. « N’importez pas directement à partir de référentiels publics, tels que ceux utilisés dans l’attaque Vulcan. »


Elle a ajouté qu’attaquer une chaîne d’approvisionnement par le biais de bibliothèques tierces partagées ou importées n’est pas nouveau.

« L’utilisation de cette stratégie se poursuivra », a-t-elle averti, « et la meilleure défense consiste à utiliser des pratiques de codage sécurisées et à tester et réviser minutieusement le code – en particulier le code développé par un tiers – destiné à être utilisé dans des environnements de production ».

« Ne faites pas aveuglément confiance à chaque bibliothèque ou package que vous trouvez sur Internet ou dans une conversation avec une IA », a-t-elle averti.

Connaissez la provenance de votre code, a ajouté Dan Lorenc, PDG et co-fondateur de Chaingard, un fabricant de solutions logicielles de sécurité de la chaîne d’approvisionnement à Seattle.

« L’authenticité du développeur, vérifiée par des commits et des packages signés, et l’obtention d’artefacts open source auprès d’une source ou d’un fournisseur en qui vous pouvez avoir confiance sont les seuls véritables mécanismes de prévention à long terme de ces attaques de type Sybil contre l’open source », a-t-il déclaré à TechNewsWorld.

Premières manches

L’authentification du code, cependant, n’est pas toujours facile, a noté Bud Broomhead, PDG de Viakoo, un développeur de solutions logicielles de cybersécurité et de sécurité physique à Mountain View, en Californie.

« Dans de nombreux types d’actifs numériques – et dans les appareils IoT/OT en particulier – les micrologiciels manquent toujours de signature numérique ou d’autres formes d’établissement de la confiance, ce qui rend les exploits possibles », a-t-il déclaré à TechNewsWorld.

« Nous en sommes aux premiers balbutiements de l’IA générative utilisée à la fois pour la cyberattaque et la défense. Merci à Vulcan et aux autres organisations qui détectent et alertent sur les nouvelles menaces à temps pour que les modèles d’apprentissage des langues soient réglés pour empêcher cette forme d’exploit », a-t-il ajouté.

« N’oubliez pas », a-t-il poursuivi, « il y a seulement quelques mois, je pouvais demander à Chat GPT de créer un nouveau logiciel malveillant, et ce serait le cas. Maintenant, il faut des conseils très spécifiques et dirigés pour qu’il le crée par inadvertance. Et j’espère que même cette approche sera bientôt empêchée par les moteurs d’IA.

A lire également