Chainguard Academy

Product Docs

    • Overview
      • Build Criteria
      • Shared Responsibility Model
      • Going Distroless
      • How Images are Tested
      • Dev vs. Production Images
      • Product Release Lifecycle
        • Images for Compiled Programs
        • glibc vs. musl
      • Video: Low-to-No CVEs
      • Video: Beyond Zero
      • Custom Assembly
      • STIGs
      • Unique Tags
      • Tag History API
        • FIPS FAQs
        • FIPS Images
      • CVE Visualizations
      • Custom Certificates
      • Private APK Repositories
      • Using Chainguard Images
      • Retrieve an Image's SBOM
      • Verifying Images
      • Images Directory
      • Compare Images with chainctl
      • Dev Containers
      • Video: Using the Static Base Image
      • Video: Image Digests
      • Video: Reproducible Dockerfiles with Frizbee and Digestabot
      • Video: Software Versions
      • Video: Minimal Runtime Images
      • C/C++
      • Cilium
      • Go
      • Istio
      • Laravel
      • MariaDB
      • NeMo
      • nginx
      • Node
      • PHP
      • PostgreSQL
      • Python
      • PyTorch
      • Ruby
      • WordPress
      • Minimize CVE Risk
      • FedRAMP Considerations
      • Video: Reproducibility and Chainguard Images
        • Image Update Considerations
        • EOL Vulnerabilities
        • Update Strategies and Tools
        • Using Renovate
        • Video: Up-to-date Images with Digestabot
        • Using Advisories
        • Advisory Life Cycle
        • Managing Advisories
        • False Positives and Negatives
        • Grype
        • Trivy
      • Debugging
      • Video: Debugging Distroless Containers
      • Video: Debugging with Kubectl and CDebug
      • bash
      • busybox
      • curl
      • deno
      • dex
      • dotnet-runtime
      • dotnet-sdk
      • etcd
      • git
      • go
      • gradle
      • haproxy
      • jenkins
      • kube-state-metrics
      • mariadb
      • maven
      • memcached
      • minio
      • minio-client
      • nats
      • nginx
      • node
      • opensearch
      • php
      • postgres
      • python
      • r-base
      • rabbitmq
      • redis
      • ruby
      • rust
      • telegraf
      • traefik
      • wait-for-it
      • wolfi-base
      • zookeeper
    • FAQs
    • Registry Overview
    • Authenticate to Chainguard Registry
      • Google Artifact Registry
        • Registry Pull-Through
        • Mirroring Packages
      • Nexus
      • Cloudsmith
    • Migration Overview
    • Porting a Sample Application
    • Migrating Dockerfiles
    • Migration Checklist
    • Dockerfile Conversion Tool
      • Alpine
      • Debian
      • Ubuntu
      • Red Hat
      • PHP
      • Node
      • Video: Node.js
      • Python
      • Video: Go
      • Video: Java
    • Network Requirements
    • Install chainctl
    • chainctl Config
    • Terraform Provider
      • IAM Overview
      • Manage IAM Organizations
      • Verified Organizations
        • Roles and Role-bindings Overview
        • GitHub Team Role-binding
      • Assumable IDs Overview
        • GitHub Actions
        • GitLab CI/CD
        • AWS
        • Buildkite
        • Bitbucket
        • Jenkins
        • Keycloak
      • Authenticate with Custom IDPs
        • Okta
        • Ping Identity
        • Microsoft Entra ID
      • Mirror Images to Artifact Registry
      • Chainguard Events
    • OpenAPI Specification
    • Getting Started with chainctl
    • chainctl events
    • chainctl iam
    • chainctl images
    • chainctl packages
    • chainctl update
    • chainctl version
    • chainctl
    • chainctl auth
    • chainctl auth configure-docker
    • chainctl auth login
    • chainctl auth logout
    • chainctl auth pull-token
    • chainctl auth status
    • chainctl auth token
    • chainctl config
    • chainctl config edit
    • chainctl config reset
    • chainctl config save
    • chainctl config set
    • chainctl config unset
    • chainctl config validate
    • chainctl config view
    • chainctl events
    • chainctl events subscriptions
    • chainctl events subscriptions create
    • chainctl events subscriptions delete
    • chainctl events subscriptions list
    • chainctl iam
    • chainctl iam account-associations
    • chainctl iam account-associations check
    • chainctl iam account-associations check aws
    • chainctl iam account-associations check gcp
    • chainctl iam account-associations describe
    • chainctl iam account-associations set
    • chainctl iam account-associations set aws
    • chainctl iam account-associations set gcp
    • chainctl iam account-associations unset
    • chainctl iam account-associations unset aws
    • chainctl iam account-associations unset gcp
    • chainctl iam folders
    • chainctl iam folders delete
    • chainctl iam folders describe
    • chainctl iam folders list
    • chainctl iam folders update
    • chainctl iam identities
    • chainctl iam identities create
    • chainctl iam identities create github
    • chainctl iam identities create gitlab
    • chainctl iam identities delete
    • chainctl iam identities describe
    • chainctl iam identities list
    • chainctl iam identities update
    • chainctl iam identity-providers
    • chainctl iam identity-providers create
    • chainctl iam identity-providers delete
    • chainctl iam identity-providers list
    • chainctl iam identity-providers update
    • chainctl iam invites
    • chainctl iam invites create
    • chainctl iam invites delete
    • chainctl iam invites list
    • chainctl iam organizations
    • chainctl iam organizations delete
    • chainctl iam organizations describe
    • chainctl iam organizations list
    • chainctl iam role-bindings
    • chainctl iam role-bindings create
    • chainctl iam role-bindings delete
    • chainctl iam role-bindings list
    • chainctl iam role-bindings update
    • chainctl iam roles
    • chainctl iam roles capabilities
    • chainctl iam roles capabilities list
    • chainctl iam roles create
    • chainctl iam roles delete
    • chainctl iam roles list
    • chainctl iam roles update
    • chainctl images
    • chainctl images diff
    • chainctl images history
    • chainctl images list
    • chainctl images repos
    • chainctl images repos list
    • chainctl packages
    • chainctl packages versions
    • chainctl packages versions list
    • chainctl update
    • chainctl version

