<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Chainguard Libraries on</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/tags/chainguard-libraries/</link><description>Recent content in Chainguard Libraries on</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Mon, 01 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/tags/chainguard-libraries/index.xml" rel="self" type="application/rss+xml"/><item><title>Chainguard Libraries overview</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/</guid><description>&lt;p&gt;&lt;a href="https://www.chainguard.dev/libraries"&gt;Chainguard Libraries&lt;/a&gt; provide enhanced
security for open source dependencies in the Java, JavaScript, and Python
ecosystems, addressing critical supply chain vulnerabilities through automated
patching and continuous monitoring. Modern applications rely heavily on
libraries from public repositories like &lt;a href="https://central.sonatype.com/"&gt;Maven
Central&lt;/a&gt;, &lt;a href="https://www.npmjs.com/"&gt;npm Registry&lt;/a&gt;,
and &lt;a href="https://pypi.org/"&gt;PyPI&lt;/a&gt;, but using these repositories introduces supply
chain risks that could expose your applications and system to compromise.&lt;/p&gt;
&lt;h2 id="background" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Background&lt;/span&gt;
&lt;a href="#background" class="anchor" aria-label="Link to Background" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Open source libraries distributed through public repositories face several
security challenges: maintainers may not promptly address vulnerabilities,
binary artifacts can be compromised, and the sheer volume of transitive
dependencies makes manual security management impractical. While these
repositories enable rapid development, they also introduce supply chain risks
that traditional security approaches struggle to address.&lt;/p&gt;</description></item><item><title>Quick start for Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/quickstart/</link><pubDate>Tue, 25 Mar 2025 00:08:04 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/quickstart/</guid><description>&lt;p&gt;Most supply chain attacks succeed the same way: malicious code is injected into
a package after the source is written — either as a backdoored binary with no
verifiable source, or as a malicious install-time script that runs the moment a
dependency is pulled. Recent attacks on LiteLLM, Telnyx, and Axios all followed
this pattern.&lt;/p&gt;
&lt;p&gt;Chainguard Libraries are rebuilt from verified source in an isolated build
environment, making them malware-resistant by design. If the source can&amp;rsquo;t be
verified, the package doesn&amp;rsquo;t appear in the Chainguard Libraries repository. They are
drop-in replacements for the Python, Java, and JavaScript packages your
engineers already use, with no breaking changes.&lt;/p&gt;</description></item><item><title>Chainguard Libraries access</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/access/</link><pubDate>Tue, 25 Mar 2025 00:08:04 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/access/</guid><description>&lt;p&gt;Chainguard Libraries provide controlled access to security-enhanced Java and
Python dependencies through the unified Chainguard platform authentication
system. This guide explains how to access (download) Chainguard library artifacts for your organization.&lt;/p&gt;
&lt;h2 id="getting-started" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Getting started&lt;/span&gt;
&lt;a href="#getting-started" class="anchor" aria-label="Link to Getting started" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="prerequisites" class="heading-3" data-heading-level="3"&gt;
&lt;span class="heading-text"&gt;Prerequisites&lt;/span&gt;
&lt;a href="#prerequisites" class="anchor" aria-label="Link to Prerequisites" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Ensure you have access to Chainguard Libraries.
&lt;ul&gt;
&lt;li&gt;If you are not a Chainguard user yet, a new Chainguard account must be
created and configured for access to Chainguard Libraries.&lt;/li&gt;
&lt;li&gt;If you are already a Chainguard user, the Chainguard account owner in your
organization can grant access to Chainguard Libraries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Confirm the name of your organization so you can use it with the &lt;code&gt;--parent&lt;/code&gt;
parameter to specify your organization when running commands with &lt;code&gt;chainctl&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="direct-access-vs-artifact-manager" class="heading-3" data-heading-level="3"&gt;
&lt;span class="heading-text"&gt;Direct access vs. artifact manager&lt;/span&gt;
&lt;a href="#direct-access-vs-artifact-manager" class="anchor" aria-label="Link to Direct access vs. artifact manager" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;There are two approaches to access: Using an artifact manager or
direct access.&lt;/p&gt;</description></item><item><title>Chainguard Libraries network requirements</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/network-requirements/</link><pubDate>Wed, 04 Jun 2025 09:30:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/network-requirements/</guid><description>&lt;p&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/"&gt;Chainguard Libraries&lt;/a&gt; require specific network access to ensure secure delivery of hardened dependencies to your development environment. This guide details the domains and ports needed for authentication, package downloads, and verification tools.&lt;/p&gt;
&lt;h2 id="access-for-chainctl-and-other-tools" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Access for chainctl and other tools&lt;/span&gt;
&lt;a href="#access-for-chainctl-and-other-tools" class="anchor" aria-label="Link to Access for chainctl and other tools" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;For initial configuration with chainctl as well as for verification of
downloaded libraries with cosign and other tools, you must allow HTTPS access to
the following domains:&lt;/p&gt;</description></item><item><title>Chainguard Libraries verification</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/verification/</link><pubDate>Thu, 03 Jul 2025 12:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/verification/</guid><description>&lt;h2 id="overview" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Overview&lt;/span&gt;
&lt;a href="#overview" class="anchor" aria-label="Link to Overview" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Chainguard&amp;rsquo;s &lt;code&gt;chainctl&lt;/code&gt; tool with the command &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainctl/chainctl-docs/chainctl_libraries_verify/"&gt;&lt;code&gt;libraries verify&lt;/code&gt;&lt;/a&gt; verifies
that your language ecosystem dependencies come from Chainguard Libraries,
providing critical visibility into your software supply chain security. By
verifying binary artifacts across your projects and repositories, you can ensure
dependencies are sourced from Chainguard&amp;rsquo;s hardened build environment rather
than potentially compromised public repositories, identify opportunities to
improve security posture, and maintain compliance with supply chain security
policies.&lt;/p&gt;</description></item><item><title>CVE remediation for Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/cve-remediation/</link><pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/cve-remediation/</guid><description>&lt;p&gt;CVE remediation for Chainguard Libraries provides protection against
critical and high CVEs. Applications often rely on older versions of libraries,
but upstream maintainers may not apply and release patches for those versions.
Chainguard addresses this gap by backporting vulnerability fixes
from newer releases to older releases, particularly in cases where maintainers
are no longer able to support and provide fixes.&lt;/p&gt;
&lt;p&gt;CVE remediation helps reduce risk for organizations that cannot always upgrade
quickly, especially when moving to a newer version would introduce disruptive
changes. Remediated artifacts are published as incremental patch versions, allowing teams to take a targeted fix for a CVE without taking on a broader upgrade at the same time.&lt;/p&gt;</description></item><item><title>Vulnerability scanners and Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/scanners/</link><pubDate>Sat, 04 Oct 2025 12:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/scanners/</guid><description>&lt;p&gt;Vulnerability scanners enable you to understand the potential security risks
from libraries used within your applications.&lt;/p&gt;
&lt;p&gt;Chainguard Libraries provides a trusted source for libraries typically
downloaded from public repositories. Chainguard Libraries are rebuilt from the
upstream open source project code repository content only. This prevents malware
without published source code and reduces almost all risk for software supply
chain attacks. In addition, some library versions are available with CVE fixes
applied. These fixes are backported from newer versions of the open source
project by Chainguard to create new libraries of older versions containing these
newer changes. Find more details in &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/cve-remediation/"&gt;CVE
Remediation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Browsing Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/browse/</link><pubDate>Thu, 03 Jul 2025 14:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/browse/</guid><description>&lt;p&gt;Chainguard Libraries includes thousands of libraries and many more individual
library versions and artifacts. Through the Chainguard Console, you can
browse all available libraries and their versions, and inspect their
characteristics before using them in your application development.&lt;/p&gt;
&lt;h2 id="access-libraries-in-the-chainguard-console" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Access libraries in the Chainguard Console&lt;/span&gt;
&lt;a href="#access-libraries-in-the-chainguard-console" class="anchor" aria-label="Link to Access libraries in the Chainguard Console" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Log in to the Chainguard Console at
&lt;a href="https://console.chainguard.dev/"&gt;https://console.chainguard.dev/&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Chainguard Libraries for Python overview</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/overview/</link><pubDate>Wed, 09 Apr 2025 04:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/overview/</guid><description>&lt;h2 id="introduction" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Introduction&lt;/span&gt;
&lt;a href="#introduction" class="anchor" aria-label="Link to Introduction" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Chainguard Libraries for Python provides enhanced security for the vast Python
ecosystem by rebuilding PyPI packages with comprehensive supply chain protection
and automated patching. With over 600,000 packages on the &lt;a href="https://pypi.org/"&gt;Python Package Index
(PyPI)&lt;/a&gt; serving application development, machine learning,
and data science needs, Chainguard addresses the critical security challenges of
depending on packages from untrusted sources by rebuilding them within the
controlled Chainguard Factory environment. In addition, Chainguard eliminates
security risk by remediating High and Critical vulnerabilities across older
package versions where upstream maintainers are not able to prioritize fixes.&lt;/p&gt;</description></item><item><title>Chainguard Libraries FAQ</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/faq/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/faq/</guid><description>&lt;h2 id="what-security-issues-can-chainguard-libraries-prevent" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;What security issues can Chainguard Libraries prevent?&lt;/span&gt;
&lt;a href="#what-security-issues-can-chainguard-libraries-prevent" class="anchor" aria-label="Link to What security issues can Chainguard Libraries prevent?" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;As detailed on the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/#background"&gt;background&lt;/a&gt; and
&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/#introduction"&gt;introduction&lt;/a&gt; pages, Chainguard
Libraries are built directly from source in the Chainguard Factory and the
resulting binaries are directly provided to you by Chainguard. Chainguard
operates the whole supply chain for the package lifecycle as one reliable,
secure partner. You can therefore avoid issues from the following software
supply chain attack surface points:&lt;/p&gt;</description></item><item><title>Chainguard Libraries for JavaScript overview</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/overview/</link><pubDate>Thu, 05 Jun 2025 09:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/overview/</guid><description>&lt;p&gt;&lt;strong&gt;Chainguard Libraries for JavaScript&lt;/strong&gt; is a major ecosystem supported by
&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/"&gt;Chainguard Libraries&lt;/a&gt;. The JavaScript
ecosystem consists of thousands of open source projects from the communities
around &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"&gt;JavaScript&lt;/a&gt;,
&lt;a href="https://www.typescriptlang.org/"&gt;TypeScript&lt;/a&gt;, &lt;a href="https://nodejs.org/"&gt;Node.js&lt;/a&gt;,
&lt;a href="https://react.dev/"&gt;React&lt;/a&gt;, &lt;a href="https://vuejs.org/"&gt;Vue.js&lt;/a&gt;,
&lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt;, &lt;a href="https://svelte.dev/"&gt;Svelte&lt;/a&gt;,
&lt;a href="https://nextjs.org/"&gt;Next.js&lt;/a&gt;, &lt;a href="https://expressjs.com/"&gt;Express&lt;/a&gt;, and many
others.&lt;/p&gt;
&lt;p&gt;Chainguard Libraries for JavaScript provides access to a growing collection of
popular Javascript packages rebuilt from source. New releases of packages
requested by customers are built and added to the index by an automated system.
These libraries can also be consumed through the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/chainguard-repository/"&gt;Chainguard
Repository&lt;/a&gt;, which provides a
single endpoint for package retrieval and supports configurable security
policies for both Chainguard-built and upstream packages.&lt;/p&gt;</description></item><item><title>Chainguard Libraries for Java overview</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/overview/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/overview/</guid><description>&lt;h2 id="introduction" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Introduction&lt;/span&gt;
&lt;a href="#introduction" class="anchor" aria-label="Link to Introduction" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Chainguard Libraries for Java provides enhanced security for the Java ecosystem by rebuilding popular Maven dependencies with the latest patches and comprehensive supply chain protection. As the first supported ecosystem in &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/"&gt;Chainguard Libraries&lt;/a&gt;, this service addresses critical vulnerabilities in the vast Java/JVM ecosystem that spans hundreds of projects from organizations like the Apache Software Foundation, Eclipse Foundation, and numerous independent maintainers.&lt;/p&gt;</description></item><item><title>Global configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/global-configuration/</link><pubDate>Thu, 05 Jun 2025 09:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/global-configuration/</guid><description>&lt;p&gt;JavaScript and npm package consumption in a large organization is typically
managed by a repository manager. Commonly used repository manager applications
are &lt;a href="https://jfrog.com/artifactory/"&gt;JFrog Artifactory&lt;/a&gt;, &lt;a href="https://www.sonatype.com/products/sonatype-nexus-repository"&gt;Sonatype Nexus
Repository&lt;/a&gt;, and
others. The repository manager acts as a single point of access for developers
and development tools to retrieve the required libraries.&lt;/p&gt;
&lt;p&gt;If your organization uses the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/overview/#upstream-fallback-policy-and-controls"&gt;upstream fallback&lt;/a&gt;
feature of Chainguard Repository, you can configure your repository manager
with a single upstream pointed at &lt;code&gt;https://libraries.cgr.dev/javascript/&lt;/code&gt;. This
is the recommended setup. The Chainguard Repository handles fallback and policy
enforcement; your repository manager handles local caching and access control.
Chainguard also retrieves packages from the public npm Registry on your
behalf when upstream fallback is enabled. This includes protections such as
malware detection and a cooldown period for newly published
packages.&lt;/p&gt;</description></item><item><title>Global configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/global-configuration/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/global-configuration/</guid><description>&lt;p&gt;Java and JVM library consumption in a large organization is typically managed by
a repository manager. Commonly used repository manager applications are
&lt;a href="https://cloudsmith.com/"&gt;Cloudsmith&lt;/a&gt;, &lt;a href="https://cloud.google.com/artifact-registry/docs"&gt;Google Artifact Registry&lt;/a&gt;, &lt;a href="https://jfrog.com/artifactory/"&gt;JFrog
Artifactory&lt;/a&gt;, and &lt;a href="https://www.sonatype.com/products/sonatype-nexus-repository"&gt;Sonatype Nexus
Repository&lt;/a&gt;. The
repository manager acts as a single point of access for developers and
development tools to retrieve the required libraries.&lt;/p&gt;
&lt;p&gt;At a high level, adopting the use of Chainguard Libraries consists of the
following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add Chainguard Libraries as a remote repository for library retrieval.&lt;/li&gt;
&lt;li&gt;Configure the Chainguard Libraries repository as the first choice for any
library access. This ensures that any future requests of new libraries access
the version supplied by Chainguard. Typically this is accomplished by creating a
group repository or virtual repository that combines the repository with other
external and internal repositories.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional steps depend on the desired insights and can include the following
optional measures:&lt;/p&gt;</description></item><item><title>Global configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/global-configuration/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/global-configuration/</guid><description>&lt;p&gt;Python library consumption in a large organization is typically managed by a
repository manager. Commonly used repository manager applications are
&lt;a href="https://cloudsmith.com/"&gt;Cloudsmith&lt;/a&gt;, &lt;a href="https://jfrog.com/artifactory/"&gt;JFrog
Artifactory&lt;/a&gt;, and &lt;a href="https://www.sonatype.com/products/sonatype-nexus-repository"&gt;Sonatype Nexus
Repository&lt;/a&gt;. The
repository manager acts as a single point of access for developers and
development tools to retrieve the required libraries.&lt;/p&gt;
&lt;p&gt;The recommended approach is to use the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/#upstream-fallback-and-controls"&gt;upstream
fallback&lt;/a&gt;
feature of Chainguard Repository, which allows you to configure your repository
manager with a single upstream pointed at &lt;code&gt;https://libraries.cgr.dev/python/&lt;/code&gt;. The
Chainguard Repository handles fallback and policy enforcement; your repository
manager handles local caching and access control. Chainguard also retrieves
packages from the public PyPI repository on your behalf when upstream
fallback is enabled. This includes protections such as malware detection and a
cooldown period for newly published packages.&lt;/p&gt;</description></item><item><title>Build configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/build-configuration/</link><pubDate>Thu, 05 Jun 2025 09:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/build-configuration/</guid><description>&lt;p&gt;The configuration for the use of Chainguard Libraries depends on your build
tools, continuous integration, and continuous deployment setups. This page is a
configuration reference for each supported JavaScript build tool. It covers
registry configuration, authentication, cache clearning, and minimal example
projects for npm, pnpm, Yarn, and Bun. The changes described on this page must
be performed on all workstations of individual developers and other engineers
running relevant application builds. They must also be performed on any build
server such as Jenkins, TeamCity, GitHub or other infrastructure that builds the
applications or otherwise downloads and uses relevant libraries.&lt;/p&gt;</description></item><item><title>Build configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/build-configuration/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/build-configuration/</guid><description>&lt;p&gt;The configuration for the use of Chainguard Libraries depends on your build
tools, continuous integration, and continuous deployment setups&lt;/p&gt;
&lt;p&gt;At a high level adopting the use of Chainguard Libraries consists of the
following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remove local caches on workstations and CI/CD pipelines. This step ensures that
any libraries that were already sourced from other repositories are requested
again and the version from Chainguard Libraries is used instead of other
binaries.&lt;/li&gt;
&lt;li&gt;Change configuration to access Chainguard Libraries via your repository
manager after the changes from the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/global-configuration/"&gt;global
configuration&lt;/a&gt; are
implemented.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These changes must be performed on all workstations of individual developers and
other engineers running relevant application builds. They must also be performed
on any build server such as Jenkins, TeamCity, GitHub or other infrastructure
that builds the applications or otherwise downloads and uses relevant libraries.&lt;/p&gt;</description></item><item><title>Build configuration</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/build-configuration/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/build-configuration/</guid><description>&lt;p&gt;The configuration for the use of Chainguard Libraries depends on how you&amp;rsquo;ve set up your build tools and CI/CD workflows. At a high level, adopting the use of Chainguard Libraries in your development, build, and deployment workflows involves the following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you or an administrator have not done so already, &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/global-configuration/"&gt;set up your organization&amp;rsquo;s repository manager to use Chainguard Libraries for Python&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Log into your organization&amp;rsquo;s repository manager and retrieve credentials for the build tool you are configuring.&lt;/li&gt;
&lt;li&gt;Configure your development or build tool with this information.&lt;/li&gt;
&lt;li&gt;Remove local caches on workstations and CI/CD pipelines. This step ensures that dependencies are preferentially sourced from Chainguard Libraries.&lt;/li&gt;
&lt;li&gt;Finally, confirm that your development tools and CI/CD workflows are correctly ingesting dependencies from Chainguard Libraries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These changes must be performed on all workstations of individual developers and
other engineers running relevant application builds. They must also be performed
on any build tool such as Jenkins, TeamCity, GitHub Actions, or other
infrastructure that draws in dependencies.&lt;/p&gt;</description></item><item><title>Management and maintenance</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/management/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/management/</guid><description>&lt;p&gt;Chainguard Libraries for Java operates transparently after completing the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/global-configuration/"&gt;global configuration&lt;/a&gt; and &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/java/build-configuration/"&gt;build configuration&lt;/a&gt;, automatically providing security-enhanced versions of your Maven dependencies. New artifacts and versions are retrieved from Chainguard&amp;rsquo;s hardened repository when available, while Maven Central and other configured repositories provide fallback access to ensure continuous development workflow without interruption.&lt;/p&gt;
&lt;p&gt;The following sections detail optional management, maintenance, and auditing
steps on the repository manager and the build tool.&lt;/p&gt;
&lt;p&gt;&lt;a id="java-verification"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="source-verification" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Source verification&lt;/span&gt;
&lt;a href="#source-verification" class="anchor" aria-label="Link to Source verification" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Use &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/verification/"&gt;chainver&lt;/a&gt; to verify that a specific
library or file originates from Chainguard in an automated fashion or follow the
steps in this section for manual verification.&lt;/p&gt;</description></item><item><title>Management and maintenance</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/management/</link><pubDate>Tue, 25 Mar 2025 08:04:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/management/</guid><description>&lt;p&gt;Chainguard Libraries for Python operates transparently after completing the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/global-configuration/"&gt;global configuration&lt;/a&gt; and &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/python/build-configuration/"&gt;build configuration&lt;/a&gt;, automatically providing security-enhanced versions of your PyPI dependencies. New packages and versions are retrieved from Chainguard&amp;rsquo;s hardened repository when available, while PyPI and other configured repositories provide fallback access to ensure continuous development workflow without interruption.&lt;/p&gt;
&lt;p&gt;The following sections detail optional management, maintenance, and auditing
steps on the repository manager and the build tool.&lt;/p&gt;
&lt;h2 id="source-verification" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Source verification&lt;/span&gt;
&lt;a href="#source-verification" class="anchor" aria-label="Link to Source verification" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;You can verify what artifacts are retrieved from the Chainguard Libraries
repository on a global level:&lt;/p&gt;</description></item><item><title>Migrating a JavaScript Project to Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/migration/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/migration/</guid><description>&lt;p&gt;Chainguard Libraries for JavaScript provides a curated registry of npm packages
rebuilt from source, scanned for malware, and verified against the
&lt;a href="https://osv.dev/"&gt;OSV database&lt;/a&gt;. Because Chainguard Libraries uses the standard
npm registry protocol, switching an existing project requires only a registry
configuration change — no changes to your application code, &lt;code&gt;package.json&lt;/code&gt;, or
dependency versions.&lt;/p&gt;
&lt;p&gt;This guide walks through migrating an existing JavaScript project to Chainguard
Libraries, covering the two most common setups:&lt;/p&gt;</description></item><item><title>How does Chainguard Libraries plug into a developer's workflow?</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/how-libraries-plug-into-workflow/</link><pubDate>Sat, 02 Aug 2025 16:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/how-libraries-plug-into-workflow/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/SBisxaL855k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Interviewer&lt;/strong&gt;: So Dustin, how does Libraries actually plug into a developer workflow?&lt;/p&gt;</description></item><item><title>How does Chainguard Libraries help developers?</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/how-libraries-help-developers/</link><pubDate>Sat, 02 Aug 2025 16:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/how-libraries-help-developers/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/yvo2SyUeaJM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Interviewer&lt;/strong&gt;: So how does Chainguard Libraries help developers?&lt;/p&gt;</description></item><item><title>Build Safely with AI</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202605/</link><pubDate>Thu, 28 May 2026 12:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202605/</guid><description>&lt;p&gt;The May 2026 Learning Lab with Erika Heidi explores AI-native threat models and how to mitigate risks involved with AI-assisted coding, leveraging Cursor and Chainguard for a secure AI SLDC.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/EDbPhANkMsU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="sections" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Sections&lt;/span&gt;
&lt;a href="#sections" class="anchor" aria-label="Link to Sections" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU"&gt;0:00&lt;/a&gt; Introduction and agenda&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=215s"&gt;3:35&lt;/a&gt; &amp;ldquo;This Changes Everything&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=259s"&gt;4:19&lt;/a&gt; How the threat model changed with AI&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=497s"&gt;8:17&lt;/a&gt; Your local dev environment at risk&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=589s"&gt;9:49&lt;/a&gt; AI-native attack vectors&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=750s"&gt;12:30&lt;/a&gt; Closing the trust gap&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=854s"&gt;14:14&lt;/a&gt; Two principles for a safe SLDC with AI assistance&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=1386s"&gt;23:06&lt;/a&gt; Vibecoding with trusted sources&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=1646s"&gt;27:26&lt;/a&gt; The Chainguard plugin for Cursor&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=1743s"&gt;29:03&lt;/a&gt; Demo - building an SBOM visualizer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=1887s"&gt;31:27&lt;/a&gt; The initial prompt&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2030s"&gt;33:50&lt;/a&gt; The resulting vibecoded app&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2060s"&gt;34:20&lt;/a&gt; Migrating to Chainguard Libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2203s"&gt;36:43&lt;/a&gt; Verifying coverage&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2306s"&gt;38:26&lt;/a&gt; Recap of what we neutralized&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2415s"&gt;40:15&lt;/a&gt; Other Chainguard skills to try out on Cursor&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EDbPhANkMsU&amp;amp;t=2925s"&gt;48:45&lt;/a&gt; Wrapping Up&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="resources" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Resources&lt;/span&gt;
&lt;a href="#resources" class="anchor" aria-label="Link to Resources" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/downloads/learning-lab-202605.pdf"&gt;Slide deck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cursor.com/marketplace/chainguard"&gt;Chainguard Plugin for Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/overview/"&gt;Chainguard Containers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/"&gt;Chainguard Libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Software supply chain attacks and Chainguard Libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202603/</link><pubDate>Mon, 30 Mar 2026 12:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202603/</guid><description>&lt;p&gt;The March 2026 Learning Lab with Manfred Moser focuses on the history, trends,
and future developments around software supply chain attacks. Manfred talks
about the role libraries for application developers and demonstrates numerous
new features and use cases for Chainguard Libraries.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/MPKP8YSoheE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="sections" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Sections&lt;/span&gt;
&lt;a href="#sections" class="anchor" aria-label="Link to Sections" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE"&gt;0:00&lt;/a&gt; Introduction and agenda&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=105s"&gt;1:45&lt;/a&gt; Software supply chain overview&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=445s"&gt;7:25&lt;/a&gt; History of attacks and overview of different methods&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1079s"&gt;17:59&lt;/a&gt; Future threads and trends&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1297s"&gt;21:37&lt;/a&gt; Statistics about intensifying attacks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1374s"&gt;22:54&lt;/a&gt; Incidents and fire drills&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1505s"&gt;25:05&lt;/a&gt; Impact from Minecraft and log4j on Maven Central&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1602s"&gt;26:42&lt;/a&gt; Chainguard Libraries overview&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=1941s"&gt;32:21&lt;/a&gt; Chainguard Libraries for Python, Java, and JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=2117s"&gt;35:17&lt;/a&gt; Demo - Browsing libraries in the console UI&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=2438s"&gt;40:38&lt;/a&gt; Demo - Pull token creation in console UI and with chainctl&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=2533s"&gt;42:13&lt;/a&gt; Demo - Browsing Python simple index&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=2750s"&gt;45:50&lt;/a&gt; Demo - Browsing Java repository&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=2965s"&gt;49:25&lt;/a&gt; Demo - Example projects for JavaScript and Python&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=3395s"&gt;56:35&lt;/a&gt; Demo - Verification with chainctl&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=3527s"&gt;58:47&lt;/a&gt; Chainguard Repository&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MPKP8YSoheE&amp;amp;t=3676s"&gt;1:01:16&lt;/a&gt; Upcoming events&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="resources" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Resources&lt;/span&gt;
&lt;a href="#resources" class="anchor" aria-label="Link to Resources" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/downloads/learning-lab-chainguard-libraries-202603.pdf"&gt;Slide deck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/overview/"&gt;Chainguard Libraries documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Chainguard Libraries for JavaScript and CVE remediation for Python libraries</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202510/</link><pubDate>Thu, 30 Oct 2025 12:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202510/</guid><description>&lt;p&gt;The October 2025 Learning Lab with Manfred Moser covers Chainguard Libraries for
JavaScript and CVE remediation with Chainguard Libraries for Python. It starts
with an overview about libraries and the JavaScript ecosystem and moves on to a
demo with npm and pnpm. In the second section Manfred explains the approach for
CVE remediation and shows an example project with remediation and scanning with
grype.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/6V7IHtYekwM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="sections" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Sections&lt;/span&gt;
&lt;a href="#sections" class="anchor" aria-label="Link to Sections" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM"&gt;0:00&lt;/a&gt; Introduction&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=115s"&gt;1:55&lt;/a&gt; Agenda&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=174s"&gt;2:54&lt;/a&gt; Secure container and the role of libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=320s"&gt;5:20&lt;/a&gt; Software supply chain for libraries and security&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=411s"&gt;6:51&lt;/a&gt; Chainguard Libraries and the JavaScript ecosystem&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=873s"&gt;14:33&lt;/a&gt; Malware in the npm ecosystem&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=1119s"&gt;18:39&lt;/a&gt; Chainguard Libraries for JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=1557s"&gt;25:57&lt;/a&gt; Demoes with npm and pnpm&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=2030s"&gt;33:50&lt;/a&gt; Troubleshooting results and additional demos&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=2494s"&gt;41:34&lt;/a&gt; Chainguard Libraries for Python&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=2619s"&gt;43:39&lt;/a&gt; CVE remediation process and examples&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=3123s"&gt;52:03&lt;/a&gt; Demoes with uv and grype&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=3385s"&gt;56:25&lt;/a&gt; Further resources&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=3455s"&gt;57:35&lt;/a&gt; Next up&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=3498s"&gt;58:18&lt;/a&gt; Questions&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6V7IHtYekwM&amp;amp;t=3960s"&gt;1:06:00&lt;/a&gt; Wrapping up&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="javascript-demo" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;JavaScript demo&lt;/span&gt;
&lt;a href="#javascript-demo" class="anchor" aria-label="Link to JavaScript demo" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The demonstration of Chainguard Libraries for JavaScript walks through the
&lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/libraries/javascript/build-configuration/#pnpm-minimal"&gt;minimal example for
pnpm&lt;/a&gt; with
direct access to the registry and with access to a local repository manager, and
shows an equivalent project with npm as well.&lt;/p&gt;</description></item><item><title>Chainguard Libraries for Python</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202506/</link><pubDate>Sun, 22 Jun 2025 17:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202506/</guid><description>&lt;p&gt;The June 2025 Learning Lab with Patrick Smyth covers Chainguard Libraries for
Python. Open source libraries help you move fast, but pulling in external
dependencies can introduce supply chain risk. This session covers fundamental
concepts of Chainguard Libraries, package managers and dependencies, PyPI and
build tools, configuring repository managers, and running example application builds.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/h_nzhPY_vDA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="sections" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Sections&lt;/span&gt;
&lt;a href="#sections" class="anchor" aria-label="Link to Sections" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA"&gt;0:00&lt;/a&gt; Introduction and welcome&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=54s"&gt;0:54&lt;/a&gt; Patrick Smyth introduction and background&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=107s"&gt;1:47&lt;/a&gt; Chainguard! Who are we?&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=167s"&gt;2:47&lt;/a&gt; Chainguard Containers and the &amp;ldquo;boss assigned me to fix Ubuntu&amp;rdquo; problem&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=252s"&gt;4:12&lt;/a&gt; Introduction to Chainguard Libraries for Python&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=304s"&gt;5:04&lt;/a&gt; Python libraries fundamentals - modules, packages, and libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=394s"&gt;6:34&lt;/a&gt; The dependency graph problem and modern ecosystem challenges&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=537s"&gt;8:57&lt;/a&gt; PyPI (Python Package Index) overview and infrastructure&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=653s"&gt;10:53&lt;/a&gt; Supply chain attacks on the rise and threats to the Python ecosystem&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=699s"&gt;11:39&lt;/a&gt; Supply chain meme calendar - an attack every month this year&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=834s"&gt;13:54&lt;/a&gt; Anatomy of supply chain attacks and attack vectors&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1063s"&gt;17:43&lt;/a&gt; Chainguard Libraries!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1174s"&gt;19:34&lt;/a&gt; Chainguard Factory overview and operational security&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1293s"&gt;21:33&lt;/a&gt; Case study: Ultralytics YOLO December 2024 attack&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1402s"&gt;23:22&lt;/a&gt; Technical caveats and requirements for Chainguard Libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1506s"&gt;25:06&lt;/a&gt; Demo introduction and Flask project overview&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1668s"&gt;27:48&lt;/a&gt; Accessing demo materials on Chainguard Academy&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1740s"&gt;29:00&lt;/a&gt; Demo: Cloning and setting up the Flask project&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1877s"&gt;31:17&lt;/a&gt; Demo: Creating virtual environment and installing from PyPI&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=1986s"&gt;33:06&lt;/a&gt; Demo: Running Flask application and testing with libCheck tool&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2068s"&gt;34:28&lt;/a&gt; Demo: Configuring pip for Chainguard Libraries via repository manager&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2179s"&gt;36:19&lt;/a&gt; Demo: Installing dependencies from Chainguard Libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2222s"&gt;37:02&lt;/a&gt; Demo: Verification with libCheck&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2302s"&gt;38:22&lt;/a&gt; Demo: Containerizing the demo application&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2425s"&gt;40:25&lt;/a&gt; Demo: Building and running containerized Flask application&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2501s"&gt;41:41&lt;/a&gt; Additional configuration options and documentation resources&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2539s"&gt;42:19&lt;/a&gt; Q&amp;amp;A: Repository manager setup and configuration&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2606s"&gt;43:26&lt;/a&gt; Q&amp;amp;A: Architecture support and glibc requirements&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2674s"&gt;44:34&lt;/a&gt; Q&amp;amp;A: libCheck tool open source plans and detailed output&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h_nzhPY_vDA&amp;amp;t=2765s"&gt;46:05&lt;/a&gt; Q&amp;amp;A: CVE scanning with Grype and vulnerability management&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="demo" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Demo&lt;/span&gt;
&lt;a href="#demo" class="anchor" aria-label="Link to Demo" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;In the demo, Patrick switches a Flask application to use Chainguard Libraries for Python, sourcing dependencies from a repository manager (Artifactory) set up to pull first from the Chainguard Libraries for Python index with a fallback to the Python Package Index (PyPI).&lt;/p&gt;</description></item><item><title>Chainguard Libraries for Java</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202505/</link><pubDate>Wed, 18 Jun 2025 21:00:00 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/software-security/learning-labs/ll202505/</guid><description>&lt;p&gt;The May 2025 Learning Lab with Manfred Moser covers Chainguard Libraries for
Java. It starts with an overview about libraries and the Java ecosystem and
progresses to a demo with Apache Maven and Sonatype Nexus.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/z42b2_lePNI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="sections" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Sections&lt;/span&gt;
&lt;a href="#sections" class="anchor" aria-label="Link to Sections" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI"&gt;0:00&lt;/a&gt; Introduction and agenda&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=158s"&gt;2:38&lt;/a&gt; Chainguard and containers&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=227s"&gt;3:47&lt;/a&gt; Chainguard Factory&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=297s"&gt;4:57&lt;/a&gt; Concepts - from containers to libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=540s"&gt;9:00&lt;/a&gt; Java and Java libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=765s"&gt;12:45&lt;/a&gt; Software supply chain of libraries and attacks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1167s"&gt;19:27&lt;/a&gt; Dependency supply in Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1230s"&gt;20:30&lt;/a&gt; Repository concept and Maven Central&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1472s"&gt;24:32&lt;/a&gt; Chainguard Libraries for Java and repository manager intro&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1697s"&gt;28:17&lt;/a&gt; Developer tools&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1761s"&gt;29:21&lt;/a&gt; Demo start and setup with chainctl&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=1975s"&gt;32:55&lt;/a&gt; Sonatype Nexus configuration&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=2250s"&gt;37:30&lt;/a&gt; Maven configuration&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=2441s"&gt;40:41&lt;/a&gt; Example project setup, build, and results&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=2697s"&gt;44:57&lt;/a&gt; Dependency list and tree&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=2820s"&gt;47:00&lt;/a&gt; Results and verification&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=2977s"&gt;49:37&lt;/a&gt; Summary&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=3043s"&gt;50:43&lt;/a&gt; Up next&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=z42b2_lePNI&amp;amp;t=3175s"&gt;52:55&lt;/a&gt; Questions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="demo" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Demo&lt;/span&gt;
&lt;a href="#demo" class="anchor" aria-label="Link to Demo" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Following are some of the commands used in the demo. More information can be
found in the slide deck, the linked resources, and the video.&lt;/p&gt;</description></item></channel></rss>