Au début de cette semaine, l'outil de sécurité Socket a rapporté qu'un certain nombre de packages NPM populaires avaient été compromis, ce qui a probablement compromis les machines des développeurs. Voyons comment cette exploitation a fonctionné et comment vous pouvez vous protéger contre cela 👇
Étape 1 : Accès au publieur NPM Les hackers ont utilisé le phishing pour compromettre des comptes ayant des droits de publication sur ces paquets. Cela a permis aux hackers de publier des versions malveillantes de ces paquets NPM populaires.
Étape 2 : L'installation des dépendances télécharge des logiciels malveillants Lorsqu'un développeur installe cette nouvelle version malveillante, un script "postinstall" dans le package NPM s'exécute après l'installation et télécharge + exécute des logiciels malveillants sur la machine du développeur. Cela peut compromettre d'autres comptes de développeurs ou voler des identifiants de leur ordinateur.
Comment pouvons-nous nous protéger contre ce type d'exploitation ? En tant qu'auteur de package : Utilisez l'authentification à deux facteurs (2FA) afin que les campagnes de phishing aient moins de chances de compromettre les droits de publication de vos packages. En tant que développeur : 1. Verrouillez les dépendances. C'est heureusement déjà une pratique standard, sinon l'impact de cette exploitation aurait été beaucoup plus élevé. 2. Évitez les scripts post-installation lorsque cela est possible. La plupart des packages n'ont pas besoin d'un script post-installation pour fonctionner, donc il est recommandé de les désactiver. MetaMask a créé un excellent outil open source pour cela appelé LavaMoat. 3. Auditez les dépendances. La meilleure façon de se protéger contre ce type d'exploitation est d'être prudent quant aux dépendances que vous ajoutez à votre projet dès le départ. Socket est un outil très utile pour aider à automatiser ce type d'audit.
314