Tous les articles

Annonce des bibliothèques Chainguard : Dépendances gardées du langage Java construites à partir de la source

Jason van Zyl, Senior Manager, Engineering et Aaditya Jain, Senior Product Marketing Manager

Maintenant en version bêta.

Nous sommes heureux d'annoncer la sortie de la version Beta de Chainguard Libraries, un catalogue de dépendances Java protégées, construites en toute sécurité à partir des sources dans l'infrastructure certifiée SLSA de Chainguard. Conçues pour une consommation sécurisée et sans friction par les entreprises, les bibliothèques Chainguard s'éloignent de l'approche orientée vers l'édition des registres de paquets publics les plus répandus, qui n'appliquent qu'un contrôle minimal à leurs artefacts hébergés.

Avec Libraries, Chainguard fournira à ses clients une source standardisée permettant à leurs développeurs d'utiliser en toute sécurité les bibliothèques de langues sans compromettre la sécurité de la chaîne d'approvisionnement, tout en éliminant le travail associé à la curation des paquets et en préservant les flux de travail existants des développeurs afin de minimiser les frictions. Les bibliothèques Chainguard protègent contre les attaques de la chaîne d'approvisionnement aux stades de la construction et de la distribution du cycle de vie de la bibliothèque. En fin de compte, Chainguard Libraries permet aux entreprises de créer des produits plus rapidement et plus efficacement sans sacrifier la sécurité. Dans cet article de blog, nous allons nous pencher sur les motivations qui nous ont poussés à créer les bibliothèques Chainguard et sur la valeur que nous apportons à nos clients.

Défis posés par le statu quo en matière de consommation de bibliothèques de langues

Les clients s'adressent à Chainguard pour sécuriser leurs applications à chaque couche de la pile - le système d'exploitation, le moteur d'exécution de l'application, les bibliothèques de langage et leur code. Avec Chainguard Containers, Chainguard propose depuis longtemps une solution pour l'OS et l'exécution d'applications spécialisées. Mais nos clients professionnels nous ont demandé à plusieurs reprises de mettre au point un mécanisme sécurisé et simple permettant à leurs développeurs d'utiliser également des bibliothèques linguistiques. En effet, dans le cadre du statu quo, les développeurs extraient les bibliothèques de registres publics populaires tels que Maven, PyPI et NPM, qui sont depuis longtemps optimisés pour la commodité des éditeurs et ne vérifient pas les artefacts téléchargés en fonction des normes de sécurité de l'entreprise. En optimisant pour les éditeurs, ces registres publics introduisent des coûts réels pour les entreprises. Ceci est évident dans le nombre croissant d'attaques de la chaîne d'approvisionnement aux étapes de construction et de distribution du cycle de vie des dépendances (illustré dans les figures 1 et 2 ci-dessous).

Figure 1: The package lifecycle and types of supply chain attacks.
Figure 2: Examples of supply chain attacks at each stage of the package lifecycle.

La surface d'attaque des bibliothèques non fiables n'est pas théorique - les menaces sont réelles et augmentent rapidement. Au stade de la construction, de nombreuses versions de Maven ne sont pas automatisées, ce qui signifie que ces bibliothèques sont construites sur un ordinateur portable local qui ne peut tout simplement pas garantir la sécurité ou l'intégrité des artefacts. Et même lorsque les versions sont automatisées, la sécurité de la chaîne d'approvisionnement est minimale. Prenons l'exemple de la récente attaque contre le projet Ultralytics en python, une bibliothèque qui compte plus de 60 millions de téléchargements par an. Les attaquants ont compromis un pipeline de construction pour extraire les informations d'identification CI/CD, puis ont injecté un module malveillant qui déploie un cryptomineur pour voler la crypto-monnaie de l'utilisateur.

Le secteur a également connu des attaques notables au stade de la distribution du cycle de vie des paquets. En janvier 2024, des attaquants ont exploité des domaines de projets Java abandonnés et ont utilisé ce point d'entrée pour exécuter des remplacements de paquets non autorisés dans Maven Central. L'attaque "MavenGate" a permis à des acteurs malveillants de télécharger des paquets malveillants dans Maven Central et d'avoir un impact sur un large éventail d'outils de construction Java populaires tels que Gradle.

