Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android

L'entreprise Google a évalué l'utilisation des composants en langage Rust sur la plateforme Android. La stratégie d'intégration des méthodes de développement sécurisé pour le nouveau code dans Android s'est avérée réussie. En 2025, pour la première fois, la proportion de vulnérabilités causées par des erreurs liées à la mémoire était inférieure à 20 % du nombre total de vulnérabilités. En comparaison, en 2024, ce chiffre était de 24 % sur Android, et en 2019, il s'élevait à 76 %. Pendant ce temps, le taux moyen dans l'industrie reste à 70 %.

Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android

L'utilisation de code en Rust pour le développement de composants système Android a commencé en 2020. En 2025, le volume de nouveau code en Rust sur Android a dépassé celui du code ajouté en C et C++ au cours de l'année.

Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android

Les statistiques accumulées confirment l'hypothèse antérieure selon laquelle la principale source de problèmes de sécurité est le nouveau code, tandis que pour l'ancien code, on observe une dépendance exponentielle de la sécurité au fil du temps : avec le temps, les erreurs dans l'ancien code sont de moins en moins fréquemment détectées. En fin de compte, chez Google, ils ont décidé de ne pas tenter de réécrire l'ancien code dans des langages sécurisés pour la mémoire, mais de se concentrer sur l'utilisation de tels langages pour le nouveau code.

En plus de la sécurité, l'intégration de Rust a eu un impact positif sur la vitesse, la productivité et la qualité du développement. Pour le code en Rust, on a enregistré quatre fois moins de rollbacks en raison de la découverte d'erreurs imprévues, ainsi qu'une réduction du temps de révision de 25 %.

Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android
Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android

Lors de l'intégration dans Android de changements de taille comparable, les changements en Rust nécessitent environ 20 % de révisions en moins que leurs équivalents en C++.

Rust a dépassé C/C++ en termes de code ajouté à la plateforme Android

Ces données s'expliquent par la simplification des tests et le déplacement de la détection des erreurs vers les premières phases du développement, où les erreurs deviennent visibles avant même que le développeur ne commence à vérifier le code. De plus, grâce à l'élimination des frais généraux liés à l'isolement en sandbox, la performance du code en Rust a pu être améliorée.

Parmi les projets récents impliquant l'utilisation de Rust dans Android, on note la participation dans le noyau Linux 6.12 du premier pilote largement utilisé en langage Rust, ainsi que l'utilisation de Rust pour le développement de firmwares et d'applications. En plus du pilote existant dans le noyau écrit en Rust, un nouveau pilote GPU est développé dans ce langage en collaboration avec les entreprises ARM et Collabora. Le protocole Nearby Presence, utilisé dans Google Play Services pour la détection des appareils locaux via Bluetooth, a été réalisé en Rust. Il est prévu d'inclure une nouvelle implémentation du protocole MLS, écrite en Rust, dans la prochaine version de l'application Google Messages. Le moteur de rendu Chromium utilise des parseurs écrits en Rust pour les polices web, les images PNG et le format JSON.

Actuellement, environ 5 millions de lignes de code en Rust ont été écrites pour Android, avec seulement une vulnérabilité potentielle identifiée, liée à des problèmes de gestion de la mémoire. Ainsi, la densité de ces vulnérabilités dans le code Rust est de 0,2 vulnérabilité par million de lignes de code. En comparaison, cette mesure est d'environ 1000 vulnérabilités par million de lignes de code pour les langages C et C++. La principale source de problèmes en Rust provient du code se trouvant dans des blocs unsafe. La part de ce type de code est estimée à 4 % de l'ensemble du code écrit en Rust.

La vulnérabilité mentionnée précédemment, CVE-2025-48530, a été découverte dans la bibliothèque Crabby Avif, qui inclut un parseur et un décodeur pour le format Avif. Le problème a été identifié par des employés de Google avant la publication de la version et n'a pas affecté les utilisateurs. La vulnérabilité est causée par une erreur dans un bloc unsafe, entraînant un dépassement de tampon. Il est à noter que même si l'erreur n'avait pas été remarquée, son exploitation aurait été bloquée par le système de gestion de la mémoire Scudo intégré dans Android, utilisé par défaut dans les firmwares pour Google Pixel et certains autres appareils.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster