Εξερευνώντας τον αντίκτυπο των Βοηθών AI όπως το GitHub Copilot στην ασφάλεια κώδικα

Μια ομάδα ερευνητών από το Πανεπιστήμιο του Στάνφορντ μελέτησε τον αντίκτυπο της χρήσης ευφυών βοηθών κατά τη σύνταξη κώδικα στην εμφάνιση τρωτών σημείων στον κώδικα. Εξετάσαμε λύσεις που βασίζονται στην πλατφόρμα μηχανικής εκμάθησης OpenAI Codex, όπως το GitHub Copilot, οι οποίες σας επιτρέπουν να δημιουργείτε αρκετά σύνθετα μπλοκ κώδικα, έως και έτοιμες λειτουργίες. Οι ανησυχίες σχετίζονται με το γεγονός ότι εφόσον ο πραγματικός κώδικας από δημόσια αποθετήρια GitHub, συμπεριλαμβανομένων εκείνων που περιέχουν τρωτά σημεία, χρησιμοποιήθηκε για την εκπαίδευση του μοντέλου μηχανικής εκμάθησης, ο συνθετικός κώδικας μπορεί να επαναλάβει σφάλματα και να προτείνει κώδικα που περιέχει ευπάθειες και επίσης δεν λαμβάνει υπόψη την ανάγκη διενέργειας πρόσθετων ελέγχων κατά την επεξεργασία εξωτερικών δεδομένων.

Στη μελέτη συμμετείχαν 47 εθελοντές με διαφορετική εμπειρία στον προγραμματισμό - από φοιτητές έως επαγγελματίες με δεκαετή εμπειρία. Οι συμμετέχοντες χωρίστηκαν σε δύο ομάδες - πειραματικές (33 άτομα) και ελέγχου (14 άτομα). Και οι δύο ομάδες είχαν πρόσβαση σε οποιεσδήποτε βιβλιοθήκες και πόρους του Διαδικτύου, συμπεριλαμβανομένης της χρήσης έτοιμων παραδειγμάτων από το Stack Overflow. Στην πειραματική ομάδα δόθηκε η ευκαιρία να χρησιμοποιήσει τον βοηθό AI.

Σε κάθε συμμετέχοντα δόθηκαν 5 εργασίες που σχετίζονται με τη σύνταξη κώδικα στις οποίες είναι δυνητικά εύκολο να κάνει λάθη που οδηγούν σε τρωτά σημεία. Για παράδειγμα, υπήρχαν εργασίες για τη σύνταξη λειτουργιών κρυπτογράφησης και αποκρυπτογράφησης, τη χρήση ψηφιακών υπογραφών, την επεξεργασία δεδομένων που εμπλέκονται στο σχηματισμό διαδρομών αρχείων ή ερωτημάτων SQL, τον χειρισμό μεγάλων αριθμών σε κώδικα C, την επεξεργασία των εισροών που εμφανίζονται σε ιστοσελίδες. Για να εξεταστεί ο αντίκτυπος των γλωσσών προγραμματισμού στην ασφάλεια του κώδικα που λαμβάνεται κατά τη χρήση βοηθών AI, οι εργασίες κάλυψαν Python, C και JavaScript.

Ως αποτέλεσμα, διαπιστώθηκε ότι οι συμμετέχοντες που χρησιμοποίησαν έναν έξυπνο βοηθό τεχνητής νοημοσύνης με βάση το μοντέλο codex-davinci-002 παρήγαγαν σημαντικά λιγότερο ασφαλή κώδικα από τους συμμετέχοντες που δεν χρησιμοποιούσαν βοηθό τεχνητής νοημοσύνης. Σε γενικές γραμμές, μόνο το 67% των συμμετεχόντων στην ομάδα που χρησιμοποιούσε τον βοηθό τεχνητής νοημοσύνης ήταν σε θέση να παράσχει έναν σωστό και ασφαλή κωδικό, ενώ στην άλλη ομάδα το ποσοστό αυτό ήταν 79%.

Ταυτόχρονα, οι δείκτες αυτοεκτίμησης αντιστράφηκαν - οι συμμετέχοντες που χρησιμοποίησαν τον βοηθό AI πίστευαν ότι ο κώδικάς τους θα ήταν πιο ασφαλής από εκείνον των συμμετεχόντων από την άλλη ομάδα. Επιπλέον, σημειώθηκε ότι οι συμμετέχοντες που εμπιστεύονταν λιγότερο τον βοηθό τεχνητής νοημοσύνης και αφιέρωσαν περισσότερο χρόνο αναλύοντας και κάνοντας αλλαγές στις δεδομένες υποδείξεις, παρουσίασαν λιγότερες ευπάθειες στον κώδικα.

Για παράδειγμα, ο κώδικας που αντιγράφηκε από τις κρυπτογραφικές βιβλιοθήκες περιείχε πιο ασφαλείς προεπιλεγμένες τιμές παραμέτρων από τον κωδικό που πρότεινε ο βοηθός AI. Επίσης, κατά τη χρήση του βοηθού AI, διορθώθηκε η επιλογή λιγότερο αξιόπιστων αλγορίθμων κρυπτογράφησης και η απουσία ελέγχου ταυτότητας των επιστρεφόμενων τιμών. Στην εργασία χειρισμού αριθμού C, ο κώδικας που γράφτηκε χρησιμοποιώντας τον βοηθό AI είχε περισσότερα σφάλματα με αποτέλεσμα την υπερχείλιση ακεραίων.

Επιπρόσθετα, μπορεί να σημειωθεί παρόμοια μελέτη από ομάδα από το Πανεπιστήμιο της Νέας Υόρκης, που διεξήχθη τον Νοέμβριο με τη συμμετοχή 58 φοιτητών, από τους οποίους ζητήθηκε να εφαρμόσουν μια δομή για την επεξεργασία μιας λίστας αγορών στο C. Τα αποτελέσματα έδειξαν αμελητέο αντίκτυπο του βοηθού AI στην ασφάλεια κώδικα - οι χρήστες που χρησιμοποίησαν τον βοηθό AI έκαναν, κατά μέσο όρο, περίπου 10% περισσότερα σφάλματα που σχετίζονται με την ασφάλεια.

Εξερευνώντας τον αντίκτυπο των Βοηθών AI όπως το GitHub Copilot στην ασφάλεια κώδικα


Πηγή: opennet.ru

Προσθέστε ένα σχόλιο