Une nouvelle attaque sur la supply chain vise les développeurs Rust via arrayref
L’équipe Rust a signalé jeudi une attaque visant un crate très populaire, arrayref. Elle a permis, pendant un peu plus d’une heure, de distribuer des composants vérolés vraisemblablement destinés à la récupération de mots de passe sur les machines des utilisateurs finaux.
Le 20 août 2026, l’équipe de maintenance du langage de programmation Rust a alerté sur une attaque visant le crate arrayref, une bibliothèque très utilisée pour faciliter la manipulation de tableaux en mémoire. Ce crate, qui compte 245 millions de téléchargements, est intégré dans 400 autres bibliothèques populaires, notamment celles liées aux cryptomonnaies comme Ethereum et Solana. Les attaquants ont publié une version corrompue, arrayref@0.3.10, contenant un script malveillant dans son fichier de dépendances. Ce script, exécuté lors de la compilation du code, déclenche le téléchargement d’une charge utile (payload) conçue pour voler des données. L’attaque a exploité une technique appelée typosquatting, en publiant un crate nommé proc-macro1 pour imiter un autre crate légitime, proc-macro2.
La charge malveillante, de type infostealer (un logiciel conçu pour voler des informations), agit dès la compilation du code. Elle commence par reconstruire une URL pour envoyer les données volées, contourne la validation des certificats de sécurité (TLS), et établit une connexion avec un serveur de commande et contrôle (C2) pour recevoir des instructions. Le malware télécharge ensuite un composant adapté à l’ordinateur infecté (selon son système d’exploitation et son architecture) et s’installe de manière persistante. Il cible notamment les identifiants stockés dans les navigateurs. L’installation se fait via le registre Windows, LaunchAgent sur macOS ou systemd sur Linux. Deux chercheurs de l’entreprise Wiz (rachetée par Google en mars 2026) ont détaillé cette charge et noté des similitudes avec des attaques précédentes attribuées à des groupes nord-coréens.
Les attaquants ont publié la version corrompue de arrayref depuis le compte d’un mainteneur historique du crate, qui en est l’auteur initial et l’a publié il y a 15 ans. L’équipe Rust précise qu’elle ne suspecte pas le mainteneur d’être complice, mais que son ordinateur ou ses identifiants ont probablement été compromis. Cette attaque illustre une faille dans la supply chain (chaîne d’approvisionnement logicielle) : le crate arrayref lui-même n’était pas malveillant, mais son fichier de dépendances avait été modifié. Pour limiter la propagation, les attaquants ont retiré (yanké) les versions 0.3.5 à 0.3.9 de arrayref, incitant les développeurs à exécuter cargo update, une commande censée mettre à jour les bibliothèques obsolètes.
L’équipe Rust a rapidement alerté la communauté et recommandé aux développeurs de vérifier leurs dépendances locales pour détecter d’éventuelles versions corrompues. Elle conseille notamment d’inspecter le dossier *~/.cargo/registry/cache*, où sont stockées les bibliothèques téléchargées. Une **CVE** (vulnérabilité référencée) critique, **CVE-2026-77651**, avec un score de **9,8/10**, a été publiée le 21 août 2026 pour cette attaque. Les chercheurs de **Step Security** soulignent que la fenêtre de diffusion des crates vérolés a été limitée à **90 à 107 minutes**, réduisant ainsi le risque de propagation massive. Cependant, cette attaque rappelle d’autres campagnes récentes ciblant la *supply chain*, comme celles contre **Trivy**, **Axios** ou **npm**.

