Ηγέτες σκέψης
Το AI-Generated Κώδικας Είναι Εδώ για να Μείνει. Είμαστε Λιγότερο Ασφαλείς ως Αποτέλεσμα;

Η προγραμματισμός το 2025 δεν αφορά το να κοπιάζουμε πάνω σε τμήματα ή να ξοδεύουμε πολλές ώρες σε αποσφαλμάτωση. Είναι ένα διαφορετικό στυλ. Ο κώδικας που παράγεται από το AI θα είναι η πλειοψηφία του κώδικα σε μελλοντικά προϊόντα και έχει γίνει ένα απαραίτητο εργαλείο για τον σύγχρονο προγραμματιστή. Ονομάζεται “vibe coding”, η χρήση κώδικα που παράγεται από εργαλεία όπως το Github Copilot, το Amazon CodeWhisperer και το Chat GPT θα είναι η κανόνα και όχι η εξαίρεση στην μείωση του χρόνου κατασκευής και την αύξηση της αποδοτικότητας. Αλλά το εάν η ευκολία του κώδικα που παράγεται από το AI κρύβει ένα σκοτεινότερο κίνδυνο; Το γεννητικό AI αυξάνει τις ευπαθειές στην ασφάλεια της αρχιτεκτονικής ή υπάρχουν τρόποι για τους προγραμματιστές να “vibe code” με ασφάλεια;
“Τα περιστατικά ασφαλείας ως αποτέλεσμα ευπαθειών στο κώδικα που παράγεται από το AI είναι ένα από τα λιγότερο συζητημένα θέματα σήμερα,” είπε ο Sanket Saurav, ιδρυτής της DeepSource. “Υπάρχει ακόμη πολύ κώδικας που παράγεται από πλατφόρμες όπως το Copilot ή το Chat GPT που δεν υποβάλλονται σε ανθρώπινη αναθεώρηση, και οι παραβιάσεις ασφαλείας μπορούν να είναι καταστροφικές για τις εταιρείες που επηρεάζονται.”
Ο προγραμματιστής μιας ανοικτής πηγής πλατφόρμας που χρησιμοποιεί στατική ανάλυση για την ποιότητα και την ασφάλεια του κώδικα, ο Saurav ανέφερε την επίθεση SolarWinds το 2020 ως το είδος “γεγονότος εξαφάνισης” που οι εταιρείες θα μπορούσαν να αντιμετωπίσουν εάν δεν είχαν εγκαταστήσει τα σωστά φραγμούς ασφαλείας όταν χρησιμοποιούν κώδικα που παράγεται από το AI. “Η στατική ανάλυση ermögνίζει την αναγνώριση ασφαλών προτύπων κώδικα και κακών πρακτικών προγραμματισμού,” είπε ο Saurav.
Επιθέσεις Μέσω της Βιβλιοθήκης
Οι απειλές ασφαλείας για τον κώδικα που παράγεται από το AI μπορούν να λάβουν εφευρετικές μορφές και μπορούν να στοχεύουν τις βιβλιοθήκες. Οι βιβλιοθήκες στην προγραμματισμό είναι χρήσιμος επαναχρησιμοποιήσιμος κώδικας που οι προγραμματιστές χρησιμοποιούν για να σώσουν χρόνο όταν γράφουν.
Λύνουν συχνά κανονικές εργασίες προγραμματισμού όπως τη διαχείριση των αλληλεπιδράσεων της βάσης δεδομένων και βοηθούν τους προγραμματιστές να μην ξαναγράψουν τον κώδικα από την αρχή.
Μια τέτοια απειλή κατά των βιβλιοθηκών είναι γνωστή ως “hallucinations”, όπου ο κώδικας που παράγεται από το AI εμφανίζει μια ευπάθεια μέσω της χρήσης φανταστικών βιβλιοθηκών. Μια ακόμη πρόσφατη γραμμή επιθέσεων στον κώδικα που παράγεται από το AI είναι γνωστή ως “slopsquatting” όπου οι επιτιθέμενοι μπορούν να στοχεύσουν trực tiếp τις βιβλιοθήκες για να διεισδύσουν σε μια βάση δεδομένων.
Η αντιμετώπιση αυτών των απειλών με σαφήνεια μπορεί να απαιτήσει περισσότερη προσοχή παρά ό,τι μπορεί να υποδηλώνεται από τον όρο “vibe coding”. Μιλώντας από το γραφείο του στο Université du Québec en Outaouais, ο καθηγητής Rafael Khoury έχει ακολουθήσει στενά τις εξελίξεις στην ασφάλεια του κώδικα που παράγεται από το AI και είναι βέβαιος ότι νέες τεχνικές θα βελτιώσουν την ασφάλεια του.
Σε μια εργασία του 2023, ο καθηγητής Khoury διερεύνησε τα αποτελέσματα της ζήτησης του ChatGPT να παράγει κώδικα χωρίς οποιαδήποτε πρόσθετη πληροφορία, μια πρακτική που οδήγησε σε ασφαλή κώδικα. Αυτές ήταν οι πρώτες μέρες του Chat GPT και ο Khoury είναι τώρα αισιόδοξος για το μέλλον. “Από τότε, υπάρχουν πολλές έρευνες υπό αναθεώρηση και το μέλλον φαίνεται να είναι μια στρατηγική για τη χρήση του LLM που θα μπορούσε να οδηγήσει σε καλύτερα αποτελέσματα,” είπε ο Khoury, προσθέτοντας ότι “η ασφάλεια γίνεται καλύτερη, αλλά δεν βρισκόμαστε σε μια θέση όπου μπορούμε να δώσουμε μια άμεση εντολή και να λάβουμε ασφαλή κώδικα.”
Ο Khoury συνέχισε να περιγράψει μια υποσχόμενη μελέτη όπου παρήγαγαν κώδικα και στη συνέχεια έστειλαν αυτόν τον κώδικα σε ένα εργαλείο που αναλύει τον κώδικα για ευπαθειές. Η μέθοδος που χρησιμοποιείται από το εργαλείο ονομάζεται Finding Line Anomalies with Generative AI (ή FLAG για συντομία).
“Αυτά τα εργαλεία στέλνουν σημαίες που μπορεί να αναγνωρίσουν μια ευπάθεια στη γραμμή 24, για παράδειγμα, η οποία ένας προγραμματιστής μπορεί στη συνέχεια να στείλει πίσω στο LLM με τις πληροφορίες και να ζητήσει να το εξετάσει και να διορθώσει το πρόβλημα,” είπε.
Ο Khoury πρότεινε ότι αυτή η διαδικασία μπορεί να είναι κρίσιμη για τη διόρθωση του κώδικα που είναι ευάλωτος σε επιθέσεις. “Αυτή η μελέτη δείχνει ότι με πέντε επαναλήψεις, μπορείτε να μειώσετε τις ευπαθειές στο μηδέν.”
Αυτό όμως, η μέθοδος FLAG δεν είναι χωρίς προβλήματα, ιδιαίτερα καθώς μπορεί να οδηγήσει σε ψευδείς θετικούς και ψευδείς αρνητικούς. Επιπλέον, υπάρχουν επίσης περιορισμοί στο μήκος του κώδικα που μπορούν να δημιουργήσουν οι LLMs και η ενέργεια της σύνδεσης τμημάτων μπορεί να προσθέσει ένα επιπλέον στρώμα κινδύνου.
Διατήρηση του Ανθρώπου στη Διαδικασία
Ορισμένοι παίκτες στο “vibe coding” συνιστώνται να θραύσουν τον κώδικα και να διασφαλίσουν ότι οι άνθρωποι παραμένουν στο κέντρο των πιο σημαντικών επεξεργασιών του κώδικα. “Όταν γράφετε κώδικα, σκεφτείτε σε όρους commits,” είπε ο Kevin Hou, αρχηγός της προϊόντος μηχανικής στο Windsurf, εξαίροντας τη σοφία των μικρών τμημάτων.
“Σπάστε ένα μεγάλο έργο σε μικρότερα τμήματα που θα ήταν κανονικά commits ή αιτήσεις pull. Έχετε το agent να χτίσει το μικρότερο μέγεθος, μια απομονωμένη λειτουργία κάθε φορά. Αυτό μπορεί να διασφαλίσει ότι η έξοδος του κώδικα είναι καλά ελεγμένη και καλά κατανοητή,” πρόσθεσε.
Στην εποχή της γραφής, το Windsurf έχει προσεγγίσει πάνω από 5 δισεκατομμύρια γραμμές κώδικα που παράγονται από το AI (μέσω του προηγούμενου ονόματος Codeium). Ο Hou είπε ότι το πιο επείγον ερώτημα που απαντούσαν ήταν εάν ο προγραμματιστής ήταν συνειδητός της διαδικασίας.
“Το AI είναι ικανό να κάνει πολλές επεξεργασίες σε πολλά αρχεία ταυτόχρονα, οπότε πώς μπορούμε να διασφαλίσουμε ότι ο προγραμματιστής είναι πραγματικά συνειδητός και αναθεωρεί τι συμβαίνει αντί να αποδέχεται τυφλά όλα;” ρώτησε ο Hou, προσθέτοντας ότι είχαν επενδύσει πολύ στην UX του Windsurf “με πολλά直觀 ways να παραμείνει πλήρως σε συντονισμό με το τι κάνει το AI και να διατηρήσει τον άνθρωπο πλήρως στη διαδικασία.”
Γι’ αυτό, καθώς το “vibe coding” γίνεται πιο κυρίαρχο, οι άνθρωποι στη διαδικασία πρέπει να είναι πιο προσεκτικοί για τις ευπαθειές του. Από “hallucinations” σε “slopsquatting” απειλές, οι προκλήσεις είναι πραγματικές, αλλά così και οι λύσεις.
Νέες εργαλεία όπως η στατική ανάλυση, οι επαναληπτικές βελτιώσεις μεθόδων όπως το FLAG, και ο προσεκτικός σχεδιασμός UX δείχνουν ότι η ασφάλεια και η ταχύτητα δεν πρέπει να είναι αμοιβαία αποκλειστικές.
Το κλειδί βρίσκεται στη διατήρηση των προγραμματιστών ενεργών, ενημερωμένων και σε έλεγχο. Με τους σωστούς φραγμούς ασφαλείας και μια στάση “πιστεύω αλλά ελέγχω”, ο κώδικας που παράγεται από το AI μπορεί να είναι και επαναστατικός και υπεύθυνος.












