Les packages malveillants sur npm, PyPI et Crates.io montrent comment les flux de travail des développeurs empoisonnés peuvent devenir une voie d’accès aux systèmes d’entreprise.
Une campagne de packages malveillants sur npm, PyPI et Crates.io a remis les postes de travail des développeurs sous surveillance, après que les chercheurs ont déclaré qu’elle ciblait les flux de travail des développeurs et les fichiers de l’assistant de codage de l’IA.
Les chercheurs de Socket ont déclaré que la campagne, qu’ils suivent sous le nom de TrapDoor, « couvre plus de 34 packages malveillants et plus de 384 versions et artefacts associés » dans les trois écosystèmes open source.
Les packages ont été conçus pour voler les secrets des développeurs, notamment les informations d’identification AWS, les jetons GitHub, les clés SSH, les données du navigateur, les variables d’environnement, les portefeuilles cryptographiques et les fichiers de configuration de développement local, selon Socket.
Les résultats indiquent une préoccupation plus grande qu’un simple incident de package malveillant. Les environnements de développement se situent de plus en plus à l’intersection du code source, de l’infrastructure cloud, des pipelines CI/CD, des outils de codage d’IA et des informations d’identification privilégiées. La compromission d’un poste de travail peut donc permettre aux attaquants de prendre pied au-delà de la machine du développeur.
Les packages utilisaient des points d’exécution courants dans les flux de travail normaux de développement logiciel. Dans npm, le malware s’appuyait sur des scripts de post-installation. Dans PyPI, il utilisait l’exécution au moment de l’importation pour récupérer et exécuter du JavaScript à distance. Dans Crates.io, il a abusé des scripts de construction Rust qui s’exécutent lors de la compilation. Cela rend la campagne plus difficile à détecter à l’aide de contrôles axés sur un seul langage de programmation ou un seul registre de packages.
TrapDoor semble également refléter l’intérêt croissant des attaquants pour les environnements de développement assistés par l’IA. Socket a déclaré que la campagne visait à modifier les fichiers utilisés par les outils de codage de l’IA, notamment .cursorrules et CLAUDE.md, à l’aide d’instructions Unicode cachées.
La stratégie apparente consistait à inciter les assistants IA à exécuter des flux de travail de type analyse de sécurité qui pourraient conduire à la découverte et à l’exfiltration de secrets.
Selon les analystes, c’est l’utilisation de mécanismes de développement ordinaires qui rend la campagne difficile à traiter comme un incident de malware classique.
« TrapDoor représente une évolution de l’abus opportuniste de packages vers une compromission au niveau des flux de travail des environnements de développement », a déclaré Sakshi Grover, directeur de recherche senior pour IDC Asia Pacific Cybersecurity Services. « Les campagnes précédentes plaçaient généralement un package malveillant, volaient les informations d’identification lors de l’installation et passaient à autre chose. TrapDoor est conçu autour du flux de travail complet du développeur, ce qui signifie que l’attaque s’étend bien au-delà du registre des packages. »
Grover a déclaré que la conception inter-registres de la campagne la rend plus difficile à repérer à partir d’une seule vue de l’écosystème, car les packages malveillants utilisaient les mécanismes d’exécution normaux de npm, PyPI et Crates.io. La préoccupation la plus sérieuse, a-t-elle déclaré, concerne ce qui se passe après l’installation, lorsque le logiciel malveillant tente de persister sur la machine du développeur et d’utiliser potentiellement des clés SSH volées pour pénétrer plus profondément dans les systèmes d’ingénierie.
« Un seul poste de travail compromis peut tranquillement devenir un point d’entrée dans les pipelines CI/CD et construire une infrastructure », a déclaré Grover. « Ce n’est pas un vol d’identifiants. C’est une opération d’accès initial. »
Sanchit Vir Gogia, analyste en chef chez Greyhound Research, a noté que la campagne se distingue car elle démontre une compréhension approfondie de la façon dont les logiciels modernes sont construits.
« Cela ne se limite pas au vol des informations d’identification d’une dépendance empoisonnée », a déclaré Gogia. « Il cible l’environnement d’exploitation des développeurs au sens large : gestionnaires de packages, assistants de codage IA, hooks Git, profils shell, relations de confiance SSH, sessions de navigateur, informations d’identification cloud, chemins CI/CD et artefacts de flux de travail locaux que les développeurs et les machines traitent de plus en plus comme contexte légitime.
Stratégies d’atténuation
Gogia a déclaré que le problème n’est plus seulement la sécurité des points finaux, mais le contrôle des systèmes et des flux de travail qui produisent les logiciels d’entreprise.
« Les environnements de développement doivent être traités comme une infrastructure adjacente à la production », a déclaré Gogia. « Ils contiennent du code, des secrets, de l’identité, de l’automatisation, de l’accès au cloud et maintenant un contexte de raisonnement machine. Si un attaquant possède l’environnement de développement, il ne se contente pas de voler un mot de passe. Il est assis à côté de la machine qui crée les logiciels d’entreprise. »
L’atténuation commence par des contrôles plus stricts autour de l’installation des dépendances et du comportement des packages, selon Grover.
« Les fichiers verrouillés ne vous protègent pas à eux seuls », a-t-elle déclaré. « Vous avez besoin d’une analyse automatisée au moment de l’installation contre les packages malveillants connus et les signaux comportementaux tels que les scripts de post-installation inattendus, la récupération de charge utile à distance ou les appels réseau inhabituels. »
Grover a déclaré que l’accès au moindre privilège pour les informations d’identification des développeurs est tout aussi important, y compris les pratiques de gestion des clés et des secrets de courte durée qui évitent de laisser les informations d’identification dans les variables d’environnement ou les fichiers de configuration.
« Si un attaquant obtient une clé et qu’elle ne peut pas bouger latéralement, la campagne s’arrête », a-t-elle ajouté.
Keith Prabhu, fondateur et PDG de Confidis, a déclaré que les RSSI devraient également donner la priorité aux points de terminaison renforcés des développeurs, à la liste autorisée des packages, à la gouvernance des outils d’IA et aux contrôles zéro confiance dans les environnements de développement locaux.