Alors que les registres publics s'efforcent de mettre en œuvre les meilleures pratiques de sécurité pour atténuer certains de ces problèmes, les entreprises n'ont pas le luxe de disposer de suffisamment de temps. Les problèmes auxquels sont confrontées les constructions et les distributions de paquets ont un impact sur nos clients aujourd'hui. Il est clair que le statu quo en matière de consommation de dépendances linguistiques est rompu, car les entreprises manquent totalement d'intégrité de bout en bout pour savoir comment, où et par qui ces bibliothèques ont été construites.

La solution de Chainguard : Chainguard Libraries

Pour répondre à ces défis dans le développement et le déploiement d'applications d'entreprise, nous avons créé Chainguard Libraries, un catalogue de dépendances de langages protégées, construit entièrement à partir des sources dans nos environnements de construction renforcés, afin d'éliminer les attaques de la chaîne d'approvisionnement lors de la construction et de la distribution des paquets. Chainguard Libraries permet aux organisations d'ingénierie d'éliminer les menaces de sécurité de la chaîne d'approvisionnement provenant des dépendances de langage, sans compromettre la productivité des développeurs ou une expérience sans friction.

Java est l'un des écosystèmes open source les plus importants pour les développeurs d'entreprise au niveau mondial, se classant fréquemment dans le top 3 des langages les plus utilisés. Maven Central à lui seul a vu plus de 1,5 trillion de demandes d'extraction en 2024, avec une croissance de plus de 36% par rapport à l'année précédente. Les clients de Chainguard ont souligné à plusieurs reprises que leur empreinte Java est énorme et croissante. C'est pourquoi Chainguard construit plus de 20 000 projets Java parmi les plus populaires avec 5 ans de couverture de version. Et nous prévoyons d'étendre notre portefeuille de produits pour couvrir d'autres écosystèmes en fonction des commentaires de nos clients.

Il y a quelques piliers clés de valeur que nous fournirons avec Chainguard Libraries for Java :

  1. Renforcement contre les attaques de la chaîne d'approvisionnement : Les attaques de la chaîne d'approvisionnement résultant de systèmes de construction et de mécanismes de distribution de paquets compromis ont proliféré rapidement. Ces attaques sont le résultat direct de l'utilisation par les développeurs de bibliothèques de langages dont la vérification, la provenance et la sécurité de construction sont insuffisantes. Les bibliothèques Chainguard protégeront les entreprises contre ces formes d'attaques en construisant des bibliothèques entièrement à partir des sources dans notre environnement renforcé avec une intégrité de bout en bout pour les constructions, les tests et les distributions.

  2. L'expérience du développeur sans friction : Pour résoudre le problème des bibliothèques de langues non sécurisées, les entreprises adoptent souvent des programmes de curation manuels ou basés sur des politiques. Mais ces approches peuvent ralentir les cycles de développement parce qu'elles bloquent les flux de travail existants des développeurs et introduisent des frictions. Par exemple, exiger des développeurs qu'ils ouvrent un ticket informatique lorsqu'ils veulent utiliser un nouveau projet Java pour le développement et les faire attendre pendant des semaines pour obtenir l'approbation est intenable et va à l'encontre du but recherché. Les bibliothèques Chainguard s'intègrent aux gestionnaires d'artefacts courants afin de préserver les flux de travail sans friction des développeurs et d'éliminer le travail associé à la curation interne sans compromettre la sécurité de la chaîne d'approvisionnement. Cet équilibre permet aux entreprises de livrer des logiciels rapidement tout en restant sûres.

  3. Normalisation de l'Open Source : L'ambition de Chainguard est de construire un point d'accès standardisé pour toutes les bibliothèques de l'écosystème linguistique. En standardisant l'utilisation des bibliothèques open source par les développeurs vers une source sûre, les entreprises obtiennent une meilleure visibilité sur ce qui est utilisé et où, et éliminent l'informatique fantôme.

Getting Started with Chainguard Libraries for Java

Nous sommes impatients de connaître vos réactions lorsque vous commencerez à construire avec les librairies Chainguard. Vos commentaires joueront un rôle clé dans l'élaboration des plans futurs de Chainguard pour incorporer des capacités supplémentaires qui offrent encore plus de valeur.

Si vous souhaitez en savoir plus sur la façon dont Chainguard Libraries peut transformer votre chaîne d'approvisionnement logicielle, contactez-nous dès aujourd'hui. Les clients existants de Chainguard Containers peuvent commencer à utiliser Chainguard Libraries en contactant leurs équipes de compte et en explorant notre documentation.

Share this article

Articles connexes

Vous souhaitez en savoir plus sur Chainguard?

Contactez-nous