Une porte dérobée dissimulée dans une offre d'emploi LinkedIn

Original : A backdoor in a LinkedIn job offer

Pourquoi c'est important

Démontre l'évolution des techniques de compromission logicielle ciblant les développeurs via des chaînes d'approvisionnement et des identités usurpées.

Un développeur a découvert un malveillant caché dans un dépôt GitHub partagé via un message LinkedIn prétendument d'un recruteur. Le code malveillant s'exécute automatiquement lors de l'installation des dépendances npm, téléchargeant puis exécutant un deuxième étage de payload depuis un serveur distant.

La semaine dernière, un développeur full-stack Python a reçu un message LinkedIn d'un recruteur travaillant pour une petite startup de cryptomonnaies. Après quelques échanges, le recruteur lui a demandé d'examiner un dépôt GitHub public, particulièrement une « question de modules Node obsolètes ». Soupçonneux, le développeur a cloné le répo sur un serveur jetable Hetzner en mode lecture seule avec des outils limités au lieu de l'installer localement. En analysant le code, il a découvert un piège dans le fichier app/test/index.js : environ 250 lignes déguisées en suite de tests contenant une URL assemblée depuis des fragments qui se résolvait en https://rest-icon-handler.store/icons/77. Le script npm « prepare » s'exécute automatiquement après « npm install » et charge ce fichier, déclenchant le téléchargement et l'exécution d'un payload depuis le serveur. L'historique des 39 commits a été attribué à un vrai développeur dont l'identité avait été usurpée sur GitHub. Le profil LinkedIn du recruteur appartenait à une journaliste culturelle bien connue, complètement non-technique, qui s'est soudainement transformée en experte npm lors de la conversation.

Source

roman.pt — Lire l'original →