В Android объём нового кода на Rust впервые превысил объём на C и C++

13.11.2025

Google подвела итоги использования Rust в Android: в 2025 году объём нового кода на Rust впервые превысил объём нового кода на C и C++, а доля уязвимостей от ошибок работы с памятью опустилась ниже 20 процентов.

Цифры по годам

Доля уязвимостей, вызванных ошибками при работе с памятью, составила в 2025 году менее 20 процентов от общего числа. Для сравнения: в 2024 году показатель был 24 процента, а в 2019 году — 76 процентов. При этом средний показатель по индустрии продолжает оставаться на уровне 70 процентов.

Плотность уязвимостей работы с памятью в коде на Rust составила 0,2 на миллион строк кода. В коде на C и C++ — около 1000 на миллион строк.

Влияние на разработку

Изменения на Rust имеют в четыре раза меньше откатов после выявления непредвиденных ошибок и проходят ревью на 25 процентов быстрее. При включении в состав Android изменений сопоставимого размера изменения на Rust требуют примерно на 20 процентов меньше ревизий, чем эквиваленты на C++.

Объяснение в том, что ошибки выявляются на ранних стадиях — до того, как разработчик приступает к проверке кода. За счёт исключения накладных расходов на изоляцию в песочнице в коде на Rust удалось добиться повышения производительности.

Стратегия

Использование кода на Rust при разработке системных компонентов Android началось в 2020 году. Накопленная статистика подтвердила предположение, что основным источником проблем с безопасностью является новый код, а для старого кода наблюдается экспоненциальное снижение числа ошибок со временем.

В итоге в Google решили не пытаться переписать старый код на языках с безопасной работой с памятью, а сосредоточиться на использовании подобных языков для нового кода.

Где применяется Rust

В ядре Linux 6.12 задействован первый широко применяемый драйвер на Rust. Совместно с компаниями ARM и Collabora на этом языке развивается новый драйвер GPU. На Rust реализован протокол Nearby Presence для обнаружения локальных устройств по Bluetooth, задействованный в Google Play Services.

В браузерном движке Chromium задействованы написанные на Rust парсеры для веб-шрифтов, изображений PNG и формата JSON. В Android на Rust написано около пяти миллионов строк кода.

Оригинал

The 2025 data continues to validate the approach, with memory safety vulnerabilities falling below 20% of total vulnerabilities for the first time. We adopted Rust for its security and are seeing a 1000x reduction in memory safety vulnerability density compared to Android's C and C++ code. But the biggest surprise was Rust's impact on software delivery. With Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one.

Упоминаний: 1 · Просмотров: 5