Open Source

      • apko Overview
      • apko FAQs
      • Getting Started with apko
      • Troubleshooting apko Builds
      • Bazel Rules
      • melange Overview
      • Getting Started with melange
      • Troubleshooting Builds
      • melange FAQs
    • What is SLSA?
    • What is an SBOM?
    • OpenVEX and vexctl
    • What Makes a Good SBOM?
    • What is OpenVex?
    • SBOMs and Attestations
    • Wolfi Overview
    • Building a Wolfi Package
    • Wolfi FAQs
    • Why apk
    • Hello Wolfi Workshop
    • Wolfi Images with Dockerfiles
    • Package Version Selection
    • What is the OCI?
    • What are OCI Artifacts?
    • Keyless Signing
      • An Introduction to Cosign
      • How to Install Cosign
      • How to Sign a Container with Cosign
      • How to Sign Blobs and Standard Files with Cosign
      • How to Sign an SBOM with Cosign
      • How to Verify File Signatures with Cosign
      • Cosign: The Manual Way
      • How to Install Sigstore Policy Controller
        • Enforce SBOM attestation with Policy Controller
        • Disallowing Non-Default Capabilities
        • Disallowing Privileged Pods
        • Disallowing Run as Root User
        • Maximum Container Image Age
        • Disallowing Unsafe sysctls
        • Verify Signed Chainguard Images
        • Critical CVEs
        • Rego Policies
        • Example Policies
      • An Introduction to Fulcio
      • How to Generate a Fulcio Certificate
      • How to Inspect and Verify Fulcio Certificates
      • An Introduction to Rekor
      • How to Install the Rekor CLI
      • How to Query Rekor
      • How to Sign and Upload Metadata to Rekor
      • How to Verify File Signatures with Rekor or curl
      • How to Set Up An Instance of Rekor Instance Locally

Education

  • Containers
  • Selecting a Base Image
  • Software Supply Chain Security
  • Chainguard Glossary
  • Trademark Use Policy
      • Introduction to the PCI Data Security Standard (DSS) 4.0
      • Overview of PCI DSS 4.0 Practices/Requirements
      • Simplify Your Path to PCI DSS 4.0 Compliance with Chainguard
      • Introduction to the Cybersecurity Maturity Model Certification (CMMC) 2.0
      • CMMC 2.0 Maturity Levels
      • Overview of CMMC 2.0 Practices/Control Groups
      • Simplify Your Path to CMMC 2.0 Compliance with Chainguard
    • CIS Benchmarks
    • #1 - Fighting Vulnerabilities
    • What Are Software Vulnerabilities and CVEs?
    • Why Care About Software Vulnerabilities?
    • Infamous Software Vulnerabilities
    • Software Vulnerability Remediation
    • Self-Attestation Form
    • Table of NIST SSDF
    • Minimum Attestation References
Go to Chainguard.dev
Send feedback Contact
Chainguard Academy

