Dépôt institutionnel de l'UQO
RECHERCHER

Sécurité des chatbots AI - analyse automatisée de la sécurité du code avec chatgpt

Téléchargements

Téléchargements par mois depuis la dernière année

Bouzid, Rezika (2024). Sécurité des chatbots AI - analyse automatisée de la sécurité du code avec chatgpt. Mémoire. Gatineau, Université du Québec en Outaouais, Département d'informatique et d'ingénierie, 82 p.

[thumbnail of Bouzid_Rezika_2024_memoire.pdf]
Prévisualisation
PDF
Télécharger (1MB) | Prévisualisation

Résumé

L’automatisation de l’analyse de la sécurité du code constitue un défi majeur, surtout avec l’émergence des grands modèles de langage (LLMs), fruits des avancées significatives dans le domaine de l’intelligence artificielle (IA), comme le chatbot ChatGPT. Le présent mémoire vise à évaluer l’efficacité de ChatGPT dans l’identification des vulnérabilités, la classification de chaque vulnérabilité selon son type CWE, la localisation des lignes vulnérables et la suggestion de correctifs appropriés dans des codes sources complets issus de plusieurs langages de programmation tirés de scénarios CVEs réels, issus de projets logiciels véritables. Ce processus simule une interaction instantanée sous forme de dialogue, permettant d’analyser l’ensemble du code pour toutes les tâches en une seule fois, plutôt que de tester chaque tâche indépendamment, ce qui permet de maintenir le contexte du code visé. Nous mettons en lumière ses points forts ainsi que ses limites, tant avant qu’après la fin de son entraînement, et le comparons à deux autres LLMs, DeepSeek et Llama. Les performances de ChatGPT varient selon les tâches et langages, s’améliorant après septembre 2021 pour certaines, mais se dégradant pour d’autres. Comparé aux autres LLMs, ChatGPT a été surpassé dans certaines tâches de sécurité et langages, tandis que dans d’autres cas, il les a surpassé. Toutefois, les trois modèles se retrouvent sur un pied d’égalité en ce qui concerne la génération de faux positifs, et aucun d’entre eux n’a réussi à produire un bilan positif. De plus, le deuxième tour de vérification des vulnérabilités n’a pas été concluant pour les trois modèles en ce qui concerne la localisation des lignes vulnérables, à l’exception de Llama, qui a surpassé ChatGPT et DeepSeek dans la confirmation de l’existence des vulnérabilités dans tous les cas. Les LLMs ne sont pas encore fiables pour l’analyse de sécurité des programmes, car leurs performances sur du code réel restent moins bonnes que des résultats optimistes des recherches précédentes.

Automating code security analysis remains a major challenge, especially with the emergence of large language models (LLMs), which are the result of significant advancements in artificial intelligence (AI), such as the ChatGPT chatbot. This thesis aims to evaluate the effectiveness of ChatGPT in identifying vulnerabilities, classifying each vulnerability by its CWE type, locating vulnerable lines, and suggesting appropriate fixes within complete source codes written in various programming languages derived from real CVEs scenarios and concrete software projects. This process simulates an instant interaction in the form of a dialogue, enabling the analysis of entire codebases for all tasks simultaneously rather than testing each task independently, thereby preserving the targeted code’s context. We highlight its strengths and limitations, both before and after the end of its training, and compare it to two otherLLMs, DeepSeek and Llama. ChatGPT’s performance varies depending on tasks and languages, improving after September 2021 for some but deteriorating for others. Compared to other LLMs, ChatGPT was outperformed in certain security tasks and languages, while in other cases, it outperformed its counterparts. However, all three models are on equal footing regarding the generation of false positives, and none succeeded in producing a fully accurate assessment. Additionally, the second round of vulnerability verification was inconclusive for all three models regarding the localization of vulnerable lines, except for Llama, which outperformed ChatGPT and DeepSeek in confirming the existence of vulnerabilities in all cases. Overall, LLMs are not yet reliable for program security analysis, as their performance on real-world code falls short of the optimistic results reported in prior research.

Type de document: Thèse (Mémoire)
Directeur de mémoire/thèse: Khoury, Raphaël
Mots-clés libres: ChatGPT; LLM; Vulnérabilités; Sécurité du code
Départements et école, unités de recherche et services: Informatique et ingénierie
Date de dépôt: 14 mai 2025 12:38
Dernière modification: 14 mai 2025 12:38
URI: https://di.uqo.ca/id/eprint/1786

Gestion Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt