Par Arthur Dekeyser
En résumé
CrowdStrike a identifié PhantomRaven comme un voleur d’informations JavaScript diffusé via npm.
L’opérateur se présente comme un chasseur de primes actif depuis novembre 2022.
npm 12 bloque les scripts de préinstallation des dépendances sans approbation explicite du développeur.
Le signal : PhantomRaven a été diffusé via deux paquets npm liés aux comptes jpdhellonpm1 et jpd15.
Vous appréciez ce genre d'analyse ?
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Gratuit, sans engagement.
+11 000 fondateurs abonnés
CrowdStrike a identifié PhantomRaven, un voleur d’informations en JavaScript diffusé via npm. L’annonce figure dans une analyse publiée le 15 septembre 2026 par l’équipe Counter Adversary Operations. L’opérateur serait motivé financièrement et se présenterait comme un chasseur de primes. CrowdStrike estime avec un niveau de confiance élevé que le logiciel a été développé avec l’aide d’un grand modèle de langage. Les chercheurs citent des commentaires très détaillés, du code de remplissage et des analyses statistiques de jetons. L’analyse complète de CrowdStrike décrit aussi plusieurs incidents traités par Falcon Complete, le service de détection et réponse géré de l’entreprise.
L’opérateur revendique une activité de chasseur de primes depuis novembre 2022. Son profil public sur X indique des récompenses obtenues auprès d’au moins neuf organisations. Ces organisations appartiennent aux secteurs technologique, de la distribution et de l’hôtellerie. Les soumissions seraient passées par Bugcrowd, Intigriti, YesWeHack, HackenProof et HackerOne. CrowdStrike n’a pas observé de journaux PhantomRaven proposés sur des boutiques spécialisées. L’équipe en déduit que l’opérateur utiliserait probablement le voleur pour repérer des opportunités de chasse aux vulnérabilités. En novembre 2025, l’acteur avait contacté une organisation ciblée. Il avait alors attribué la compromission à une attaque par confusion de dépendances.
Deux paquets npm contenaient les scripts PhantomRaven identifiés par Falcon Complete. Le premier, transform-jsbi-to-bigint, avait été publié par l’utilisateur jpdhellonpm1. Le second, sort-imports-es6-autofix, venait de l’utilisateur jpd15. CrowdStrike relie les deux comptes au même opérateur avec un niveau de confiance élevé. Les descriptions et champs d’auteur contiennent le nom ou les initiales de l’acteur. Les deux identifiants reprennent aussi la chaîne JPD présente dans l’adresse utilisée lors du contact de novembre 2025. Plusieurs autres identifiants sont associés à des déploiements similaires, dont jpd12, jpd13, npmhell et jpdhackerone11. Ce dernier fait référence à HackerOne.
Les paquets malveillants utilisent des noms proches de paquets légitimes et contiennent souvent un code minimal. Ce code peut se limiter à un script « Hello, world! ». Les paquets déclarent toutefois une dépendance via une adresse HTTP, plutôt qu’une référence npm standard. Lors de l’installation, npm récupère cette dépendance distante depuis une infrastructure contrôlée par l’attaquant. Le paquet retourné contient alors la charge PhantomRaven. Un script de préinstallation s’exécute automatiquement pendant l’installation. Les comptes concernés ont aussi publié des paquets contenant des liens de dépendance dynamique distante vers npm[.]jpartifacts[.]com. Cette infrastructure a servi aux communications de commande et de contrôle lors d’incidents de novembre 2025.
La protection évolue avec une version publiée par npm en juin 2026. Dans npm 12 ou une version ultérieure, un script de préinstallation inclus dans une dépendance est bloqué par défaut. Le développeur reçoit un avertissement lorsque ce script est détecté. L’exécution nécessite ensuite une approbation explicite. Cette modification concerne directement le mécanisme utilisé par les paquets PhantomRaven pour lancer leur charge pendant l’installation. En août 2025, l’opérateur avait affirmé avoir obtenu une exécution de code à distance avec un paquet npm malveillant. CrowdStrike n’a pas pu vérifier cette déclaration. Une campagne de novembre 2025 a toutefois présenté des techniques similaires.
Les traces s’étendent également à Python et PyPI. En décembre 2025, CrowdStrike a identifié le compte GitHub de l’acteur. En février 2025, ce compte avait ouvert un ticket auprès de PyPI au sujet d’un échec de téléversement. Un membre de l’organisation PyPI avait expliqué que la plateforme refusait les noms proches de projets existants ou supprimés. Cette règle vise à prévenir les attaques par confusion de dépendances. Le membre avait aussi accusé l’acteur de tenter de créer un voleur d’informations. Le projet principal a ensuite été retiré. Plusieurs fichiers Python associés restent accessibles et contiennent un code similaire à PhantomRaven, avec l’adresse jpdtester01@gmail[.]com dans les métadonnées.
Les équipes de défense disposent donc d’un signal supplémentaire dans la chaîne logicielle. Les noms transform-jsbi-to-bigint et sort-imports-es6-autofix apparaissent dans les incidents analysés. Le domaine npm[.]jpartifacts[.]com apparaît également dans les liens de dépendance dynamique distante. La version npm 12 ou ultérieure ajoute une demande d’approbation avant l’exécution des scripts de préinstallation. Falcon Complete a déjà répondu à plusieurs incidents PhantomRaven et les a remédiés. CrowdStrike relie par ailleurs l’outil à un opérateur qui utilise des plateformes de chasse aux vulnérabilités. Le rapport de CrowdStrike détaille les comptes npm, les fichiers Python et les infrastructures associés à cette activité.
Gardez un coup d'avance en IA et tech.
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Zéro spam.
+11 000 fondateurs abonnés