Product Docs

    • Overview
      • Build Criteria
      • Shared Responsibility Model
      • Going Distroless
      • How Images are Tested
      • Dev vs. Production Images
      • Product Release Lifecycle
        • Images for Compiled Programs
        • glibc vs. musl
      • Video: Low-to-No CVEs
      • Video: Beyond Zero
      • Custom Assembly
      • STIGs
      • Unique Tags
      • Tag History API
        • FIPS FAQs
        • FIPS Images
      • CVE Visualizations
      • Custom Certificates
      • Private APK Repositories
      • Using Chainguard Images
      • Retrieve an Image's SBOM
      • Verifying Images
      • Images Directory
      • Compare Images with chainctl
      • Dev Containers
      • Video: Using the Static Base Image
      • Video: Image Digests
      • Video: Reproducible Dockerfiles with Frizbee and Digestabot
      • Video: Software Versions
      • Video: Minimal Runtime Images
      • C/C++
      • Cilium
      • Go
      • Istio
      • Laravel
      • MariaDB
      • NeMo
      • nginx
      • Node
      • PHP
      • PostgreSQL
      • Python
      • PyTorch
      • Ruby
      • WordPress
      • Minimize CVE Risk
      • FedRAMP Considerations
      • Video: Reproducibility and Chainguard Images
        • Image Update Considerations
        • EOL Vulnerabilities
        • Update Strategies and Tools
        • Using Renovate
        • Video: Up-to-date Images with Digestabot
        • Using Advisories
        • Advisory Life Cycle
        • Managing Advisories
        • False Positives and Negatives
        • Grype
        • Trivy
      • Debugging
      • Video: Debugging Distroless Containers
      • Video: Debugging with Kubectl and CDebug
      • bash
      • busybox
      • curl
      • deno
      • dex
      • dotnet-runtime
      • dotnet-sdk
      • etcd
      • git
      • go
      • gradle
      • haproxy
      • jenkins
      • kube-state-metrics
      • mariadb
      • maven
      • memcached
      • minio
      • minio-client
      • nats
      • nginx
      • node
      • opensearch
      • php
      • postgres
      • python
      • r-base
      • rabbitmq
      • redis
      • ruby
      • rust
      • telegraf
      • traefik
      • wait-for-it
      • wolfi-base
      • zookeeper
    • FAQs
    • Registry Overview
    • Authenticate to Chainguard Registry
      • Google Artifact Registry
        • Registry Pull-Through
        • Mirroring Packages
      • Nexus
      • Cloudsmith
    • Migration Overview
    • Porting a Sample Application
    • Migrating Dockerfiles
    • Migration Checklist
    • Dockerfile Conversion Tool
      • Alpine
      • Debian
      • Ubuntu
      • Red Hat
      • PHP
      • Node
      • Video: Node.js
      • Python
      • Video: Go
      • Video: Java
    • Network Requirements
    • Install chainctl
    • chainctl Config
    • Terraform Provider
      • IAM Overview
      • Manage IAM Organizations
      • Verified Organizations
        • Roles and Role-bindings Overview
        • GitHub Team Role-binding
      • Assumable IDs Overview
        • GitHub Actions
        • GitLab CI/CD
        • AWS
        • Buildkite
        • Bitbucket
        • Jenkins
        • Keycloak
      • Authenticate with Custom IDPs
        • Okta
        • Ping Identity
        • Microsoft Entra ID
      • Mirror Images to Artifact Registry
      • Chainguard Events
    • OpenAPI Specification
    • Getting Started with chainctl
    • chainctl events
    • chainctl iam
    • chainctl images
    • chainctl packages
    • chainctl update
    • chainctl version
    • chainctl
    • chainctl auth
    • chainctl auth configure-docker
    • chainctl auth login
    • chainctl auth logout
    • chainctl auth pull-token
    • chainctl auth status
    • chainctl auth token
    • chainctl config
    • chainctl config edit
    • chainctl config reset
    • chainctl config save
    • chainctl config set
    • chainctl config unset
    • chainctl config validate
    • chainctl config view
    • chainctl events
    • chainctl events subscriptions
    • chainctl events subscriptions create
    • chainctl events subscriptions delete
    • chainctl events subscriptions list
    • chainctl iam
    • chainctl iam account-associations
    • chainctl iam account-associations check
    • chainctl iam account-associations check aws
    • chainctl iam account-associations check gcp
    • chainctl iam account-associations describe
    • chainctl iam account-associations set
    • chainctl iam account-associations set aws
    • chainctl iam account-associations set gcp
    • chainctl iam account-associations unset
    • chainctl iam account-associations unset aws
    • chainctl iam account-associations unset gcp
    • chainctl iam folders
    • chainctl iam folders delete
    • chainctl iam folders describe
    • chainctl iam folders list
    • chainctl iam folders update
    • chainctl iam identities
    • chainctl iam identities create
    • chainctl iam identities create github
    • chainctl iam identities create gitlab
    • chainctl iam identities delete
    • chainctl iam identities describe
    • chainctl iam identities list
    • chainctl iam identities update
    • chainctl iam identity-providers
    • chainctl iam identity-providers create
    • chainctl iam identity-providers delete
    • chainctl iam identity-providers list
    • chainctl iam identity-providers update
    • chainctl iam invites
    • chainctl iam invites create
    • chainctl iam invites delete
    • chainctl iam invites list
    • chainctl iam organizations
    • chainctl iam organizations delete
    • chainctl iam organizations describe
    • chainctl iam organizations list
    • chainctl iam role-bindings
    • chainctl iam role-bindings create
    • chainctl iam role-bindings delete
    • chainctl iam role-bindings list
    • chainctl iam role-bindings update
    • chainctl iam roles
    • chainctl iam roles capabilities
    • chainctl iam roles capabilities list
    • chainctl iam roles create
    • chainctl iam roles delete
    • chainctl iam roles list
    • chainctl iam roles update
    • chainctl images
    • chainctl images diff
    • chainctl images history
    • chainctl images list
    • chainctl images repos
    • chainctl images repos list
    • chainctl packages
    • chainctl packages versions
    • chainctl packages versions list
    • chainctl update
    • chainctl version

