En bref

  • 36 paquets malveillants déguisés en plugins Strapi CMS ont été découverts sur le registre npm.
  • Ils déploient des reverse shells, exploitent Redis et PostgreSQL, et volent des identifiants.
  • La campagne cible notamment la passerelle de paiement crypto Guardarian.

Ce qui s'est passé

Des chercheurs en sécurité ont identifié 36 paquets malveillants sur le registre npm, tous déguisés en plugins communautaires pour le CMS open source Strapi. Les paquets suivent une convention de nommage cohérente commençant par « strapi-plugin- » suivie de termes crédibles comme « cron », « database » ou « server », et utilisent le numéro de version 3.6.8 pour se faire passer pour des extensions matures compatibles Strapi v3.

Chaque paquet contient trois fichiers : package.json, index.js et postinstall.js. Ce dernier s'exécute automatiquement après l'installation et déclenche la charge utile. Selon l'analyse publiée par The Hacker News, les payloads varient : certains déploient un web shell PHP et un reverse shell Node.js via SSH dans le répertoire public de Strapi, d'autres exploitent une instance Redis locale pour injecter une entrée crontab téléchargeant et exécutant un script distant toutes les minutes.

L'enquête a révélé que la campagne cible spécifiquement Guardarian, une passerelle de paiement en cryptomonnaies. Les indices incluent des requêtes directes vers les bases de données associées à Guardarian, l'utilisation d'un module API Guardarian, et le ciblage de fichiers de portefeuilles spécifiques. Les chercheurs recommandent à quiconque a installé l'un de ces paquets de considérer son environnement comme compromis et de procéder à une rotation complète des identifiants.

Pourquoi c'est important

Les attaques supply chain via npm ne faiblissent pas. Après les 1 700 paquets nord-coréens et la compromission d'Axios découverts ces dernières semaines, cette campagne confirme que les registres de paquets restent un vecteur d'attaque privilégié. La sophistication est croissante : les attaquants ne se contentent plus de vol de tokens, ils déploient des implants persistants et exploitent les services d'infrastructure locaux comme Redis. Pour les équipes DevSecOps, cela renforce la nécessité d'auditer systématiquement les dépendances avec des outils comme Socket, Snyk ou npm audit, et de verrouiller les versions avec des lockfiles signés.

Ce qu'il faut retenir

  • Vérifiez immédiatement si l'un des 36 paquets « strapi-plugin-* » malveillants figure dans vos projets.
  • Considérez tout environnement ayant installé ces paquets comme compromis : rotation des clés, tokens et mots de passe.
  • Intégrez un outil d'analyse de dépendances dans votre pipeline CI/CD pour détecter les paquets suspects avant déploiement.

Comment vérifier si mes projets sont affectés par ces paquets malveillants ?

Lancez la commande « npm ls » dans chacun de vos projets et recherchez tout paquet commençant par « strapi-plugin- » avec la version 3.6.8. Vous pouvez aussi utiliser « npm audit » pour une vérification automatisée. Si vous trouvez l'un de ces paquets, supprimez-le immédiatement, purgez le cache npm, et procédez à un audit complet de votre serveur, en particulier les répertoires publics de Strapi et les entrées crontab.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact