Présentation du problème

Les gestionnaires de packages tels que npm, pnpm et yarn ont récemment mis en place un délai de refroidissement pour les publications de packages, allant de 24 heures à 7 jours. Cette mesure vise à prévenir les attaques sur l'écosystème, mais elle est considérée comme du « théâtre de sécurité ».

Limites du délai de refroidissement

L'hypothèse sous-jacente à cette approche est que la communauté « vérifiera » les packages avant leur installation. Cependant, personne ne sait vraiment qui effectuera cette vérification, ni combien de temps cela prendra. Le délai de refroidissement ne fonctionnera pas si tout le monde l'applique, car il n'y aura alors personne pour tester les packages en premier.

Insuffisance des pipelines CI/CD

Certaines équipes utilisent des pipelines ou des outils de CI/CD pour intégrer les dernières versions de packages via des demandes de tirage automatiques. Mais lorsque du code malveillant est présent, il peut passer inaperçu ou réussir à exploiter le système, et les développeurs installeront le package sans hésitation. Les problèmes ne seront détectés qu'une fois que les dommages seront déjà faits.

Recherche personnelle et analyse active

La solution proposée est de faire sa propre recherche (DYOR) et d'analyser activement les codes des packages. Cela implique de traiter les codes fournis comme des exécutables Windows téléchargés sur Internet et d'utiliser des outils d'analyse statique, des tests de sécurité et des environnements de test pour évaluer les risques. Les audits assistés par le machine learning peuvent également être utilisés pour examiner les codes des packages avant leur intégration ou installation.

npm install

En résumé, le délai de refroidissement ne suffit pas à assurer la sécurité des packages. Il est essentiel de passer à une approche plus active, impliquant l'analyse et la vérification des codes pour prévenir les attaques et protéger l'écosystème.