Η Google ολοκλήρωσε ένα πιλοτικό έργο χρησιμοποιώντας το Gemini για να ξαναγράψει ευρέως αναπτυγμένες βιβλιοθήκες C στο Rust — και το πείραμα απέδωσε με τρόπο που κανείς δεν είχε σχεδιάσει. Λίγο αφότου η εταιρεία μετέφερε τα συστήματα παραγωγής της σε μια δημιουργημένη από AI, ασφαλή για μνήμη επανεγγραφή του giflib της βιβλιοθήκης επεξεργασίας GIF, αποκαλύφθηκε μια νέα ευπάθεια εγγραφής σωρού εκτός ορίων στον αρχικό κώδικα C, που εκχωρήθηκε σε CVE-2026-26740. Τα συστήματα της Google είχαν ήδη ανοσία.

Η εταιρεία ουσιαστικά εξουδετέρωσε μια ευπάθεια μηδενικής ημέρας μέσω της αρχιτεκτονικής αντί της ενημέρωσης κώδικα. Όπως εξήγησε η ομάδα μηχανικών ασφαλείας της Google σε μια ανάρτηση στο ιστολόγιο Bug Hunters, η ομάδα δεν γνώριζε την εκκρεμή αποκάλυψη κατά την επανεγγραφή — η προστασία ήταν μια δομική παρενέργεια της εξάλειψης του μη ασφαλούς για τη μνήμη κώδικα. Για περισσότερα σχετικά με τον τρόπο με τον οποίο η τεχνητή νοημοσύνη αναδιαμορφώνει την [έρευνα και μηχανική AI] (https://aibuzzwire.news), ακολουθήστε το AI Buzz Wire.

Γιατί η ασφάλεια της μνήμης έχει σημασία τώρα

Οι ευπάθειες στην ασφάλεια της μνήμης αντιπροσωπεύουν περίπου το 70% των τρωτών σημείων στις βάσεις κωδικών C και C++, σύμφωνα με την έρευνα της ίδιας της Google. Οι βιβλιοθήκες τρίτων είναι ένα ιδιαίτερα αδύναμο σημείο επειδή αναλύουν τακτικά μη αξιόπιστα δεδομένα. Ταυτόχρονα, το διάστημα μεταξύ της ανακάλυψης ευπάθειας και της δημιουργίας όπλων συνεχίζει να συρρικνώνεται - οι επιτιθέμενοι, υποβοηθούμενοι όλο και περισσότερο από την ίδια την τεχνητή νοημοσύνη, κινούνται ταχύτερα από τους παραδοσιακούς κύκλους ενημέρωσης κώδικα.

Η Google έχει υποστηρίξει εδώ και καιρό μια στρατηγική "Ασφαλούς Κωδικοποίησης" που δίνει προτεραιότητα σε γλώσσες που είναι ασφαλείς για τη μνήμη, όπως η Rust. Το άλυτο πρόβλημα είναι η τεράστια εγκατεστημένη βάση εξαρτήσεων C και C++ που δεν μπορούν απλά να διαγραφούν. Ο πιλότος έκανε μια άμεση ερώτηση: μπορεί ένα LLM να μετατρέψει γρήγορα αυτές τις εξαρτήσεις σε Rust χωρίς να σπάσει τίποτα;

Ο στόχος: giflib

Η Google επέλεξε το giflib, μια ευρέως χρησιμοποιούμενη βιβλιοθήκη επεξεργασίας εικόνων GIF που αναπτύχθηκε αρχικά από τον Eric S. Raymond. Η βιβλιοθήκη προσέφερε ένα ιδανικό προφίλ πολυπλοκότητας για μια πρώτη προσπάθεια: περίπου 3.000 γραμμές κώδικα, χωρίς βελτιστοποιήσεις SIMD ή συναρμολόγησης και μια σταθερή βάση κώδικα. Ουσιαστικά, το giflib επεξεργάζεται συχνά αναξιόπιστα δεδομένα σε περιβάλλοντα χωρίς περιβάλλον άμμου — ακριβώς για το είδος των επιθέσεων που ανησυχούν περισσότερο οι ομάδες ασφαλείας επιφανειών.

Ο στόχος ήταν φιλόδοξος: να δημιουργήσουμε ένα σύστημα αντικατάστασης drop-in συμβατό με ABI, ασφαλές για μνήμη, το οποίο θα μπορούσε να αναπτυχθεί σε όλη την υποδομή παραγωγής της Google με μηδενική διακοπή στις εξαρτημένες υπηρεσίες. Η αρχική μετάφραση της λογικής της βιβλιοθήκης ολοκληρώθηκε γρήγορα με τη βοήθεια LLM, αλλά η ομάδα επισήμανε δύο απαιτήσεις που αποδείχθηκαν καθοριστικές: προσεκτική διαχείριση του ορίου FFI — κύκλος ζωής του δείκτη και σημασιολογία ιδιοκτησίας του Rust στη διεπαφή με υπάρχοντες καλούντες C — και αυτό που η Google αποκαλεί «το κοινωνικό στοιχείο της ασφάλειας», την ανθρώπινη εμπιστοσύνη που απαιτείται για την ανάπτυξη υπηρεσιών AI.

Το γάντι επικύρωσης

Για να κερδίσει την εμπιστοσύνη της παραγωγής, η εφαρμογή Rust πέρασε από εξαντλητικές δοκιμές:

  • Δοκιμή παλινδρόμησης μαζικής κλίμακας: Επικυρώθηκε σε σχέση με ένα σύνολο δεδομένων με περισσότερα από 30 εκατομμύρια GIF πραγματικού κόσμου, επιβεβαιώνοντας εξόδους πανομοιότυπες με την αρχική υλοποίηση
  • Διαφορική ασάφεια: Ένα fuzzer original-versus-rust λειτούργησε συνεχώς για περισσότερες από έξι ημέρες και περισσότερες από 200 εκατομμύρια επαναλήψεις χωρίς να βρει λογικές αποκλίσεις
  • Αντίπαλη αναθεώρηση τεχνητής νοημοσύνης: Εξειδικευμένες προτροπές LLM χρησιμοποιήθηκαν για την αναζήτηση λεπτών διαφορών συμπεριφοράς μεταξύ των δύο βάσεων κωδικών που μπορεί να χάσουν οι παραδοσιακές δοκιμές

Ο αγωγός απέδειξε την αξία του πριν από την ανάπτυξη. Εντόπισε μια περίπτωση ακμής στον αποκωδικοποιητή LZW και — πιο συγκεκριμένα — αποκάλυψε μια προϋπάρχουσα ευπάθεια εγγραφής εκτός ορίων που είχε εισαχθεί από μια εσωτερική ενημερωμένη έκδοση κώδικα παλαιού τύπου της Google στην αρχική πηγή C, την οποία η ομάδα διόρθωσε στην επανεγγραφή Rust.

Η απόδοση δεν υπέφερε

Μια κοινή αντίρρηση για τις γλώσσες που είναι ασφαλείς για τη μνήμη είναι το κόστος του ελέγχου των ορίων χρόνου εκτέλεσης. Η παρακολούθηση της Google σε όλες τις παγκόσμιες υπηρεσίες επεξεργασίας εικόνας της έδειξε ότι η εφαρμογή Rust ήταν ουδέτερη ως προς την απόδοση σε σύγκριση με την αρχική C — ένα αποτέλεσμα που η εταιρεία λέει ότι έχει παρατηρήσει επανειλημμένα στις μεταφορές Rust.

Υπήρξε ένα απροσδόκητο μπόνους. Επειδή η βιβλιοθήκη Rust είναι κατασκευασμένη με ασφάλεια στη μνήμη, η Google μπόρεσε να παροπλίσει το sandboxing με ένταση πόρων που χρειάζονταν προηγουμένως ορισμένες υπηρεσίες παραγωγής για να απομονώσουν τη βιβλιοθήκη C. Αυτή η αρχιτεκτονική απλοποίηση οδήγησε σε σημαντική μείωση της καθυστέρησης της ουράς για εργασίες αποκωδικοποίησης εικόνας.

Ανοιχτού κώδικα — Με ειλικρινείς προειδοποιήσεις

Η Google δημοσίευσε το Rust rewrite στη διεύθυνση github.com/google/giflib-rs και συνεισφέρει τα ευρήματά της στην κοινότητα. Η εταιρεία πιστώνει επίσης συμπληρωματικές προσπάθειες ανθρωποκεντρικές, όπως η χειροκίνητη επανεγγραφή του zlib στο Rust από το Trifecta Tech Foundation με σημαντικά κέρδη απόδοσης, ως μέρος ενός ευρύτερου οικοσυστήματος λύσεων.

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

Η μεγαλύτερη εικόνα

Το πιλοτικό είναι μία από τις πιο σαφείς επιδείξεις μέχρι τώρα ότι τα LLM μπορούν να προσφέρουν βελτιώσεις δομικής ασφάλειας σε κλίμακα, όχι μόνο προτάσεις κώδικα. Συνδυάζοντας την ταχύτητα της μετάφρασης που βασίζεται σε LLM με διαφορικές δοκιμές και αναθεώρηση των ορίων ασφαλείας από τον άνθρωπο, υποστηρίζει η Google, ολόκληρες κατηγορίες τρωτών σημείων μπορούν να αποσυρθούν από την υποδομή παραγωγής — προτού κάποιος μάθει ποιο συγκεκριμένο CVE θα ακολουθήσει.

Πηγή: Ιστολόγιο Google Bug Hunters, "Scaling Memory Safety: AI-Assisted Rewrite of C/C++ Dependencies to Rust."

---

Μείνετε μπροστά από την τεχνητή νοημοσύνη

Λάβετε τα τελευταία νέα, αναλύσεις και ανακαλύψεις AI — όλα σε ένα μέρος.

Διαβάστε περισσότερα νέα AI →