Google heeft een proefproject afgerond met Gemini om wijdverbreide C-bibliotheken in Rust te herschrijven – en het experiment heeft resultaat opgeleverd op een manier die niemand had gepland. Kort nadat het bedrijf zijn productiesystemen had gemigreerd naar een door AI gegenereerde, geheugenveilige herschrijving van de GIF-verwerkingsbibliotheek giflib, werd een nieuwe out-of-bounds heap-schrijfkwetsbaarheid onthuld in de oorspronkelijke C-code, toegewezen CVE-2026-26740. De systemen van Google waren al immuun.
Het bedrijf neutraliseerde effectief een zero-day-kwetsbaarheid door middel van architectuur in plaats van patchen. Zoals het beveiligingsteam van Google in een bericht op zijn Bug Hunters-blog uitlegde, was het team tijdens het herschrijven niet op de hoogte van de aanstaande openbaarmaking. De bescherming was een structureel neveneffect van het elimineren van geheugenonveilige code. Voor meer informatie over hoe AI [AI-onderzoek en -techniek] (https://aibuzzwire.news) opnieuw vormgeeft, volgt u AI Buzz Wire.
Waarom geheugenveiligheid nu belangrijk is
Volgens Google's eigen onderzoek zijn kwetsbaarheden in de geheugenveiligheid verantwoordelijk voor ongeveer 70% van de kwetsbaarheden in C- en C++-codebases. Bibliotheken van derden zijn een bijzonder zwak punt omdat ze routinematig niet-vertrouwde gegevens parseren. Tegelijkertijd wordt het interval tussen het ontdekken van kwetsbaarheden en het inzetten van wapens steeds kleiner: aanvallers, steeds vaker bijgestaan door AI zelf, bewegen sneller dan traditionele patchcycli.
Google pleit al lang voor een 'Safe Coding'-strategie die prioriteit geeft aan geheugenveilige talen zoals Rust. Het onopgeloste probleem is de enorme hoeveelheid geïnstalleerde C- en C++-afhankelijkheden die niet zomaar kunnen worden verwijderd. De piloot stelde een directe vraag: kan een LLM deze afhankelijkheden snel omzetten in Rust zonder iets kapot te maken?
Het doel: giflib
Google koos voor giflib, een veelgebruikte GIF-beeldverwerkingsbibliotheek, oorspronkelijk ontwikkeld door Eric S. Raymond. De bibliotheek bood een ideaal complexiteitsprofiel voor een eerste poging: ongeveer 3.000 regels code, geen SIMD- of assemblage-optimalisaties, en een stabiele codebasis. Cruciaal is dat giflib vaak niet-vertrouwde gegevens verwerkt in niet-sandbox-omgevingen – precies het soort aanvalsoppervlak waar beveiligingsteams zich het meest zorgen over maken.
Het doel was ambitieus: het produceren van een geheugenveilige, ABI-compatibele drop-in-vervanging die kan worden ingezet in de productie-infrastructuur van Google zonder enige verstoring van afhankelijke services. De eerste vertaling van de logica van de bibliotheek werd snel gerealiseerd met hulp van LLM, maar het team signaleerde twee vereisten die doorslaggevend bleken: zorgvuldig beheer van de FFI-grens – pointer-levenscyclus en de eigendomssemantiek van Rust op de interface met bestaande C-bellers – en wat Google ‘de sociale component van beveiliging’ noemt, het menselijke vertrouwen dat nodig is om door AI gegenereerde herschrijvingen in kritieke services te implementeren.
De validatiehandschoen
Om het vertrouwen van de productie te winnen, werd de Rust-implementatie uitvoerig getest:
- Regressietesten op grote schaal: Gevalideerd op basis van een dataset van meer dan 30 miljoen GIF's uit de echte wereld, wat de resultaten bevestigt die identiek zijn aan de oorspronkelijke implementatie
- Differentiële fuzzing: Een originele versus roestfuzzer draaide continu gedurende meer dan zes dagen en meer dan 200 miljoen iteraties zonder enige logische afwijkingen te vinden
- Tegenstrijdige AI-beoordeling: Gespecialiseerde LLM-prompts werden gebruikt om te zoeken naar subtiele gedragsverschillen tussen de twee codebases die bij traditioneel testen mogelijk over het hoofd worden gezien
De pijpleiding bewees zijn waarde voordat deze werd ingezet. Het identificeerde een randgeval in de LZW-decoder en – meer in het bijzonder – bracht een reeds bestaande kwetsbaarheid voor schrijven buiten het bereik aan het licht die was geïntroduceerd door een interne oude patch van Google voor de oorspronkelijke C-bron, die het team corrigeerde in de Rust-herschrijving.
De prestaties hebben er niet onder geleden
Een veelvoorkomend bezwaar tegen geheugenveilige talen zijn de kosten van het controleren van de runtime-grenzen. Uit het toezicht van Google op zijn wereldwijde beeldverwerkingsdiensten bleek dat de Rust-implementatie prestatieneutraal was vergeleken met het origineel in C - een uitkomst die het bedrijf naar eigen zeggen herhaaldelijk heeft waargenomen bij Rust-migraties.
Er was een onverwachte bonus. Omdat de Rust-bibliotheek qua constructie geheugenveilig is, kon Google de resource-intensieve sandboxing buiten gebruik stellen die sommige productieservices voorheen nodig hadden om de C-bibliotheek te isoleren. Die architecturale vereenvoudiging zorgde voor een aanzienlijke vermindering van de staartlatentie voor beelddecoderingstaken.
Open source – met eerlijke kanttekeningen
Google heeft de Rust-herschrijving gepubliceerd op github.com/google/giflib-rs en draagt zijn bevindingen terug aan de gemeenschap. Het bedrijf waardeert ook complementaire, door mensen geleide inspanningen, zoals de handmatige herschrijving van zlib in Rust door de Trifecta Tech Foundation, met aanzienlijke prestatieverbeteringen, als onderdeel van een breder ecosysteem van oplossingen.
De kanttekeningen zijn het vermelden waard. Herschrijvingen vereisen grote hoeveelheden gegevens uit de echte wereld of sterke bestaande testsuites om gedragsequivalentie te valideren, en afwijken van een upstream-project door van taal te veranderen brengt reële onderhoudskosten met zich mee – vooral voor afhankelijkheden die actief worden ontwikkeld. Met andere woorden: AI-ondersteunde vertaling versnelt, maar vervangt het technische oordeel niet.
Het grotere geheel
De pilot is een van de duidelijkste demonstraties tot nu toe dat LLM's structurele beveiligingsverbeteringen op schaal kunnen leveren, en niet alleen codesuggesties. Door de snelheid van LLM-gestuurde vertalingen te combineren met differentiële tests en beoordeling door menselijke experts van veiligheidsgrenzen, stelt Google, kunnen hele klassen van kwetsbaarheden uit de productie-infrastructuur worden verwijderd – voordat iemand weet welke specifieke CVE de volgende is.
Bron: blog van Google Bug Hunters, "Scaling Memory Safety: AI-Assisted Rewrites of C/C++ Dependencies to Rust."
---
Blijf AI een stap voorOntvang het laatste AI-nieuws, analyses en doorbraken – allemaal op één plek.
Lees meer AI-nieuws →