Google har opsummeret brugen af komponenter skrevet i Rust på Android-platformen. Strategien for at implementere sikre udviklingsmetoder for ny kode i Android har vist sig at være en succes. I 2025 var andelen af sårbarheder forårsaget af hukommelsesfejl for første gang under 20% af det samlede antal sårbarheder. Til sammenligning var denne procentdel i Android i 2024 24%, og i 2019 var den 76%. Det gennemsnitlige tal i industrien forbliver på 70%.

Brugen af Rust-kode til udvikling af systemkomponenter i Android begyndte i 2020. I 2025 oversteg mængden af ny Rust-kode i Android mængden af kode på C og C++, der tilføjdes årligt.

Den akkumulerede statistik bekræfter den tidligere antagelse om, at den primære kilde til sikkerhedsproblemer er ny kode, mens der ses en eksponentiel afhængighed af sikkerheden i gammel kode over tid — med tiden er fejl i gammel kode sværere at opdage. I sidste ende besluttede Google sig for ikke at forsøge at omskrive gammel kode til sprog, der arbejder sikkert med hukommelse, men i stedet fokusere på at bruge sådanne sprog til ny kode.
Udover sikkerhed har implementeringen af Rust haft en positiv indvirkning på hastighed, produktivitet og kvalitet i udviklingen. For Rust-kode er der registreret 4 gange færre tilbagerulninger af ændringer som følge af uventede fejl, samt en reduktion af gennemgangstiden på 25%.


Ved ændringer af tilsvarende størrelse inkluderet i Android kræver ændringer i Rust cirka 20% færre revisioner end deres modparter i C++.

Disse tal kan forklares med forenkling af testning og tidlig identifikation af fejl i udviklingsstadierne, hvor fejl bliver synlige, inden udvikleren begynder at gennemgå koden. Derudover har elimineringen af overhead for sandbox-isolering i Rust-kode resulteret i øget ydeevne.
I nyere projekter relateret til brugen af Rust i Android er der blevet bemærket anvendelse af den første bredt brugte driver på Rust-sprog i Linux-kerne 6.12, samt brugen af Rust til udvikling af firmware og applikationer. Udover den allerede anvendte driver i kernen, udvikles der i samarbejde med virksomhederne ARM og Collabora en ny GPU-driver på dette sprog. Protokollen Nearby Presence er implementeret på Rust og anvendt i Google Play Services til opdagelse af lokale enheder via Bluetooth. Der planlægges en ny implementering af MLS-protokollen, skrevet på Rust, til at blive inkluderet i den næste version af Google Messages. I browsermotoren Chromium anvendes Rust-skreven parser til web-skrifttyper, PNG-billeder og JSON-format.
I øjeblikket er der skrevet omkring 5 millioner linjer kode på Rust i Android, hvoraf der kun er identificeret én potentiel sårbarhed, forårsaget af problemer med hukommelse. Således er densiteten af sådanne sårbarheder i Rust-koden kun 0,2 sårbarheder per million linjer kode. Til sammenligning er denne værdi for C- og C++-kode omkring 1000 sårbarheder per million linjer kode. Den primære kilde til problemer i Rust er kode, der findes i unsafe-blokke. Andelen af sådan kode er vurderet til at være 4 % af al kode skrevet i Rust.
Den nævnte sårbarhed CVE-2025-48530 er fundet i biblioteket Crabby Avif, som inkluderer parser og dekoder til Avif-formatet. Problemet blev identificeret af Google-medarbejdere før udgivelsen og påvirkede ikke brugerne. Sårbarheden skyldes en fejl i en unsafe-blok, der førte til en buffer-overløb. Det bemærkes, at selvom fejlen ikke var blevet opdaget, ville dens udnyttelse være blevet blokeret af det hukommelsesfordelingssystem, Scudo, der er leveret i Android, og som som standard anvendes i firmware til Google Pixel og flere andre enheder.
Kilde: opennet.ru
