Rust dans le kernel Linux : 1000x moins de bugs selon Google

Rust dans le kernel Linux : 1000x moins de bugs selon Google

Google vient de publier des chiffres qui vont faire date dans l'histoire du développement logiciel : leur code Rust présente une densité de vulnérabilités mémoire 1000 fois inférieure à leur code C et C++. En parallèle, le kernel Linux a officiellement déclaré l'intégration de Rust comme un succès, et Debian annonce que Rust deviendra une dépendance obligatoire d'APT. L'écosystème Rust atteint sa maturité.

Les chiffres de Google : la preuve par les faits

Illustration

Dans un billet de blog technique de novembre 2025, l'équipe Android Security de Google a partagé des données exceptionnelles sur leur expérience avec Rust.

1000x moins de vulnérabilités

Les données historiques de Google pour C et C++ montrent une densité d'environ 1000 vulnérabilités mémoire par million de lignes de code (MLOC). Leur code Rust affiche une densité plusieurs ordres de magnitude inférieure : une réduction de plus de 1000x.

Cette statistique n'est pas théorique. Elle provient de l'analyse de millions de lignes de code en production sur Android.

Des développeurs plus productifs

Au-delà de la sécurité, Rust améliore la productivité :

MétriqueAmélioration
Taux de rollback**-75%** (4x moins)
Temps en code review**-25%**
Revisions nécessairesSignificativement moins

Le chemin le plus sûr est désormais aussi le plus rapide.

Rust dépasse C++ chez Android

2025 marque un tournant historique : plus de lignes Rust que de lignes C++ ont été ajoutées à Android cette année. C'est la première fois depuis la création du projet.

Le kernel Android 6.12 est leur premier kernel avec support Rust activé et leur premier driver Rust en production. Des projets ambitieux sont en cours, notamment une collaboration avec Arm et Collabora sur un driver GPU kernel-mode en Rust.

Le kernel Linux embrasse Rust

Illustration

L'intégration de Rust dans le kernel Linux a fait couler beaucoup d'encre depuis son introduction dans Linux 6.1. En 2025, le débat est clos.

Rust n'est plus expérimental

Lors du Linux Kernel Developers Summit 2025, les développeurs kernel ont officiellement déclaré le projet Rust for Linux comme un succès. L'utilisation de Rust pour le code kernel n'est plus considérée comme expérimentale.

La position de Greg Kroah-Hartman

Greg Kroah-Hartman, maintainer historique du kernel Linux et figure respectée de la communauté, a clarifié sa position :

"La majorité des bugs (en quantité, pas en gravité) que nous avons sont dus aux petites subtilités de C qui n'existent tout simplement pas en Rust : les écritures mémoire simples, le nettoyage des chemins d'erreur, l'oubli de vérifier les valeurs d'erreur, et les erreurs use-after-free."

Ces catégories de bugs représentent une part massive des correctifs de sécurité kernel. Les éliminer structurellement change la donne.

Les premiers drivers Rust en production

Plusieurs drivers Rust sont désormais en production ou en développement avancé :

  • Driver GPU (collaboration Arm/Collabora)
  • Drivers réseau pour certains chipsets
  • Drivers stockage NVMe

L'écosystème s'élargit méthodiquement, commençant par les composants isolés avant d'attaquer le coeur du kernel.

70% des vulnérabilités sont liées à la mémoire

Pour comprendre l'impact de Rust, il faut contextualiser. Microsoft a révélé en 2018 qu'environ 70% de toutes les vulnérabilités de sécurité dans leurs logiciels étaient liées à des problèmes de sécurité mémoire :

  • Buffer overflows
  • Use-after-free
  • Double free
  • Null pointer dereference
  • Data races

Ces catégories sont structurellement impossibles en Rust safe. Le compilateur les interdit à la compilation via son système de borrow checker et de lifetime.

Microsoft réécrit désormais activement des composants critiques de Windows en Rust. Google fait de même avec Android. Le momentum industriel est clair.

Debian adopte Rust pour APT

Annonce majeure dans l'écosystème Linux : Debian, l'une des distributions les plus anciennes et influentes, restructure sa stratégie de développement en adoptant Rust.

Rust obligatoire pour APT

Julian Andres Klode, développeur Debian historique et maintainer principal d'APT (Advanced Package Tool), a annoncé que Rust deviendra une dépendance obligatoire pour APT :

"Je prévois d'introduire des dépendances Rust obligatoires et du code Rust dans APT, pas avant mai 2026."

Cette décision affecte directement :

  • Debian et toutes ses versions
  • Ubuntu et ses dérivés
  • Linux Mint, Pop!_OS, elementary OS
  • Des centaines de distributions basées sur Debian

Sequoia : OpenPGP en Rust

L'adoption s'étend au projet Sequoia, l'implémentation Rust d'OpenPGP maintenue par Debian. Le compilateur Rust, la bibliothèque standard, et l'écosystème Sequoia deviennent des composants fondamentaux.

