Η χρήση μοντέλων μεγάλων γλωσσών (LLM) από τους προγραμματιστές λογισμικού προσφέρει μεγαλύτερη ευκαιρία από ό,τι πιστεύαμε προηγουμένως για τους εισβολείς να διανέμουν κακόβουλα πακέτα σε περιβάλλοντα ανάπτυξης, σύμφωνα με έρευνα που κυκλοφόρησε πρόσφατα.
Η μελέτη από τον προμηθευτή ασφαλείας LLM Lasso Security αποτελεί συνέχεια μιας έκθεσης του περασμένου έτους σχετικά με τις δυνατότητες οι επιτιθέμενοι κάνουν κατάχρηση της τάσης των LLM να έχουν παραισθήσεις, ή για τη δημιουργία φαινομενικά αληθοφανών αλλά όχι στοιχειωδών γεγονότων, αποτελέσματα ως απόκριση στη συμβολή του χρήστη.
Παραισθήσεις πακέτου AI
Η προηγούμενη μελέτη επικεντρώθηκε στην τάση του ChatGPT να κατασκευάζει τα ονόματα των βιβλιοθηκών κώδικα - μεταξύ άλλων κατασκευών - όταν οι προγραμματιστές λογισμικού ζήτησαν τη βοήθεια του chatbot με δυνατότητα AI σε ένα περιβάλλον ανάπτυξης. Με άλλα λόγια, το chatbot μερικές φορές έβγαζε συνδέσμους προς ανύπαρκτα πακέτα σε δημόσιους χώρους αποθήκευσης κώδικα, όταν ένας προγραμματιστής μπορεί να του ζητήσει να προτείνει πακέτα για χρήση σε ένα έργο.
Ο ερευνητής ασφαλείας Bar Lanyado, συγγραφέας της μελέτης και τώρα στο Lasso Security, διαπίστωσε ότι οι επιτιθέμενοι μπορούσαν εύκολα να ρίξουν ένα πραγματικό κακόβουλο πακέτο στην τοποθεσία στην οποία οδηγεί το ChatGPT και να του δώσουν το ίδιο όνομα με το πακέτο με παραισθήσεις. Οποιοσδήποτε προγραμματιστής που κατεβάζει το πακέτο με βάση τη σύσταση του ChatGPT θα μπορούσε στη συνέχεια να καταλήξει να εισάγει κακόβουλο λογισμικό στο περιβάλλον ανάπτυξής του.
του Lanyado έρευνα παρακολούθησης εξέτασε τη διάχυση του προβλήματος της παραίσθησης του πακέτου σε τέσσερα διαφορετικά μεγάλα γλωσσικά μοντέλα: GPT-3.5-Turbo, GPT-4, Gemini Pro (πρώην Bard) και Coral (Cohere). Επίσης, δοκίμασε την τάση κάθε μοντέλου να δημιουργεί πακέτα με ψευδαισθήσεις σε διαφορετικές γλώσσες προγραμματισμού και τη συχνότητα με την οποία δημιούργησαν το ίδιο πακέτο παραισθήσεων.
Για τις δοκιμές, ο Lanyado συνέταξε μια λίστα με χιλιάδες ερωτήσεις «πώς να» τις οποίες οι προγραμματιστές σε διαφορετικά περιβάλλοντα προγραμματισμού — python, node.js, go, .net, ruby — αναζητούν συνήθως βοήθεια από LLM σε περιβάλλοντα ανάπτυξης. Στη συνέχεια, ο Lanyado έκανε σε κάθε μοντέλο μια ερώτηση που σχετίζεται με την κωδικοποίηση καθώς και μια σύσταση για ένα πακέτο που σχετίζεται με την ερώτηση. Ζήτησε επίσης από κάθε μοντέλο να προτείνει 10 ακόμη πακέτα για να λύσει το ίδιο πρόβλημα.
Επαναλαμβανόμενα αποτελέσματα
Τα αποτελέσματα ήταν ανησυχητικά. Το εκπληκτικό 64.5% των «συζητήσεων» που είχε ο Lanyado με τους Διδύμους δημιούργησε πακέτα με παραισθήσεις. Με την Coral, αυτός ο αριθμός ήταν 29.1%. άλλα LLM όπως το GPT-4 (24.2%) και το GPT3.5 (22.5%) δεν τα πήγαν πολύ καλύτερα.
Όταν ο Lanyado ρώτησε κάθε μοντέλο το ίδιο σύνολο ερωτήσεων 100 φορές για να δει πόσο συχνά τα μοντέλα είχαν παραισθήσεις για τα ίδια πακέτα, διαπίστωσε ότι τα ποσοστά επανάληψης ήταν επίσης εντυπωσιακά. Ο Cohere, για παράδειγμα, πέταξε τα ίδια πακέτα με παραισθήσεις πάνω από το 24% του χρόνου. Chat GPT-3.5 και Gemini γύρω στο 14%, και GPT-4 στο 20%. Σε πολλές περιπτώσεις, διαφορετικά μοντέλα είχαν ψευδαισθήσεις για τα ίδια ή παρόμοια πακέτα. Ο μεγαλύτερος αριθμός τέτοιων μοντέλων με διασταυρούμενες ψευδαισθήσεις εμφανίστηκε μεταξύ GPT-3.5 και Gemini.
Ο Lanyado λέει ότι ακόμα κι αν διαφορετικοί προγραμματιστές έκαναν σε ένα LLM μια ερώτηση για το ίδιο θέμα αλλά έκαναν τις ερωτήσεις διαφορετικά, υπάρχει πιθανότητα το LLM να προτείνει το ίδιο πακέτο παραισθήσεων σε κάθε περίπτωση. Με άλλα λόγια, οποιοσδήποτε προγραμματιστής που χρησιμοποιεί ένα LLM για βοήθεια κωδικοποίησης πιθανότατα θα συναντούσε πολλά από τα ίδια πακέτα παραισθήσεων.
«Η ερώτηση θα μπορούσε να είναι εντελώς διαφορετική, αλλά σε ένα παρόμοιο θέμα, και η ψευδαίσθηση θα εξακολουθούσε να συμβαίνει, καθιστώντας αυτή την τεχνική πολύ αποτελεσματική», λέει ο Lanyado. «Στην τρέχουσα έρευνα, λάβαμε «επαναλαμβανόμενα πακέτα» για πολλές διαφορετικές ερωτήσεις και θέματα, ακόμη και για διαφορετικά μοντέλα, γεγονός που αυξάνει την πιθανότητα χρήσης αυτών των πακέτων με ψευδαισθήσεις».
Εύκολο στην εκμετάλλευση
Ένας εισβολέας οπλισμένος με τα ονόματα μερικών πακέτων με παραισθήσεις, για παράδειγμα, θα μπορούσε να ανεβάσει πακέτα με τα ίδια ονόματα στα κατάλληλα αποθετήρια γνωρίζοντας ότι υπάρχει μεγάλη πιθανότητα ένα LLM να κατευθύνει τους προγραμματιστές σε αυτό. Για να αποδείξει ότι η απειλή δεν είναι θεωρητική, ο Lanyado πήρε ένα πακέτο παραισθήσεων που ονομάζεται "huggingface-cli" που συνάντησε κατά τη διάρκεια των δοκιμών του και ανέβασε ένα άδειο πακέτο με το ίδιο όνομα στο αποθετήριο Hugging Face για μοντέλα μηχανικής μάθησης. Οι προγραμματιστές κατέβασαν αυτό το πακέτο περισσότερες από 32,000 φορές, λέει.
Από τη σκοπιά ενός παράγοντα απειλής, οι παραισθήσεις πακέτων προσφέρουν έναν σχετικά απλό φορέα για τη διανομή κακόβουλου λογισμικού. «Όπως [είδαμε] από τα αποτελέσματα της έρευνας, δεν είναι τόσο δύσκολο», λέει. Κατά μέσο όρο, όλα τα μοντέλα είχαν παραισθήσεις μαζί κατά 35% για σχεδόν 48,000 ερωτήσεις, προσθέτει ο Lanyado. Το GPT-3.5 είχε το χαμηλότερο ποσοστό παραισθήσεων. Ο Δίδυμος σημείωσε την υψηλότερη βαθμολογία, με μέση επαναληπτικότητα 18% και στα τέσσερα μοντέλα, σημειώνει.
Η Lanyado προτείνει στους προγραμματιστές να είναι προσεκτικοί όταν ενεργούν σύμφωνα με τις συστάσεις ενός πακέτου από ένα LLM όταν δεν είναι απολύτως σίγουροι για την ακρίβειά του. Λέει επίσης ότι όταν οι προγραμματιστές αντιμετωπίζουν ένα άγνωστο πακέτο ανοιχτού κώδικα, πρέπει να επισκεφτούν το αποθετήριο πακέτων και να εξετάσουν το μέγεθος της κοινότητάς του, τα αρχεία συντήρησής του, τα γνωστά του τρωτά σημεία και το συνολικό ποσοστό αφοσίωσης. Οι προγραμματιστές θα πρέπει επίσης να σαρώσουν το πακέτο σχολαστικά πριν το εισαγάγουν στο περιβάλλον ανάπτυξης.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://www.darkreading.com/application-security/pervasive-llm-hallucinations-expand-code-developer-attack-surface
- :είναι
- :δεν
- $UP
- 000
- 10
- 100
- 2%
- 22
- 24
- 29
- 32
- 35%
- 7
- a
- κατάχρηση
- Σύμφωνα με
- ακρίβεια
- απέναντι
- ηθοποιία
- πραγματικός
- Προσθέτει
- AI
- Όλα
- σχεδόν
- Επίσης
- μεταξύ των
- an
- και
- κάθε
- κατάλληλος
- ΕΙΝΑΙ
- ένοπλες
- γύρω
- AS
- ζητώ
- Βοήθεια
- At
- επίθεση
- εισβολέα
- συγγραφέας
- μέσος
- μπαρ
- βασίζονται
- BE
- πριν
- Καλύτερα
- μεταξύ
- μεγαλύτερος
- αλλά
- που ονομάζεται
- περίπτωση
- προσοχή
- chat
- chatbot
- ChatGPT
- κωδικός
- Κωδικοποίηση
- συνήθως
- κοινότητα
- Συντάχθηκε
- εντελώς
- συνομιλίες
- Κοράλλι
- θα μπορούσε να
- δημιουργημένο
- Ρεύμα
- αποδεικνύουν
- Εργολάβος
- προγραμματιστές
- Ανάπτυξη
- didn
- διαφορετικές
- διαφορετικά
- διανέμω
- διανομή
- Κατεβάσετε
- λήψεις
- Πτώση
- κατά την διάρκεια
- κάθε
- εύκολα
- εύκολος
- Αποτελεσματικός
- συνάντηση
- τέλος
- δέσμευση
- Περιβάλλον
- περιβάλλοντα
- Even
- εξετάζω
- Άσκηση
- Ανάπτυξη
- Εκμεταλλεύομαι
- Πρόσωπο
- λίγοι
- επικεντρώθηκε
- Για
- προηγουμένως
- Βρέθηκαν
- τέσσερα
- Συχνότητα
- συχνά
- από
- Gemini
- παράγουν
- παράγεται
- Δώστε
- Go
- καλός
- γειωμένο
- είχε
- συμβαίνω
- Σκληρά
- he
- βοήθεια
- υψηλότερο
- του
- Πως
- Πώς να
- HTTPS
- if
- in
- Σε άλλες
- Αυξήσεις
- εισαγωγή
- παράδειγμα
- σε
- εισάγοντας
- IT
- ΤΟΥ
- jpg
- Γνωρίζοντας
- γνωστός
- Γλώσσα
- Γλώσσες
- large
- Επίθετο
- Πέρυσι
- μάθηση
- βιβλιοθήκες
- Μου αρέσει
- πιθανότητα
- Πιθανός
- ΣΥΝΔΕΣΜΟΙ
- Λιστα
- LLM
- τοποθεσία
- χαμηλότερο
- μηχανή
- μάθηση μηχανής
- συντήρηση
- Κατασκευή
- κακόβουλο
- malware
- πολοί
- ενδέχεται να
- μοντέλο
- μοντέλα
- περισσότερο
- πλέον
- πολύ
- όνομα
- ονόματα
- Ανάγκη
- καθαρά
- κόμβος
- Node.js
- ανύπαρκτος
- Notes
- τώρα
- αριθμός
- συνέβη
- of
- προσφορά
- on
- ONE
- ανοίξτε
- ανοικτού κώδικα
- Ευκαιρία
- or
- ΑΛΛΑ
- έξω
- επί
- φόρμες
- πακέτο
- Packages
- ποσοστό
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- εύλογος
- Σημείο
- σημεία
- δυναμικού
- δώρα
- προηγουμένως
- Pro
- Πρόβλημα
- Προγραμματισμός
- γλώσσες προγραμματισμού
- σχέδιο
- δημόσιο
- Python
- ερώτηση
- Ερωτήσεις
- Τιμή
- Τιμές
- έλαβε
- πρόσφατα
- συνιστώ
- Σύσταση
- συστάσεις
- αρχεία
- σχετίζεται με
- σχετικά
- κυκλοφόρησε
- επαναλαμβανόμενη
- αναφέρουν
- Αποθήκη
- έρευνα
- ερευνητής
- απάντησης
- Αποτελέσματα
- s
- ίδιο
- πριόνι
- λέει
- σάρωση
- βαθμολογήθηκε
- ασφάλεια
- δείτε
- Επιδιώξτε
- φαινομενικώς
- σειρά
- διάφοροι
- θα πρέπει να
- παρόμοιες
- Μέγεθος
- λογισμικό
- Προγραμματιστές λογισμικού
- SOLVE
- μερικές φορές
- Πηγή
- άποψη
- καταπληκτικός
- Ακόμη
- ειλικρινής
- Μελέτη
- θέμα
- τέτοιος
- προτείνω
- Προτείνει
- βέβαιος
- Επιφάνεια
- τεχνική
- τάση
- δοκιμαστεί
- δοκιμές
- από
- ότι
- Η
- τους
- τότε
- θεωρητικός
- Εκεί.
- Αυτοί
- αυτοί
- αυτό
- διεξοδικά
- σκέψη
- χιλιάδες
- απειλή
- ώρα
- φορές
- προς την
- μαζι
- πήρε
- τοπικός
- ΣΥΝΟΛΙΚΑ
- ενοχλητικό
- άγνωστος
- Φορτώθηκε
- χρήση
- μεταχειρισμένος
- Χρήστες
- χρησιμοποιώντας
- πάροχος υπηρεσιών
- πολύ
- Επίσκεψη
- Θέματα ευπάθειας
- ήταν
- we
- ΛΟΙΠΌΝ
- ήταν
- πότε
- Ποιό
- με
- λόγια
- θα
- έτος
- zephyrnet