Google a finalizat un proiect pilot folosind Gemini pentru a rescrie biblioteci C implementate pe scară largă în Rust – iar experimentul a dat roade într-un mod pe care nimeni nu l-a planificat. La scurt timp după ce compania și-a migrat sistemele de producție la o rescrie generată de AI, sigură pentru memorie, a bibliotecii de procesare GIF giflib, o nouă vulnerabilitate de scriere în heap în afara limitelor a fost dezvăluită în codul C original, atribuit CVE-2026-26740. Sistemele Google erau deja imune.

Compania a neutralizat eficient o vulnerabilitate zero-day prin arhitectură, mai degrabă decât prin corecție. După cum a explicat echipa de inginerie de securitate a Google într-o postare pe blogul său Bug Hunters, echipa nu știa despre dezvăluirea în așteptare în timpul efectuării rescrierii – protecția a fost un efect secundar structural al eliminării codului nesigur pentru memorie. Pentru mai multe despre modul în care AI remodelează cercetarea și inginerie AI, urmați AI Buzz Wire.

De ce este importantă siguranța memoriei acum

Vulnerabilitățile de siguranță ale memoriei reprezintă aproximativ 70% dintre vulnerabilitățile din bazele de cod C și C++, potrivit cercetărilor proprii Google. Bibliotecile de la terți sunt un punct slab deosebit, deoarece analizează în mod obișnuit date nesigure. În același timp, intervalul dintre descoperirea vulnerabilităților și armamentul continuă să se micșoreze – atacatorii, asistați din ce în ce mai mult de inteligența artificială înșiși, se mișcă mai repede decât ciclurile tradiționale de patch-uri.

Google pledează de mult timp pentru o strategie de „Codare sigură” care acordă prioritate limbilor sigure pentru memorie precum Rust. Problema nerezolvată este baza vastă instalată de dependențe C și C++ care nu pot fi șterse pur și simplu. Pilotul a pus o întrebare directă: poate un LLM să convertească rapid acele dependențe în Rust fără a rupe nimic?

Ținta: giflib

Google a ales giflib, o bibliotecă de procesare a imaginilor GIF utilizată pe scară largă, dezvoltată inițial de Eric S. Raymond. Biblioteca a oferit un profil de complexitate ideal pentru o primă încercare: aproximativ 3.000 de linii de cod, fără optimizări SIMD sau de asamblare și o bază de cod stabilă. În mod critic, giflib prelucrează adesea date neîncrezătoare în medii fără sandbox - exact tipul de atac pentru care echipele de securitate la suprafață își fac cel mai mult griji.

Obiectivul a fost ambițios: producerea unui înlocuitor integrat, sigur pentru memorie, compatibil cu ABI, care ar putea fi implementat în infrastructura de producție a Google, fără întreruperi ale serviciilor dependente. Traducerea inițială a logicii bibliotecii a fost realizată rapid cu asistență LLM, dar echipa a semnalat două cerințe care s-au dovedit decisive: gestionarea atentă a limitei FFI - ciclul de viață al pointerului și semantica proprietății Rust la interfața cu apelanții C existenți - și ceea ce Google numește „componenta socială a securității”, încrederea umană necesară pentru implementarea serviciilor critice generate de AI.

Mănușul de validare

Pentru a câștiga încrederea în producție, implementarea Rust a trecut prin teste exhaustive:

  • Testare de regresie la scară de masă: Validată pe un set de date de peste 30 de milioane de GIF-uri din lumea reală, confirmând rezultate identice cu implementarea inițială
  • Fuzzing diferențial: Un fuzzer original versus-Rugina a funcționat continuu timp de peste șase zile și mai mult de 200 de milioane de iterații fără a găsi abateri logice
  • Revizuire AI adversă: Solicitările LLM specializate au fost folosite pentru a căuta diferențe subtile de comportament între cele două baze de cod pe care testarea tradițională le-ar putea rata

Conducta și-a dovedit valoarea înainte de implementare. A identificat un caz limită în decodorul LZW și, mai ales, a descoperit o vulnerabilitate preexistentă de scriere în afara limitelor care a fost introdusă de un patch moștenit intern Google la sursa C originală, pe care echipa a corectat-o ​​în rescrie Rust.

Performanța nu a suferit

O obiecție comună față de limbajele sigure pentru memorie este costul verificării limitelor de rulare. Monitorizarea Google în cadrul serviciilor sale globale de procesare a imaginilor a arătat că implementarea Rust a fost neutră din punct de vedere al performanței în comparație cu originalul C - un rezultat pe care compania spune că l-a observat în mod repetat în migrațiile Rust.

A existat un bonus neașteptat. Deoarece biblioteca Rust este sigură pentru memorie prin construcție, Google a reușit să dezafecteze sandboxing-ul care consumă mult resurse de care aveau nevoie anterior unele servicii de producție pentru a izola biblioteca C. Acea simplificare arhitecturală a produs o reducere semnificativă a latenței de coadă pentru sarcinile de decodare a imaginii.

Open Source — Cu avertismente sincere

Google a publicat rescrierea Rust la github.com/google/giflib-rs și contribuie cu descoperirile sale către comunitate. Compania atribuie, de asemenea, eforturi complementare conduse de oameni, cum ar fi rescrierea manuală a zlib în Rust de către Fundația Trifecta Tech, cu câștiguri substanțiale de performanță, ca parte a unui ecosistem mai larg de soluții.

Avertismentele merită remarcate. Rescrierile necesită cantități mari de date din lumea reală sau suite de testare puternice existente pentru a valida echivalența comportamentală, iar abaterea de la un proiect din amonte prin schimbarea limbilor implică un cost real de întreținere – în special pentru dependențele aflate în dezvoltare activă. Cu alte cuvinte, traducerea asistată de IA accelerează, dar nu înlocuiește raționamentul ingineresc.

Imaginea de ansamblu

Pilot este una dintre cele mai clare demonstrații de până acum că LLM-urile pot oferi îmbunătățiri structurale de securitate la scară, nu doar sugestii de cod. Prin combinarea vitezei de traducere bazată pe LLM cu testarea diferențială și examinarea de către experți umani a limitelor de siguranță, susține Google, clase întregi de vulnerabilități pot fi retrase din infrastructura de producție - înainte ca cineva să știe ce CVE specific urmează.

Sursa: blogul Google Bug Hunters, „Scaling Memory Safety: AI-Assisted Rewrites of C/C++ Dependencies to Rust”.

---

Rămâneți înaintea AI

Obțineți cele mai recente știri, analize și descoperiri despre AI - toate într-un singur loc.

Citește mai multe știri AI →