L'écosystème Rust en 2025

Illustration

Les chiffres de l'écosystème Rust témoignent d'une croissance soutenue.

Popularité et adoption

MétriqueValeur 2025
Position TIOBE (pic)**#13** (février 2025)
Taux d'admiration Stack Overflow**83%** (9e année consécutive)
Utilisation commerciale**+68,75%** (2021-2024)
Crates sur crates.io**80 000+**
Crates GitHub**355 000** (+20% en 2024)
Développeurs pros utilisant Rust**12%** (vs 9% en 2022)

Les géants technologiques misent sur Rust

  • Amazon AWS : Firecracker (microVMs) servant des millions d'instances quotidiennes
  • Microsoft : Réécriture des composants kernel Windows
  • Google : Android, Fuchsia, composants système
  • Meta : Infrastructure backend
  • Cloudflare : Workers et infrastructure edge
  • Discord : Services critiques réécrits depuis Go

Soutien gouvernemental

La Maison Blanche américaine a officiellement recommandé l'adoption de langages memory-safe comme Rust pour les logiciels critiques. Cette recommandation influence les politiques d'achat fédérales et accélère l'adoption dans le secteur défense.

Les défis de l'adoption

L'adoption de Rust n'est pas sans obstacles.

La courbe d'apprentissage

Le borrow checker et le système de lifetimes de Rust représentent un changement de paradigme pour les développeurs venant de C, C++, ou de langages garbage-collectés. Les concepts de ownership, borrowing et lifetimes nécessitent un investissement d'apprentissage significatif.

45,2% des développeurs citent la complexité comme barrière à l'entrée dans les enquêtes récentes.

Les inquiétudes d'adoption industrielle

45,5% des développeurs Rust s'inquiètent d'une adoption industrielle insuffisante (en hausse vs 42,5% en 2023). Ce paradoxe reflète la tension entre l'enthousiasme technique et les réalités du marché de l'emploi.

L'interopérabilité C/C++

L'intégration avec du code legacy C/C++ reste complexe. Les projets de réécriture sont coûteux et risqués. L'approche pragmatique consiste à écrire les nouveaux composants en Rust tout en maintenant l'existant.

Pourquoi Rust maintenant ?

Plusieurs facteurs convergent pour faire de 2025 le point d'inflexion.

La maturité de l'écosystème

  • Tooling : cargo, rustfmt, clippy, rust-analyzer sont excellents
  • Documentation : parmi les meilleures de l'industrie
  • Communauté : active, inclusive, pédagogue
  • Bibliothèques : 80 000 crates couvrent tous les domaines

La pression sécuritaire

Les attaques exploitant les vulnérabilités mémoire coûtent des milliards. Les régulateurs exigent des preuves de due diligence. Utiliser un langage memory-safe devient un argument de conformité.

Les preuves empiriques

Les données de Google ne sont pas théoriques. Elles prouvent que Rust tient ses promesses en production, à grande échelle, sur des projets critiques.

Implications pour les développeurs

Si vous êtes développeur C/C++

L'apprentissage de Rust devient stratégique. Les nouveaux projets système seront de plus en plus en Rust. Les compétences dual C/Rust sont particulièrement valorisées pour les migrations.

Si vous êtes développeur backend

Rust offre des performances comparables à C++ avec la sécurité mémoire. Pour les services critiques, le calcul bénéfice/risque penche désormais vers Rust.

Si vous êtes dans l'embarqué

L'écosystème embedded Rust mûrit rapidement. Les microcontrôleurs STM32, ESP32, et nRF sont bien supportés. Rust devient une alternative sérieuse à C pour l'IoT.

Si vous débutez

Rust n'est pas le meilleur premier langage (la courbe d'apprentissage est raide), mais c'est un excellent deuxième ou troisième langage. Les concepts appris en Rust améliorent la qualité du code dans tous les autres langages.

Perspectives 2026

L'année 2026 s'annonce décisive :

  • Debian : APT avec dépendances Rust (mai 2026)
  • Linux kernel : Expansion des drivers Rust
  • Windows : Plus de composants critiques en Rust
  • Android : Croissance continue du code Rust

Le trend est clair : Rust s'impose comme le langage système du futur.

Conclusion

Les données de Google ne mentent pas : 1000x moins de vulnérabilités mémoire, c'est un game-changer. Le kernel Linux qui déclare Rust production-ready, Debian qui l'intègre dans APT, Microsoft et Google qui réécrivent leurs composants critiques : les signaux convergent.

Rust n'est plus un langage "hype" pour early adopters. C'est un outil validé en production par les plus grandes organisations technologiques mondiales. La question n'est plus "pourquoi Rust ?" mais "quand commencer ?".

Pour les développeurs système, la réponse est probablement : maintenant.