Il y a quelque temps, j’ai découvert une étude intéressante réalisée par des chercheurs de l’Université du Québec sur la sécurité du code généré par ChatGPT, le modèle de langage développé par OpenAI. Vous vous demandez peut-être ce qu’ils ont trouvé ? Eh bien, accrochez-vous, car les résultats sont surprenants !
Les chercheurs ont demandé à ChatGPT de générer 21 programmes et scripts dans différents langages, et seuls cinq d’entre eux étaient sécurisés dès la première tentative. Après avoir insisté pour que ChatGPT corrige ses propres erreurs, ils ont réussi à obtenir sept codes sécurisés de plus.
Une partie du problème semble provenir du fait que ChatGPT ne prend pas en compte un modèle d’exécution de code de type « adversarial« . En d’autres termes, il ne considère pas que le code qu’il génère pourrait être utilisé à des fins malveillantes. De plus, ChatGPT refuse de créer un code offensif, mais créera volontiers un code vulnérable, ce que les auteurs considèrent comme une incohérence éthique.
Les chercheurs ont également constaté qu’une des « réponses » de ChatGPT comme solution miracle aux préoccupations de sécurité était d’avoir uniquement des entrées valides, ce qui n’est pas vraiment réaliste dans le monde réel. De plus, le modèle ne fournit jamais de conseils utiles pour renforcer la sécurité d’un code, sauf si on lui demande précisemment de remédier aux problèmes. Et pour lui demander ça, il faut savoir quelles demandes lui formuler exactement, ce qui veut dire que vous devez vous-même être familier du langage et des vulnérabilités, par avance.
En conclusion de leur étude, les chercheurs pensent que ChatGPT, sous sa forme actuelle, représente un risque et que l’IA est victime du syndrome de Dunning Krüger. Les étudiants et les développeurs doivent être parfaitement conscients que le code généré avec ce type d’outil peut être non sécurisé. De plus, le comportement du modèle est imprévisible, car il peut générer un code sécurisé dans un langage et un code vulnérable dans un autre.
Bref, si vous utilisez ChatGPT ou un autre outil similaire (Github Copilot…etc) pour générer du code, gardez à l’esprit qu’il ne faut pas prendre pour argent comptant que le code fourni est sécurisé. Soyez vigilant et assurez-vous de vérifier et de tester le code pour détecter les éventuelles vulnérabilités. Et n’oubliez pas, comme dit Gaston Lagaffe : « La sécurité avant tout ! »
0 Commentaires