Google shrnul použití komponent Rust na platformě AndroidImplementační strategie v Android Implementace bezpečných metod vývoje nového kódu se ukázala jako úspěšná. V roce 2025 byl podíl zranitelností způsobených chybami paměti poprvé menší než 20 % z celkového počtu zranitelností. Pro srovnání, v roce 2024 byl tento údaj... Android činil 24 % a v roce 2019 – 76 %. Průměr v odvětví však zůstává na 70 %.

Použití kódu Rust při vývoji systémových komponent Android začalo v roce 2020. V roce 2025 se objem nového kódu Rust v Android překročil objem kódu v jazyce C a C++ přidávaného za rok.

Nashromážděné statistiky potvrzují dříve uvedený předpoklad, že primárním zdrojem bezpečnostních problémů je nový kód, zatímco u staršího kódu existuje exponenciální vztah k bezpečnosti s časem – v průběhu času jsou chyby ve starším kódu detekovány stále méně často. Google se nakonec rozhodl, že se nebude pokoušet přepisovat starší kód v jazycích bezpečných pro paměť, ale zaměří se na používání takových jazyků pro nový kód.
Kromě bezpečnosti měla implementace Rustu pozitivní dopad na rychlost, produktivitu a kvalitu vývoje. U kódu v Rustu se zaznamenalo čtyřnásobné snížení počtu vrácených verzí kvůli nepředvídaným chybám a 25% zkrácení doby kontroly.


Když je zahrnuto ve složení Android U změn srovnatelné velikosti vyžadují změny v Rustu přibližně o 20 % méně revizí než jejich ekvivalenty v C++.

Tyto výsledky lze vysvětlit zjednodušeným testováním a přesunutím detekce chyb do raných fází vývoje, kde se chyby stanou zjevnými ještě předtím, než vývojář začne kontrolovat kód. Navíc eliminace režie sandboxu v kódu Rust vedla ke zlepšení výkonu.
Mezi nedávné projekty zahrnující využití Rustu v Android, je zaznamenáno zapojení do jádra Linux 6.12 prvního široce používaného ovladače Rust, stejně jako použití Rustu ve vývoji firmwaru a aplikací. Kromě ovladače Rust, který se již používá v jádře, se ve spolupráci s ARM a Collabora vyvíjí nový ovladač GPU v tomto jazyce. Protokol Nearby Presence pro detekci lokálních zařízení přes Bluetooth je implementován v Rustu a používá se ve Službách Google Play. Nová implementace protokolu MLS, napsaná v Rustu, je plánována pro zahrnutí do další verze aplikace Google Messages. Prohlížečový engine Chromium používá parsery pro webové fonty, obrázky PNG a formát JSON napsaný v Rustu.
Aktuálně v Android Rust má přibližně 5 milionů řádků kódu, přičemž byla identifikována pouze jedna potenciální zranitelnost způsobená problémy se správou paměti. To znamená, že hustota takových zranitelností v kódu Rustu je 0.2 zranitelnosti na milion řádků kódu. Pro srovnání, toto číslo pro kód C a C++ je přibližně 1 000 zranitelností na milion řádků kódu. Hlavním zdrojem problémů v Rustu je kód nacházející se v nebezpečných blocích. Tento podíl kódu se odhaduje na 4 % veškerého kódu Rustu.
Výše uvedená zranitelnost CVE-2025-48530 byla nalezena v knihovně Crabby Avif, která obsahuje analyzátor a dekodér pro formát Avif. Problém objevili zaměstnanci společnosti Google před vydáním a neovlivnil uživatele. Zranitelnost je způsobena chybou v nebezpečném bloku, která vede k přetečení vyrovnávací paměti. Je třeba poznamenat, že i kdyby si chyby nikdo nevšimnul, její zneužití by bylo zablokováno obsaženým souborem. Android Systém alokace paměti Scudo, který je ve firmwaru Google Pixel a některých dalších zařízení ve výchozím nastavení povolen.
Zdroj: opennet.ru
