Google telah menyelesaikan projek perintis menggunakan Gemini untuk menulis semula perpustakaan C yang digunakan secara meluas di Rust — dan percubaan itu membuahkan hasil dengan cara yang tidak dirancang oleh sesiapa pun. Tidak lama selepas syarikat itu memindahkan sistem pengeluarannya kepada penulisan semula giflib perpustakaan pemprosesan GIF yang dijana AI dan selamat memori, kerentanan penulisan timbunan luar sempadan baharu telah didedahkan dalam kod C asal, yang diberikan CVE-2026-26740. Sistem Google sudah pun kebal.
Syarikat itu dengan berkesan meneutralkan kelemahan sifar hari melalui seni bina dan bukannya menampal. Seperti yang dijelaskan oleh pasukan kejuruteraan keselamatan Google dalam catatan di blog Pemburu Pepijatnya, pasukan itu tidak mempunyai pengetahuan tentang pendedahan yang belum selesai semasa melakukan penulisan semula — perlindungan adalah kesan sampingan struktur menghapuskan kod yang tidak selamat memori. Untuk maklumat lanjut tentang cara AI membentuk semula penyelidikan dan kejuruteraan AI, ikuti AI Buzz Wire.
Mengapa Keselamatan Memori Penting Sekarang
Kerentanan keselamatan memori menyumbang kira-kira 70% daripada kelemahan dalam pangkalan kod C dan C++, menurut penyelidikan Google sendiri. Pustaka pihak ketiga adalah titik lemah tertentu kerana mereka menghuraikan data yang tidak dipercayai secara rutin. Pada masa yang sama, selang antara penemuan kelemahan dan penggunaan persenjataan terus mengecil — penyerang, yang semakin dibantu oleh AI sendiri, bergerak lebih pantas daripada kitaran tampalan tradisional.
Google telah lama menyokong strategi "Pengekodan Selamat" yang mengutamakan bahasa selamat memori seperti Rust. Masalah yang tidak dapat diselesaikan ialah pangkalan terpasang yang luas bagi kebergantungan C dan C++ yang tidak boleh dipadamkan begitu sahaja. Juruterbang bertanya soalan langsung: bolehkah LLM menukar kebergantungan tersebut kepada Rust dengan pantas tanpa melanggar apa-apa?
Sasaran: giflib
Google memilih giflib, perpustakaan pemprosesan imej GIF yang digunakan secara meluas yang pada asalnya dibangunkan oleh Eric S. Raymond. Perpustakaan menawarkan profil kerumitan yang ideal untuk percubaan pertama: kira-kira 3,000 baris kod, tiada pengoptimuman SIMD atau pemasangan dan pangkalan kod yang stabil. Secara kritis, giflib sering memproses data yang tidak dipercayai dalam persekitaran bukan kotak pasir — persis jenis serangan yang paling dibimbangkan oleh pasukan keselamatan permukaan.
Matlamatnya adalah bercita-cita tinggi: menghasilkan penggantian drop-in yang selamat memori, serasi dengan ABI yang boleh digunakan di seluruh infrastruktur pengeluaran Google tanpa gangguan sifar kepada perkhidmatan bergantung. Terjemahan awal logik perpustakaan dicapai dengan pantas dengan bantuan LLM, tetapi pasukan itu membenderakan dua keperluan yang terbukti menentukan: pengurusan berhati-hati sempadan FFI — kitaran hayat penunjuk dan semantik pemilikan Rust pada antara muka dengan pemanggil C sedia ada — dan apa yang Google panggil "komponen keselamatan sosial," amanah manusia yang diperlukan untuk menggunakan penulisan semula yang dijana AI ke dalam perkhidmatan kritikal.
Gauntlet Pengesahan
Untuk mendapatkan kepercayaan pengeluaran, pelaksanaan Rust telah melalui ujian menyeluruh:
- Ujian regresi berskala besar: Disahkan terhadap set data lebih daripada 30 juta GIF dunia sebenar, mengesahkan output yang sama dengan pelaksanaan asal
- Kabur pembezaan: Fuzzer asal lawan-Karat berjalan berterusan selama lebih enam hari dan lebih daripada 200 juta lelaran tanpa menemui sebarang sisihan logik
- Semakan AI Adversarial: Gesaan LLM khusus digunakan untuk memburu perbezaan tingkah laku halus antara dua pangkalan kod yang mungkin terlepas daripada ujian tradisional
Saluran paip itu membuktikan nilainya sebelum digunakan. Ia mengenal pasti kes kelebihan dalam penyahkod LZW dan — lebih ketara — mendedahkan kelemahan penulisan luar sempadan yang sedia ada yang telah diperkenalkan oleh tampung legasi dalaman Google kepada sumber C asal, yang telah diperbetulkan oleh pasukan dalam penulisan semula Rust.
Prestasi Tidak Menderita
Bantahan biasa terhadap bahasa selamat memori ialah kos semakan had masa jalan. Pemantauan Google merentas perkhidmatan pemprosesan imej globalnya menunjukkan pelaksanaan Rust adalah neutral prestasi berbanding dengan asal C — hasil yang dikatakan syarikat itu telah diperhatikan berulang kali dalam migrasi Rust.
Terdapat bonus yang tidak dijangka. Oleh kerana pustaka Rust selamat memori melalui pembinaan, Google dapat menyahtaumikan kotak pasir intensif sumber yang diperlukan oleh sesetengah perkhidmatan pengeluaran sebelum ini untuk mengasingkan perpustakaan C. Penyederhanaan seni bina itu menghasilkan pengurangan ketara dalam kependaman ekor untuk tugas penyahkodan imej.
Sumber Terbuka — Dengan Kaveat Jujur
Google telah menerbitkan tulisan semula Rust di github.com/google/giflib-rs dan menyumbangkan penemuannya kembali kepada komuniti. Syarikat itu juga menghargai usaha yang diterajui manusia yang saling melengkapi, seperti penulisan semula manual Trifecta Tech Foundation bagi zlib ke dalam Rust dengan peningkatan prestasi yang ketara, sebagai sebahagian daripada ekosistem penyelesaian yang lebih luas.
Kaveat patut diberi perhatian. Penulisan semula memerlukan sejumlah besar data dunia sebenar atau set ujian sedia ada yang kukuh untuk mengesahkan kesetaraan tingkah laku, dan menyimpang daripada projek huluan dengan menukar bahasa memerlukan kos penyelenggaraan sebenar — terutamanya untuk kebergantungan dalam pembangunan aktif. Terjemahan berbantukan AI, dengan kata lain, memecut tetapi tidak menggantikan pertimbangan kejuruteraan.
Gambaran Lebih Besar
Perintis adalah salah satu demonstrasi yang paling jelas lagi bahawa LLM boleh menyampaikan peningkatan keselamatan struktur pada skala, bukan hanya cadangan kod. Dengan menggabungkan kelajuan terjemahan didorong LLM dengan ujian pembezaan dan semakan pakar manusia tentang sempadan keselamatan, Google berpendapat, keseluruhan kelas kelemahan boleh dihentikan daripada infrastruktur pengeluaran — sebelum sesiapa mengetahui CVE khusus yang akan datang seterusnya.
Sumber: blog Google Bug Hunters, "Scaling Memory Safety: AI-Assisted Rewrites of C/C++ Dependencies to Rust."
---
Kekal Mendahului AIDapatkan berita, analisis dan penemuan terkini AI — semuanya di satu tempat.
Baca lebih banyak berita AI →