Open Source

      • apko Overview
      • apko FAQs
      • Getting Started with apko
      • Troubleshooting apko Builds
      • Bazel Rules
      • melange Overview
      • Getting Started with melange
      • Troubleshooting Builds
      • melange FAQs
    • What is SLSA?
    • What is an SBOM?
    • OpenVEX and vexctl
    • What Makes a Good SBOM?
    • What is OpenVex?
    • SBOMs and Attestations
    • Wolfi Overview
    • Building a Wolfi Package
    • Wolfi FAQs
    • Why apk
    • Hello Wolfi Workshop
    • Wolfi Images with Dockerfiles
    • Package Version Selection
    • What is the OCI?
    • What are OCI Artifacts?
    • Keyless Signing
      • An Introduction to Cosign
      • How to Install Cosign
      • How to Sign a Container with Cosign
      • How to Sign Blobs and Standard Files with Cosign
      • How to Sign an SBOM with Cosign
      • How to Verify File Signatures with Cosign
      • Cosign: The Manual Way
      • How to Install Sigstore Policy Controller
        • Enforce SBOM attestation with Policy Controller
        • Disallowing Non-Default Capabilities
        • Disallowing Privileged Pods
        • Disallowing Run as Root User
        • Maximum Container Image Age
        • Disallowing Unsafe sysctls
        • Verify Signed Chainguard Images
        • Critical CVEs
        • Rego Policies
        • Example Policies
      • An Introduction to Fulcio
      • How to Generate a Fulcio Certificate
      • How to Inspect and Verify Fulcio Certificates
      • An Introduction to Rekor
      • How to Install the Rekor CLI
      • How to Query Rekor
      • How to Sign and Upload Metadata to Rekor
      • How to Verify File Signatures with Rekor or curl
      • How to Set Up An Instance of Rekor Instance Locally

Education

  • Containers
  • Selecting a Base Image
  • Software Supply Chain Security
  • Chainguard Glossary
  • Trademark Use Policy
      • Introduction to the PCI Data Security Standard (DSS) 4.0
      • Overview of PCI DSS 4.0 Practices/Requirements
      • Simplify Your Path to PCI DSS 4.0 Compliance with Chainguard
      • Introduction to the Cybersecurity Maturity Model Certification (CMMC) 2.0
      • CMMC 2.0 Maturity Levels
      • Overview of CMMC 2.0 Practices/Control Groups
      • Simplify Your Path to CMMC 2.0 Compliance with Chainguard
    • CIS Benchmarks
    • #1 - Fighting Vulnerabilities
    • What Are Software Vulnerabilities and CVEs?
    • Why Care About Software Vulnerabilities?
    • Infamous Software Vulnerabilities
    • Software Vulnerability Remediation
    • Self-Attestation Form
    • Table of NIST SSDF
    • Minimum Attestation References
Go to Chainguard.dev
Send feedback Contact

Overview

False Positives and False Negatives with Images Scanners
An overview of the formation of false positive and false negative vulnerability results in container image scanners
chainctl Usage
chainctl Usage Documentation
Wolfi Overview
Getting started with Wolfi, the Linux undistro for secure container images
An Introduction to Fulcio
Understanding Fulcio, a new kind of root certificate authority for code signing under Sigstore
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • »
  • »»
Product
Chainguard Images Images Directory
Why Chainguard
Container Image Security Vulnerability Remediation Compliance & Risk Mitigation Software Supply Chain Security AI/ML Security
Customers
Customer Stories Chainguard Love
Company
About Us Open Source Careers Newsroom Legal Contact
Resources
Unchained Blog Research Events Documentation
Follow Chainguard on GitHub Follow Chainguard on X Follow Chainguard on YouTube Follow Chainguard on LinkedIn © 2025 Chainguard. All Rights Reserved.