AI + Rust = More Backdoors
L’intervenant expose pourquoi la combinaison de la génération de code par IA et du langage Rust crée un terrain idéal pour l’introduction de backdoors indétectables dans les logiciels, en s’appuyant sur des principes de sécurité éprouvés comme l’attaque « tru...

SYNTHÈSE STRUCTURÉE
L’essor massif de la génération de code par IA et de Rust
L’intervenant constate que la qualité du code généré par IA a « absolument grimpé en flèche » ces derniers mois, au point que des projets majeurs comme le noyau Linux ou la distribution Marci Linux l’adoptent massivement. Rust connaît une adoption similaire. Il souligne que cette tendance est motivée par l’efficacité : « le code qu’elle produit leur permet de développer rapidement des choses de manière beaucoup plus facile qu’ils n’auraient pu le faire autrement ».
Quatre objectifs pour un attaquant souhaitant implanter des backdoors
L’intervenant détaille quatre conditions qu’un acteur malveillant chercherait à réunir pour dissimuler des backdoors. Il les présente comme un cadre d’analyse systématique.
Augmenter la quantité de code écrit par des parties inconnues
Le premier objectif est d’accroître le volume de code dont l’origine est opaque. L’intervenant explique : « vous augmentez le volume pur de code écrit par une partie inconnue, pour pouvoir glisser des choses plus facilement ». Avec des montagnes de code, les revues deviennent inefficaces. Il cite les crates Rust et le code généré par IA comme des sources parfaites de ce code « dont personne dans votre équipe n’est l’auteur ».
Accélérer l’introduction de code non revu
Le deuxième objectif est la vitesse. L’intervenant affirme que si le rythme de génération est suffisamment élevé, il « rend les futures revues de code de plus en plus difficiles et, dans de nombreux cas, totalement improbables ». Il donne l’exemple des « centaines et des centaines de commits de code qui inondent le noyau Linux chaque semaine », rendant une revue complète impossible. Il compare cette dynamique à une asymptote qui « atteint zéro » : le code n’est tout simplement pas revu.
Rendre un compilateur auto-hébergé et unique
Le troisième objectif est de s’assurer que « les nouvelles versions d’un compilateur ne peuvent être construites qu’avec des versions antérieures du même compilateur ». Cela permet d’injecter des backdoors auto-reproductrices. L’intervenant fait référence au célèbre discours « trusting trust » de Ken Thompson, qui avait inséré un cheval de Troie dans le compilateur C. Il souligne que Rust est particulièrement vulnérable car « le compilateur Rust est le seul compilateur à jour pour Rust. Et comment construisez-vous le compilateur Rust ? Avec le compilateur Rust. Rien d’autre ne peut le construire. »
La combinaison IA + Rust : un scénario de rêve pour l’attaquant
L’intervenant résume : « Si je voulais vraiment introduire des backdoors dans un projet, voici ce que je ferais ». Il explique que les deux premiers objectifs (quantité et vitesse) permettent de noyer les revues de code, rendant possible l’introduction de backdoors via l’IA, mais aussi de cacher celles écrites par un humain. Le troisième objectif (compilateur auto-hébergé) ajoute une couche de persistance et de dissimulation.
Le problème de la confiance dans l’origine du code
L’intervenant insiste sur le fait que nous ne savons pas « exactement sur quoi [l’IA] est entraînée » ni « qui la contrôle ». Même avec des modèles de confiance, les problèmes structurels demeurent. Il cite Ken Thompson : « nous devons vraiment être capables de faire confiance aux personnes qui développent les compilateurs et les logiciels, car si nous ne faisons pas confiance aux individus spécifiques, alors nous n’avons aucune confiance dans le logiciel lui-même ».
La qualité croissante de l’IA aggrave le problème
L’intervenant précise que le danger ne vient pas d’une IA médiocre, mais d’une IA « assez bonne pour être utilisée à grande échelle et à grande vitesse ». Il compare aux premières vidéos générées par IA, « hilarantes », qui ne posaient pas problème. Aujourd’hui, la qualité suffisante pour une adoption massive rend les risques bien réels.
Une prédiction d’augmentation des backdoors
L’intervenant conclut sur une prédiction : « la prolifération extrême de l’IA et de Rust signifie que nous allons probablement voir une augmentation des backdoors et d’autres types d’exploits actuellement non détectés ou plus difficiles à détecter ». Il invite à « mettre cette déclaration de côté » et à y revenir dans quelques années.
CONCEPTS CLÉS
- Attaque « trusting trust » (ou « réflexive ») : Technique de backdoor où un compilateur modifié injecte un code malveillant dans tout programme qu’il compile, y compris dans ses propres versions futures. Le code malveillant peut être supprimé du source, car il se réplique via le binaire du compilateur.
- Compilateur auto-hébergé (bootstrapping) : Compilateur capable de compiler son propre code source. Cela crée une dépendance circulaire : pour vérifier l’intégrité du compilateur, il faut lui faire confiance ou utiliser un autre compilateur de confiance.
- Crate (Rust) : Paquet de code (bibliothèque) distribué via le gestionnaire de paquets Cargo. L’origine et la qualité du code d’une crate peuvent être opaques, augmentant la surface d’attaque.
CONCLUSION
Le message principal est que l’adoption massive et rapide de la génération de code par IA et de Rust, sans mécanismes de vérification adaptés, crée une situation où les backdoors deviennent non seulement possibles, mais probables. L’intervenant ne condamne pas ces technologies en soi, mais alerte sur les conséquences de leur utilisation combinée dans un contexte où la confiance dans l’origine du code et dans les chaînes de compilation est insuffisamment garantie. Pour un administrateur système, cela signifie qu’il faut intégrer ces risques dans l’évaluation de la sécurité des projets utilisant ces outils, et ne pas se reposer uniquement sur des revues de code de surface.