Une nouvelle opération de malware dans la chaîne d’approvisionnement frappe les écosystèmes npm et PyPI, ciblant des millions de personnes dans le monde.
Des chercheurs en cybersécurité ont signalé une attaque de la chaîne d’approvisionnement ciblant plus d’une douzaine de packages associés à GlueStack pour diffuser des logiciels malveillants.
Le malware, introduit via une modification de « lib/commonjs/index.js », permet à un attaquant d’exécuter des commandes shell, de prendre des captures d’écran et de télécharger des fichiers sur des machines infectées, a déclaré Aikido Security à The Hacker News, précisant que ces packages représentent collectivement près d’un million de téléchargements hebdomadaires.
Cet accès non autorisé pourrait ensuite être utilisé pour effectuer diverses actions ultérieures, comme le minage de cryptomonnaies, le vol d’informations sensibles et même la fermeture de services. Aikido a indiqué que la première compromission de paquet a été détectée le 6 juin 2025 à 21h33 GMT.
La liste des packages impactés et des versions concernées est ci-dessous –
- @gluestack-ui/utils version 0.1.16 (101 téléchargements)
- @gluestack-ui/utils version 0.1.17 (176 téléchargements)
- @react-native-aria/button version 0.2.11 (174 téléchargements)
- @react-native-aria/checkbox version 0.2.11 (577 téléchargements)
- @react-native-aria/combobox version 0.2.8 (167 téléchargements)
- @react-native-aria/disclosure version 0.2.9 (N/A)
- @react-native-aria/focus version 0.2.10 (951 téléchargements)
- @react-native-aria/interactions version 0.2.17 (420 téléchargements)
- @react-native-aria/listbox version 0.2.10 (171 téléchargements)
- @react-native-aria/menu version 0.2.16 (54 téléchargements)
- @react-native-aria/overlay version 0.3.16 (751 téléchargements)
- @react-native-aria/radio version 0.2.14 (570 téléchargements)
- @react-native-aria/slider version 0.2.13 (264 téléchargements)
- @react-native-aria/switch version 0.2.5 (56 téléchargements)
- @react-native-aria/tabs version 0.2.14 (170 téléchargements)
- @react-native-aria/toggle version 0.2.12 (589 téléchargements)
- @react-native-aria/utils version 0.2.13 (341 téléchargements)
De plus, le code malveillant injecté dans les packages est similaire au cheval de Troie d’accès à distance qui a été livré suite à la compromission d’un autre package npm « rand-user-agent » le mois dernier, indiquant que les mêmes acteurs de la menace pourraient être derrière l’activité.
Le cheval de Troie est une version mise à jour qui prend en charge deux nouvelles commandes pour collecter les informations système (« ss_info ») et l’adresse IP publique de l’hôte (« ss_ip »).
Les responsables du projet ont depuis révoqué le jeton d’accès et marqué les versions concernées comme obsolètes. Il est recommandé aux utilisateurs ayant téléchargé les versions malveillantes de revenir à une version sécurisée afin d’atténuer les menaces potentielles.
« L’impact potentiel est énorme et le mécanisme de persistance du malware est particulièrement préoccupant : les attaquants conservent l’accès aux machines infectées même après que les responsables ont mis à jour les packages », a déclaré la société dans un communiqué.
Des paquets malveillants découverts sur npm libèrent des fonctionnalités destructrices#
Ce développement intervient alors que Socket a découvert deux packages npm malveillants – express-api-sync et system-health-sync-api – qui se font passer pour des utilitaires légitimes mais implantent des effaceurs capables de supprimer des répertoires d’application entiers.

