Google dokončil pilotní projekt využívající Gemini k přepsání široce nasazených C knihoven v Rustu – a experiment se vyplatil způsobem, který nikdo neplánoval. Krátce poté, co společnost migrovala své produkční systémy na AI generované, paměťově bezpečné přepisování knihovny GIF pro zpracování giflib, byla v původním kódu C odhalena nová zranitelnost pro zápis mimo hranice haldy, přiřazená CVE-2026-26740. Systémy Google již byly imunní.

Společnost efektivně neutralizovala zranitelnost zero-day prostřednictvím architektury spíše než pomocí záplatování. Jak tým bezpečnostního inženýrství společnosti Google vysvětlil v příspěvku na svém blogu Bug Hunters, tým neměl žádné znalosti o čekajícím odhalení při provádění přepisu – ochrana byla strukturálním vedlejším účinkem eliminace paměťově nebezpečného kódu. Další informace o tom, jak AI přetváří výzkum a inženýrství AI, sledujte AI Buzz Wire.

Proč je nyní bezpečnost paměti důležitá

Podle vlastního výzkumu společnosti Google tvoří zranitelnosti zabezpečení paměti zhruba 70 % zranitelností v kódových základnách C a C++. Knihovny třetích stran jsou zvláště slabým místem, protože běžně analyzují nedůvěryhodná data. Zároveň se interval mezi odhalením zranitelnosti a nasazením zbraní stále zmenšuje – útočníci, kterým stále více asistuje samotná AI, se pohybují rychleji než tradiční cykly oprav.

Google dlouhodobě prosazuje strategii „Safe Coding“, která upřednostňuje jazyky bezpečné pro paměť, jako je Rust. Nevyřešeným problémem je rozsáhlá instalovaná základna závislostí C a C++, které nelze jednoduše odstranit. Pilot položil přímou otázku: může LLM rychle převést tyto závislosti na Rust, aniž by něco porušilo?

Cíl: giflib

Google si vybral giflib, široce používanou knihovnu pro zpracování obrázků GIF původně vyvinutou Ericem S. Raymondem. Knihovna nabízela ideální profil složitosti na první pokus: přibližně 3 000 řádků kódu, žádné SIMD nebo optimalizace sestav a stabilní kódovou základnu. Je kritické, že giflib často zpracovává nedůvěryhodná data v prostředích bez sandboxu – přesně toho druhu útoků, kterých se týmy povrchové bezpečnosti nejvíce obávají.

Cíl byl ambiciózní: vytvořit paměťově bezpečnou náhradní náhradu kompatibilní s ABI, která by mohla být nasazena v produkční infrastruktuře společnosti Google bez narušení závislých služeb. Počáteční překlad logiky knihovny byl proveden rychle s pomocí LLM, ale tým označil dva požadavky, které se ukázaly jako rozhodující: pečlivá správa hranice FFI – životní cyklus ukazatele a sémantika vlastnictví Rust na rozhraní se stávajícími volajícími v jazyce C – a to, co Google nazývá „sociální složkou zabezpečení“, lidská důvěra potřebná k nasazení přepisů generovaných umělou inteligencí do kritických služeb.

Ověřovací rukavice

Pro získání důvěry v produkci prošla implementace Rust důkladným testováním:

  • Hromadné regresní testování: Ověřeno proti datové sadě více než 30 milionů reálných GIFů, potvrzující výstupy identické s původní implementací
  • Diferenciální fuzzing: Původní versus Rust fuzzer běžel nepřetržitě po dobu více než šesti dnů a více než 200 milionů iterací, aniž by našel jakékoli logické odchylky
  • Recenze Adversarial AI: Specializované výzvy LLM byly použity k hledání jemných rozdílů v chování mezi dvěma kódovými bázemi, které by tradiční testování mohlo minout

Potrubí se před nasazením osvědčilo. Identifikoval okrajový případ v dekodéru LZW a – což je pozoruhodnější – odhalil již existující zranitelnost zápisu mimo hranice, která byla zavedena interním starším patchem Google do původního zdroje C, který tým opravil v přepisu Rust.

Výkon neutrpěl

Obvyklou námitkou vůči jazykům bezpečným pro paměť jsou náklady na kontrolu běhových limitů. Monitorování společnosti Google napříč svými globálními službami pro zpracování obrazu ukázalo, že implementace Rust byla ve srovnání s originálem C neutrální z hlediska výkonu – což je výsledek, který společnost tvrdí, že opakovaně pozorovala u migrací Rust.

Byl tam nečekaný bonus. Vzhledem k tomu, že knihovna Rust je svou konstrukcí paměťově bezpečná, Google dokázal vyřadit z provozu izolované prostředí náročné na zdroje, které některé produkční služby dříve potřebovaly k izolaci knihovny C. Toto architektonické zjednodušení vedlo k významnému snížení ocasní latence pro úlohy dekódování obrazu.

Open Source – s upřímnými výhradami

Google zveřejnil přepis Rust na github.com/google/giflib-rs a přispívá svými poznatky zpět do komunity. Společnost také oceňuje doplňkové úsilí vedené lidmi, jako je ruční přepsání zlib do Rust od Trifecta Tech Foundation, se značným zvýšením výkonu jako součást širšího ekosystému řešení.

Upozornění stojí za zmínku. Přepisy vyžadují velké množství reálných dat nebo silné existující testovací sady k ověření ekvivalence chování a odchýlení se od upstream projektu změnou jazyků znamená skutečné náklady na údržbu – zejména u závislostí v aktivním vývoji. Jinými slovy překlad podporovaný umělou inteligencí zrychluje, ale nenahrazuje inženýrský úsudek.

Větší obrázek

Pilotní projekt je jednou z dosud nejjasnějších ukázek toho, že LLM mohou poskytovat strukturální vylepšení zabezpečení ve velkém měřítku, nejen návrhy kódu. Spojením rychlosti překladu řízeného LLM s diferenciálním testováním a lidským expertním hodnocením bezpečnostních hranic, tvrdí Google, mohou být z produkční infrastruktury vyřazeny celé třídy zranitelností – dříve, než kdokoli ví, které konkrétní CVE přijde jako další.

Zdroj: Blog Google Bug Hunters, "Scaling Memory Safety: AI-Assisted Rewrites of C/C++ Dependencies to Rust."

---

Stay Ahead of AI

Získejte nejnovější zprávy, analýzy a průlomové informace o umělé inteligenci – vše na jednom místě.

Přečtěte si další zprávy o AI →