title: Vulnerable code generation by Large Language Models

title: Παραγωγή ευάλωτου κώδικα από Μεγάλα Γλωσσικά Μοντέλα
Creators: name: Λυρωνης Σταυρος
Publisher: name: Technical University of Crete
Year: 2024

description: The vast amount of publicly available data and the improvements in the field of neural networks, combined with the limitless computational power of GPUs, led to the creation of a new paradigm of natural language processing models, also known as Large Language Models (LLMs). Beside the short period of LLM models’ availability, platforms such as ChatGPT and Bard have demonstrated impressive usability and effectiveness in handling text based tasks, such as passing the exams in various domains, writing essays, songs and poems, orchestrating marketing campaigns and more. Automated generation of source code based on user queries is one of these tasks, with a vast amount of developers having already adopted LLMs, in some form, into their working environments. In this thesis we demonstrate the risks correlated to LLM models’ truthfulness in terms of source code generation. More specifically, we manage to identify common and well-known vulnerabilities in the source code generated by most popular LLMs (ChatGPT, Bard and Copilot). Towards this goal, we deploy a series of interactive experiments based on role playing where LLMs are required to generate source code for naive developers that completely trust the model’s outcome. In order to evaluate security of the generated content we exploit different case scenarios where we inform the model with the concerns towards security. Our analysis reveals that current LLMs by default lack security concerns and provide vulnerable source code in most cases. Additionally, we manage to achieve secure code generation only in the case where we specifically ask LLMs to provide a secure solution via query manipulation. Finally, we argue that the usage of LLMs for critical cybersecurity tasks should be avoided, however they can be used for educational purposes or with proper query manipulation towards enforcing the secure implementation.
description: Ο τεράστιος όγκος δημοσίως διαθέσιμων δεδομένων και οι βελτιώσεις στον τομέα των νευρωνικών δικτύων, σε συνδυασμό με την απεριόριστη υπολογιστική ισχύ των GPU, οδήγησαν στη δημιουργία ενός νέου παραδείγματος μοντέλων επεξεργασίας φυσικής γλώσσας, γνωστών και ως Large Language Models (LLM). Παρότι τα μοντέλα LLM έχουν γίνει διαθέσιμα πρόσφατα, πλατφόρμες όπως το ChatGPT και το Bard έχουν επιδείξει εντυπωσιακή χρηστικότητα και αποτελεσματικότητα στον χειρισμό εργασιών που βασίζονται σε κείμενο, όπως η επιτυχία στις εξετάσεις σε διάφορους τομείς, η συγγραφή δοκιμίων, τραγουδιών και ποιημάτων, η ενορχήστρωση εκστρατειών μάρκετινγκ και πολλά άλλα. Η αυτοματοποιημένη παραγωγή πηγαίου κώδικα με βάση ερωτήματα χρηστών είναι μία από αυτές τις εργασίες, με ένα τεράστιο πλήθος προγραμματιστών να έχουν ήδη υιοθετήσει τα LLM, σε κάποια μορφή, στο περιβάλλον εργασίας τους. Στην παρούσα εργασία παρουσιάζουμε τους κινδύνους που σχετίζονται με την αληθοφάνεια των μοντέλων LLM όσον αφορά τη δημιουργία πηγαίου κώδικα. Πιο συγκεκριμένα, καταφέρνουμε να εντοπίσουμε κοινές και γνωστές ευπάθειες στον πηγαίο κώδικα που παράγεται από τα πιο δημοφιλή LLM (ChatGPT, Bard και Copilot). Για την επίτευξη αυτού του στόχου, αναπτύσσου- με μια σειρά διαδραστικών πειραμάτων που βασίζονται σε παιχνίδια ρόλων, όπου τα LLM καλούνται να δημιουργήσουν πηγαίο κώδικα για αφελείς προγραμματιστές που εμπιστεύονται πλήρως το αποτέλεσμα του μοντέλου. Για να αξιολογήσουμε την ασφάλεια του παραγόμενου περιεχομένου αξιοποιούμε διάφορα σενάρια περιπτώσεων όπου ενημερώνουμε το μοντέλο με τις ανησυχίες προς την ασφάλεια. Η ανάλυσή μας αποκαλύπτει ότι τα υπάρχοντα LLM δεν έχουν ανησυχίες για την ασφάλεια εκ των προτέρων και παρέχουν ευάλωτο πηγαίο κώδικα στις περισσότερες περιπτώσεις. Επι- πλέον, καταφέρνουμε να επιτύχουμε ασφαλή παραγωγή κώδικα μόνο στην περίπτωση όπου ζητάμε ειδικά από τα LLM να παρέχουν μια ασφαλή λύση μέσω χειρισμού ε- ρωτημάτων. Τέλος, υποστηρίζουμε ότι η χρήση των LLMs για κρίσιμες εργασίες κυβερνοασφάλειας πρέπει να αποφεύγεται, ωστόσο μπορούν να χρησιμοποιηθούν για εκπαιδευτικούς σκοπούς ή με κατάλληλο χειρισμό ερωτημάτων προς την κατεύθυνση της επιβολής της ασφαλούς υλοποίησης.