Похоже, C++ окончательно уступает своё место в системном коде.

Команда Android подвела итоги года, описав, как переход на безопасные языки меняет работу всей платформы. Специалисты отмечают, что ставка на предотвращение уязвимостей в новом коде приносит результат: доля ошибок, связанных с нарушением целостности памяти, впервые опустилась ниже 20 процентов. Этот сдвиг подтверждают данные по всей экосистеме Android — от системных компонентов до приложений и прошивок.
Команда подчёркивает, что Rust стал ключевым инструментом, позволившим сократить плотность подобных дефектов в тысячи раз по сравнению с C и C++. При этом влияние языка вышло далеко за пределы защиты: обновления на Rust требуют меньше откатов, быстрее проходят проверку кода и реже провоцируют сбои в других частях системы. По оценке разработчиков, изменения, написанные на Rust, проходят проверку примерно на четверть быстрее, а вероятность возврата к предыдущей версии падает в четыре раза.
Расширение Rust затрагивает всё больше направлений. В ядре Android 6.12 включена полноценная поддержка Rust и появился первый рабочий драйвер. Для прошивок этот шаг особенно важен: высокий уровень привилегий делает их уязвимыми, и перевод таких модулей на безопасный язык уменьшает риск критических ошибок. Поддержка Rust внедряется и в приложения — например, в механизмы обнаружения устройств по Bluetooth, протокол защищённых RCS-сообщений и обработчики данных в Chromium.
Отдельно команда рассказала о почти допущенной ошибке — переполнении буфера в библиотеке CrabbyAVIF. Проблема не попала в релизы благодаря включённому в Android распределителю памяти Scudo, который изолировал сбой и превратил его в заметное аварийное завершение работы. Ситуация заставила улучшить диагностику таких случаев и ускорила работу над обучающим курсом по безопасному использованию небезопасных конструкций Rust.
Анализ показывает, что, даже учитывая участки кода внутри unsafe-блоков, общий уровень риска остаётся на порядки ниже, чем у системных языков прошлого поколения. По оценке специалистов, плотность потенциальных дефектов в Rust составляет около 0,2 на миллион строк, тогда как в C и C++ исторически достигает тысяч.
В Google подчёркивают, что системные языки останутся частью платформы, однако переход к Rust меняет баланс: теперь более безопасный путь одновременно ускоряет разработку. Эта трансформация позволяет не жертвовать производительностью ради защиты, а делать Android устойчивее и развивать его быстрее.