Tous les articles

Les registres et la faille de npm : Sécuriser le maillon faible de la chaîne d'approvisionnement en logiciels

Bria Giordano, directrice du marketing produit

La compromission récente de 20 paquets npm populaires, avec plus de 2 milliards de téléchargements, nous rappelle brutalement que les attaques contre la chaîne d'approvisionnement sont de plus en plus sophistiquées et répandues. Ces attaques ont ciblé des paquets légitimes et largement utilisés, démontrant que les acteurs malveillants ne se contentent pas de créer de faux paquets - ils infiltrent les fondements mêmes de notre écosystème logiciel.

Chainguard n'a pas été affecté par cette compromission. Cependant, l'ampleur et l'efficacité de cette attaque devraient être un signal d'alarme pour toutes les équipes logicielles. Voyons comment cela s'est produit, ce que cela signifie pour l'écosystème dans son ensemble, et comment les bibliothèques Chainguard fournissent une défense fondamentalement différente (et éprouvée !).

L'attaque de npm : Un appel à la vigilance pour tous les écosystèmes

Les attaquants ne se sont pas contentés de compromettre le registre des paquets, ils ont conçu le code malveillant pour :

  • Voler des variables d'environnement sensibles et des clés API

  • Exfiltrer des jetons d'authentification à partir de variables de développement

  • Créer des portes dérobées dans les systèmes de production

  • Compromettre les pipelines CI/CD et les processus de déploiement

  • Rester indétectable pendant de longues périodes

Mais voici le point critique : ce type d'attaque n'est pas limité à npm. Les mêmes vecteurs existent dans tous les principaux registres d'écosystèmes de paquets, y compris PyPI pour Python et Maven Central pour Java.

Pourquoi cela peut se produire n'importe où

Les attaques de la chaîne d'approvisionnement ciblant les registres de paquets partagent des vulnérabilités communes à tous les écosystèmes :

  • Prise de contrôle des comptes : Les attaquants peuvent compromettre les comptes des responsables dans n'importe quel registre

  • Typosquatting : Des paquets malveillants portant des noms similaires à des paquets populaires existent partout

  • Les noms de paquets internes sont détournés publiquement

  • Mises à jour dissimulées

Le rayon d'action de ces attaques peut être énorme et concerner des millions d'applications.

Contournement de la gestion traditionnelle de la chaîne d'approvisionnement

Ces attaques sont efficaces car elles sont capables de contourner les mesures de sécurité existantes. La plupart des logiciels malveillants, y compris les récentes compromissions de npm, contournent les systèmes de gestion de la chaîne d'approvisionnement en injectant des charges utiles directement dans les registres de paquets tels que npm, PyPI et Maven Central.

Cette approche est particulièrement efficace car elle exploite le modèle de confiance fondamental des registres de paquets, à savoir l'hypothèse selon laquelle ce qui est publié correspond à ce qui se trouve dans le référentiel source.

Bibliothèques Chainguard : Retour à la source

C'est ici que Chainguard Libraries change fondamentalement l'équation de la sécurité. Au lieu de faire confiance à des téléchargements de registres potentiellement compromis, nous construisons tout directement à partir d'un code source vérifié, éliminant ainsi les attaques basées sur les registres :

  • Paquets reconstruits à partir des sources

  • Provenance vérifiable

  • Constructions conformes à SLSA

  • SBOMs signés

Notre approche de la construction directement à partir des sources élimine le risque de l'écrasante majorité des attaques de logiciels malveillants à travers tous les écosystèmes. Pourquoi ? Parce que la grande majorité des attaques de la chaîne d'approvisionnement reposent sur l'injection d'un code malveillant quelque part entre le référentiel source et votre téléchargement - exactement la faille que Chainguard Libraries comble.

Le coût de l'inaction

L'attaque de npm démontre que les compromissions de la chaîne d'approvisionnement ne sont pas des menaces théoriques ; elles se produisent en ce moment même, à grande échelle. La question n'est pas de savoir si votre écosystème sera ciblé, mais quand.

Chaque jour où vous continuez à utiliser la gestion traditionnelle des paquets, votre surface d'attaque augmente. Mais vous n'avez pas besoin d'attendre la prochaine attaque pour affecter vos applications. Les bibliothèques Chainguard offrent une solution proactive et complète qui élimine entièrement ces vecteurs d'attaque en remontant à la source.

La meilleure défense contre les attaques de la chaîne d'approvisionnement n'est pas de les détecter après qu'elles se soient produites. Il s'agit de construire à partir d'un code source fiable dès le départ. Vous pouvez essayer les bibliothèques Chainguard pour Python et Java dès aujourd'hui, et d'autres langages seront bientôt disponibles.

Share this article

Articles connexes

Vous souhaitez en savoir plus sur Chainguard?

Contactez-nous