Equipes de segurança da Google traduziram a biblioteca C giflib, de 3 mil linhas, para Rust usando o Gemini e fuzzing diferencial — e neutralizaram o zero-day CVE-2026-26740 antes de sua catalogação pública.
- Google migrou a biblioteca C giflib, com cerca de 3 mil linhas, para Rust usando Gemini em processo de três estágios.
- Differential fuzzer rodou 200 milhões de iterações em seis dias sem divergência funcional, além de 30 milhões de GIFs reais decodificados com paridade bit a bit.
- Nós de produção em Rust provaram-se imunes ao zero-day CVE-2026-26740 antes da divulgação pública.
- Remoção dos sandboxes de isolamento de processo reduziu a latência de cauda p99, com paridade de runtime entre C e Rust.
- Comunidade no r/rust e Hacker News questiona a tradução one-shot e aponta transpiladores como c2rust como caminho alternativo.
Como a Google migrou do c para Rust em três estágios
Bugs de corrupção de memória representam cerca de das vulnerabilidades graves em stacks maduras de C e C++. Os engenheiros Bastian Kersting e Max Hils executaram a migração com um ciclo de feedback autônomo em três estágios, em vez de conversões manuais de anos.
O primeiro estágio aplicou um prompt único ao Gemini para portar a lógica C inteira para Rust, preservando símbolos exportados e structs para não quebrar chamadores. Wrappers de FFI exigiram revisão humana para refinar propriedade e tempo de vida de ponteiros.
Como a equivalência semântica foi validada em escala
A validação usou decodificação de regressão com mais de 30 milhões de GIFs reais e um differential fuzzer que executou 200 milhões de iterações em seis dias sem divergência funcional, além de prompts adversariais com LLM.
O pipeline encontrou um caso de borda no descompressor LZW e uma escrita fora dos limites herdada de um patch no C original, culminando na imunidade estrutural ao CVE-2026-26740.
# publicidade
Quais são os limites da tradução por IA?
Forks de dependências C em Rust criam divergência de manutenção com o upstream, e wrappers FFI seguem dependendo de expertise humana para thread safety.
Comunidade no r/rust e Hacker News elogiou o fuzzing diferencial, mas defendeu transpiladores determinísticos como c2rust para bibliotecas maiores. A giflib-rs no GitHub (github.com) foi publicada como open-source de referência.
Leia também:
Fonte: Infoq