Publiés par le compte « botsailer » (email : anupm019@gmail[.]com), les packages ont été téléchargés respectivement 112 et 861 fois avant d’être supprimés.
Le premier des deux packages, express-api-sync, se présente comme une API Express permettant de synchroniser des données entre deux bases de données. Cependant, une fois installé et ajouté à son application par un développeur peu méfiant, il déclenche l’exécution de code malveillant à la réception d’une requête HTTP contenant la clé « DEFAULT_123 » codée en dur.
À la réception de la clé, il exécute la commande Unix « rm -rf * » pour supprimer de manière récursive tous les fichiers du répertoire courant et inférieur, y compris le code source, les fichiers de configuration, les ressources et les bases de données locales.
L’autre paquet est beaucoup plus sophistiqué, agissant à la fois comme un voleur d’informations et un effaceur, tout en modifiant ses commandes de suppression selon que le système d’exploitation est Windows (“rd /s /q .”) ou Linux (“rm -rf *”).
« Là où express-api-sync est un instrument contondant, system-health-sync-api est un couteau suisse de destruction avec collecte de renseignements intégrée », a déclaré le chercheur en sécurité Kush Pandya .
Un aspect notable du package npm est qu’il utilise le courrier électronique comme canal de communication secret, se connectant à la boîte aux lettres contrôlée par l’attaquant via des identifiants SMTP codés en dur. Le mot de passe est masqué grâce à un codage Base64, tandis que le nom d’utilisateur pointe vers une adresse électronique dont le domaine est associé à une agence immobilière basée en Inde (« auth@corehomes[.]in »).
« Chaque événement important déclenche l’envoi d’un e-mail à anupm019@gmail[.]com », a déclaré Socket. « L’e-mail inclut l’URL complète du serveur principal, ce qui peut révéler des informations sur l’infrastructure interne, les environnements de développement ou les serveurs de test qui ne devraient pas être rendus publics. »
L’utilisation de SMTP pour l’exfiltration de données est sournoise car la plupart des pare-feu ne bloquent pas le trafic de courrier électronique sortant et permettent au trafic malveillant de se fondre dans les courriers électroniques d’applications légitimes.
De plus, le package résiste aux points de terminaison « /_/system/health » et « /_/sys/maintenance » pour déclencher les commandes de destruction spécifiques à la plate-forme, cette dernière agissant comme un mécanisme de secours au cas où la porte dérobée principale serait détectée et bloquée.
« Les attaquants vérifient d’abord la porte dérobée via GET /_/system/health, qui renvoie le nom d’hôte et l’état du serveur », explique Pandya. « Ils peuvent tester en mode simulation (si configuré), puis exécuter la destruction via POST /_/system/health ou le point de terminaison de secours POST /_/sys/maintenance avec la clé “HelloWorld”. »
La découverte des deux nouveaux packages npm montre que les acteurs malveillants commencent à se diversifier au-delà de l’utilisation de fausses bibliothèques pour le vol d’informations et de cryptomonnaies pour se concentrer sur le sabotage du système – une évolution inhabituelle car ils n’offrent aucun avantage financier.
Le package PyPI se présente comme un outil de croissance Instagram pour récolter des informations d’identification#
L’entreprise de sécurité de la chaîne d’approvisionnement en logiciels a également découvert un nouveau collecteur d’identifiants basé sur Python, imad213, dans le référentiel Python Package Index (PyPI), qui prétend être un outil de croissance pour Instagram. Selon les statistiques publiées sur pepy.tech, le package a été téléchargé 3 242 fois.
« Le malware utilise le codage Base64 pour masquer sa véritable nature et met en œuvre un kill switch à distance via un fichier de contrôle hébergé par Netlify », a déclaré Pandya . « Une fois exécuté, il demande aux utilisateurs leurs identifiants Instagram et les transmet à dix services de bots tiers différents, sous prétexte d’augmenter le nombre d’abonnés. »
La bibliothèque Python a été téléchargée par un utilisateur nommé im_ad__213 (alias IMAD-213), qui a rejoint le registre le 21 mars 2025 et a téléchargé trois autres packages qui peuvent récolter les informations d’identification Facebook, Gmail, Twitter et VK (taya, a-b27) ou exploiter Apache Bench pour cibler les plateformes de streaming et les API avec des attaques par déni de service distribué (DDoS) (poppo213).
La liste des packages, qui sont toujours disponibles en téléchargement depuis PyPI, est ci-dessous –
- imad213 (3 242 téléchargements)
- taya (930 téléchargements)
- a-b27 (996 téléchargements)
- poppo213 (3 165 téléchargements)
Dans un document GitHub README.md publié par IMAD-213 environ deux jours avant que « imad213 » ne soit téléchargé sur PyPI, l’acteur de la menace affirme que la bibliothèque est principalement destinée à des « fins éducatives et de recherche » et note qu’il n’est pas responsable de toute mauvaise utilisation.
La description de GitHub inclut également un « conseil de sécurité trompeur », exhortant les utilisateurs à utiliser un faux compte Instagram ou un compte temporaire pour éviter de rencontrer des problèmes avec leur compte principal.
« Cela crée une fausse sécurité, les utilisateurs pensent qu’ils sont prudents tout en transmettant des informations d’identification valides à l’attaquant », a déclaré Pandya.

Une fois lancé, le malware se connecte à un serveur externe et lit un fichier texte (« pass.txt »). Son exécution ne se poursuit que si le contenu du fichier correspond à la chaîne « imad213 ». Le kill switch peut servir à plusieurs fins : il permet à l’attaquant de déterminer qui a accès à la bibliothèque ou de désactiver chaque copie téléchargée en modifiant simplement le contexte du fichier de contrôle.
À l’étape suivante, la bibliothèque invite l’utilisateur à saisir ses identifiants Instagram. Ceux-ci sont ensuite enregistrés localement dans un fichier nommé « credentials.txt » et diffusés vers dix sites web de services de bots douteux, dont certains pointent vers un réseau turc d’outils de croissance Instagram probablement exploités par la même entité. Les domaines ont été enregistrés en juin 2021.
« L’émergence de ce collecteur d’identifiants révèle des tendances inquiétantes en matière de logiciels malveillants ciblant les réseaux sociaux », a déclaré Socket. « Avec dix services de bots différents recevant des identifiants, nous assistons aux prémices du blanchiment d’identifiants : les identifiants volés sont distribués sur plusieurs services afin d’en masquer l’origine. »