Une étude portant sur les capacités de génération de code informatique de ChatGPT a révélé que le code généré par le chatbot d'IA d'OpenAI est truffé de vulnérabilités. Le rapport l'étude indique que ChatGPT produit non seulement du "code peu sûr", mais n'alerte pas non plus les utilisateurs sur ses insuffisances, alors qu'il est capable de les mettre en évidence. Le chatbot ne fournit des conseils utiles pour améliorer la qualité du code qu'après avoir été invité à remédier aux problèmes détectés par l'utilisateur dans le code généré. L'étude remet en cause les déclarations selon lesquelles ChatGPT pourrait remplacer la majorité des programmeurs dans les prochaines années.
Le lancement de ChatGPT a amené de nombreuses personnes à se demander, voire à s'inquiéter, de ce qu'il représente pour elles. Parmi eux, les programmeurs et les développeurs. En entrant "ChatGPT va-t-il remplacer" dans la barre de recherche, les mots "programmeurs" et "développeurs" apparaissent comme deux des principales suggestions. Cela suggère que les types de personnes qui construisent ChatGPT se demandent si leurs outils vont les supplanter. ChatGPT peut générer du code sur la base d'invites données par les utilisateurs et, selon OpenAI et certains experts, la capacité de ChatGPT à écrire du code est importante pour plusieurs raisons.
Premièrement, cela permettrait d'économiser du temps et des efforts. L'écriture de code peut être longue et fastidieuse, en particulier pour les algorithmes complexes. Grâce à la capacité de ChatGPT à générer du code, les programmeurs peuvent se concentrer sur d'autres aspects du développement de logiciels, tels que les tests et le débogage. Cela peut conduire à des temps de développement plus rapides et à des processus de développement de logiciels plus efficaces. Deuxièmement, la capacité de ChatGPT à écrire du code peut démocratiser la programmation. Traditionnellement, le domaine requiert des connaissances et une formation spécialisées.
Mais la capacité de ChatGPT à écrire du code permettrait à n'importe qui de générer du code en donnant des instructions en langage naturel. Cela peut permettre à un plus grand nombre de personnes de créer des logiciels pour l'innovation et le progrès dans divers domaines. Enfin, l'on estime également que la capacité de ChatGPT à écrire du code peut améliorer la qualité du code. Mais une récente étude a remis en cause cette dernière affirmation et tente de démontrer que les gens ont tendance à surestimer les capacités des chatbots. Les chercheurs se sont posé la question de savoir : « quel est le degré de sécurité du code généré par ChatGPT ? ».
Selon le rapport de l'étude - menée par les informaticiens Baba Mamadou Camara, Anderson Avila, Jacob Brunelle et Raphael Khoury affiliés à l'Université du Québec - la réponse à cette question est : "le code généré par ChatGPT n'est pas très sûr". Dans le cadre de l'étude, les quatre chercheurs ont demandé à ChatGPT de générer 21 programmes dans cinq langages de programmation afin d'illustrer des failles de sécurité spécifiques telles que la corruption de la mémoire, le déni de service et une cryptographie mal élaborée. Le rapport indique que ChatGPT n'a produit que cinq programmes plus ou moins "sécurisés" sur 21 lors de sa première tentative.
Par exemple, le premier programme était un serveur FTP C++ pour le partage de fichiers dans un répertoire public. Mais le code produit par ChatGPT ne comportait aucune vérification des entrées, ce qui expose le logiciel à une vulnérabilité de traversée de chemin. Les conclusions du rapport font écho à des évaluations - mais pas identiques - similaires de GitHub Copilot, un outil de génération de code basé sur le modèle d'IA GPT-3 (récemment mis à niveau vers GPT-4). D'autres études ont examiné les erreurs ChatGPT de manière plus générale. Parallèlement, ces modèles d'IA sont également utilisés pour identifier les problèmes de sécurité.
Invité à corriger ses erreurs, le modèle d'IA a produit sept applications "plus sûres", mais cela ne concernait que la vulnérabilité spécifique évaluée. Les chercheurs ont constaté que ChatGPT ne reconnaissait pas que le code qu'il générait n'était pas sûr et qu'il ne fournissait des conseils utiles qu'après avoir été invité à remédier aux problèmes. Une chose contre laquelle les chercheurs mettent en garde. De plus, ils notent que ChatGPT ne partait pas d'un modèle contradictoire d'exécution du code et les a informés à plusieurs reprises que les problèmes de sécurité pouvaient être évités en ne fournissant pas d'entrées non valides au programme vulnérable.
Les auteurs estiment que ce n'est pas l'idéal, car le fait de savoir quelles questions poser suppose une certaine familiarité avec des bogues et des techniques de codage spécifiques. En d'autres termes, si vous connaissez la bonne question à poser à ChatGPT pour qu'il corrige une vulnérabilité, vous savez probablement déjà comment y remédier. Par ailleurs, les chercheurs soulignent également qu'il existe une incohérence éthique dans le fait que ChatGPT refuse de créer du code d'attaque, mais crée du code vulnérable. Ils citent un exemple de vulnérabilité de désérialisation en langage Java dans lequel "le chatbot a généré un code vulnérable".
ChatGPT a ensuite fourni des conseils sur la façon de le rendre plus sûr, mais a déclaré qu'il était incapable de créer la version plus sûre du code. « Les résultats sont inquiétants. Nous avons constaté que, dans plusieurs cas, le code généré généré par ChatGPT était bien en deçà des normes de sécurité minimales applicables dans la plupart des contextes. En fait, lorsqu'on lui a demandé si le code produit était sécurisé ou non, ChatGPT a été capable de reconnaître qu'il ne l'était pas », affirment les auteurs dans leur article. Les chercheurs ont déclaré que l'utilisation de ChatGPT pour la génération de code comportait des risques pour les entreprises.
Raphael Khoury, professeur d'informatique et d'ingénierie à l'Université du Québec en Outaouais et l'un des coauteurs de l'article, soutient que ChatGPT, dans sa forme actuelle, représente un risque, ce qui ne veut pas dire qu'il n'y a pas d'utilisations valables pour une aide IA erratique et peu performante. « Nous avons déjà vu des étudiants l'utiliser, et des programmeurs l'utiliseront dans la nature. Il est donc très dangereux d'avoir un outil qui génère un code non sécurisé. Nous devons faire prendre conscience aux étudiants que si un code est généré avec ce type d'outil, il est fort possible qu'il ne soit pas sécurisé », a-t-il déclaré.
Source : rapport de l'étude
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des conclusions de l'étude ?
Voir aussi
Le chatbot d'IA ChatGPT est capable de lancer des attaques de phishing dangereuses et de concevoir des codes de téléchargement malveillant d'une efficacité redoutable
Et si ChatGPT était utilisé pour trouver des bogues dans du code ? Des chercheurs s'y sont essayé, et ont trouvé qu'il fonctionne mieux que les programmes existants, corrigeant 31 bogues sur 40
Des experts en sécurité sont parvenus à créer un logiciel malveillant polymorphe "hautement évasif" à l'aide de ChatGPT, le logiciel malveillant serait capable d'échapper aux produits de sécurité
ChatGPT réussit l'édition 2022 de l'examen d'informatique pour élèves du secondaire désireux d'obtenir des crédits universitaires US : que sait-on de cette IA qui secoue Internet comme une tempête ?
ChatGPT génère un code informatique peu sûr, mais ne vous le dira pas à moins que vous ne le lui demandiez,
Les experts mettent en garde contre les risques d'une surconfiance en ChatGPT
ChatGPT génère un code informatique peu sûr, mais ne vous le dira pas à moins que vous ne le lui demandiez,
Les experts mettent en garde contre les risques d'une surconfiance en ChatGPT
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !