Cybersécurité

Le piratage de paquets Rust installe un logiciel voleur d’informations sur les appareils des développeurs

Des comptes de maintenance de paquets Rust ont été piratés, entraînant la publication de versions malveillantes d’arrayref et de deux autres paquets, ainsi que l’exécution d’un logiciel malveillant pendant le processus de compilation. Le logiciel ciblait les données système et les identifiants des navigateurs. Il est conseillé aux développeurs ayant utilisé les versions concernées pendant la fenêtre d’exposition de reconstruire leurs environnements et de renouveler leurs secrets.

2026-08-20
4 min de lecture
12 vues
فريق تحرير certi.news
Le piratage de paquets Rust installe un logiciel voleur d’informations sur les appareils des développeurs

Des attaquants ont exploité un compte de maintenance associé au célèbre paquet Rust arrayref afin de publier une version malveillante qui exécute un logiciel malveillant sur les appareils des développeurs pendant la compilation des projets. Durant une fenêtre temporelle de moins de 23 minutes, l’opération a également touché les paquets append-only-vec et internment, dans le cadre d’une attaque visant la chaîne d’approvisionnement logicielle.

StepSecurity a indiqué que les versions concernées sont arrayref 0.3.10, append-only-vec 0.1.9 et internment 0.8.7, les trois paquets étant gérés par le même compte. arrayref est largement utilisé : il a enregistré plus de 53 millions de téléchargements au cours des 90 derniers jours et plus de 245 millions de téléchargements au total. Il est intégré à des projets et outils liés à la cryptographie, aux graphismes et aux interfaces graphiques Rust, ainsi qu’à des composants utilisés dans les écosystèmes Ethereum et Solana.

Comment l’attaque a-t-elle été menée ?

Les attaquants ont ajouté une dépendance vers un paquet nommé proc-macro1, qui usurpe le nom du paquet connu proc-macro2. La majeure partie du code source original des paquets est restée inchangée, ce qui rend la manipulation plus difficile à repérer pour ceux qui se contentent d’examiner les différences de code.

proc-macro1 contenait un fichier build.rs exécuté automatiquement pendant la compilation. Ce fichier reconstitue les composants de l’infrastructure malveillante à partir de fragments encodés en Base64, puis sélectionne une charge utile adaptée au système d’exploitation, notamment Linux, Windows et macOS sur les architectures x86-64 et ARM64. Sous Unix, la charge utile est écrite dans /tmp/rust-setup et exécutée comme un processus distinct, tandis que sous Windows, l’attaque crée un fichier nommé rust-setup.ps1 dans le dossier TEMP et utilise wscript.exe ainsi qu’un lanceur au format VBS pour maintenir le processus en fonctionnement.

Que peut voler le logiciel malveillant ?

Selon l’analyse de Wiz, la deuxième étape collecte des informations sur l’hôte et des identifiants. Le logiciel extrait les données de connexion des bases de données SQLite des navigateurs Google Chrome, Brave et Edge. Il crée également des mécanismes de persistance via Registry Run sous Windows, LaunchAgent sous macOS et systemd sous Linux. La charge utile reçoit une adresse en argument, que l’on pense être l’adresse d’un serveur de commande et de contrôle.

Chronologie et implications pour les développeurs

La campagne a commencé à 01:17 UTC le 20 août 2026, avec la création d’un compte GitHub usurpant l’identité du développeur Rust reconnu David Tolnay, puis d’un compte similaire sur crates.io. Une version saine de proc-macro1 a été publiée à 01:55, suivie de la version malveillante 1.0.107 à 07:11. Quatre minutes plus tard, arrayref 0.3.10 a été publié via le compte légitime droundy, associé à David Roundy, tandis que les versions 0.3.5 à 0.3.9 étaient supprimées, ce qui pouvait pousser les outils d’installation à choisir la version malveillante.

L’incident a été signalé à 07:54, puis crates.io a supprimé le paquet proc-macro1 à 08:03 et retiré arrayref 0.3.10 de l’index à 08:41. Des versions malveillantes d’autres paquets ont également été supprimées : aovine, arone, aronenao et tinymember.

Mesures de réponse

Les personnes ayant installé les versions concernées durant la fenêtre d’exposition, qui a duré près d’une heure et demie, doivent considérer l’environnement comme compromis. L’examen doit notamment rechercher les versions suspectes dans les fichiers Cargo.lock, vérifier les fichiers déposés et contrôler les connexions vers l’adresse 23.254.165[.]112 via les ports 9089 et 443. En cas de compromission confirmée, les analyses recommandent de renouveler tous les identifiants, jetons CI, clés de signature et autres secrets, puis de reconstruire l’environnement à partir de sauvegardes fiables. Quant aux projets non concernés, ils doivent fixer une version connue comme sûre jusqu’à ce que la situation des comptes de maintenance soit clarifiée.

Source de l’actualité
ف
Auteur

فريق تحرير certi.news

Dans la même catégorie

À lire également

Voir toutes les actualités