Docs

Supply Chain Security

Verify AISIX container image signatures with Cosign and keyless GitHub OIDC signing, and where to request a Software Bill of Materials for AISIX Enterprise.

Applies to:AISIX AI Gateway 1.4.0

Roles:Platform engineerSecurity engineer

AISIX gateway images are signed at build time so you can confirm, before deploying one, that it was built and published by API7 rather than tampered with in transit or substituted from an untrusted mirror. This page covers verifying that signature and requesting a Software Bill of Materials (SBOM) for AISIX Enterprise releases.

Verify Image Signatures

AISIX signs its container images with Cosign using keyless signing: the build pipeline authenticates to Sigstore with GitHub Actions' own OIDC identity rather than a long-lived signing key, so there is no private key to leak or rotate. Signatures are recorded in a public transparency log and stored in a sibling api7/notary repository next to the image itself, not embedded in the image.

Prerequisites

Install the following on the machine that will run the verification:

  • Cosign — to verify container image signatures.
  • regctl or docker buildx imagetools — to retrieve the image digest.

Get the Image Digest

AISIX images publish to ghcr.io/api7/aisix for every build, and release tags additionally mirror to docker.io/api7/aisix for environments that prefer or require Docker Hub. Retrieve the digest for the tag you want to verify:

regctl manifest digest ghcr.io/api7/aisix:X.Y.Z
sha256:<digest>

Run Cosign Verification

Point Cosign at the signature repository for the registry you pulled from, then verify the image pinned to its digest against the GitHub Actions workflow identity that signs AISIX releases:

export COSIGN_REPOSITORY=ghcr.io/api7/notary

cosign verify \
  "ghcr.io/api7/aisix:X.Y.Z@sha256:<digest>" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="https://github.com/api7/aisix/.github/workflows/docker-image.yml"

Set COSIGN_REPOSITORY to docker.io/api7/notary when verifying the docker.io/api7/aisix mirror instead — signatures for each registry live in that registry's own api7/notary repository, matched to the manifest-list digest, which is identical across both registries because it is content-derived.

A successful verification confirms the Cosign claims validated, the signature is recorded in the public transparency log, and the signing certificate chains to a trusted certificate authority. Do not deploy an image that fails verification. A failure can mean a tampered image, a transparency-log connectivity problem, or a certificate identity regexp that does not match the tag you are checking — investigate before continuing either way.

Certificate Identity Reference

The gateway image and the AISIX Enterprise control-plane images are signed by different GitHub Actions workflows. Use the matching certificate identity regexp for the image you are verifying:

ImageCertificate identity regexp
api7/aisix (gateway)https://github.com/api7/aisix/.github/workflows/docker-image.yml
api7/aisix-cp-api (control-plane API)https://github.com/api7/AISIX-Cloud/.github/workflows/docker-image.yml
api7/aisix-cp-dpm (control-plane data-plane manager)https://github.com/api7/AISIX-Cloud/.github/workflows/docker-image.yml
api7/aisix-cp-ui (control-plane dashboard)https://github.com/api7/AISIX-Cloud/.github/workflows/docker-image.yml

The control-plane images apply to On-Premises installations — see On-Premises Installation for how AISIX_API_IMAGE, AISIX_DPM_IMAGE, and AISIX_UI_IMAGE map to these images in the Docker Compose package, and On-Premises Configuration for the equivalent Helm chart values. On Hybrid Cloud, API7 operates and verifies the control-plane images for you.

Verify Automatically in Kubernetes

For a Kubernetes admission-time check rather than a manual step, use a policy engine such as Kyverno or Sigstore Policy Controller, configured with the same COSIGN_REPOSITORY, OIDC issuer, and certificate identity regexp shown above.

Multi-Architecture Images

Every published tag is a linux/amd64 + linux/arm64 manifest list, and Cosign's signature covers the manifest-list digest rather than a single architecture's image — verifying the manifest-list reference above is sufficient regardless of which architecture your cluster pulls.

Software Bill of Materials (SBOM)

For enterprise customers with compliance requirements that call for a formal component inventory, API7.ai can provide a Software Bill of Materials for a specific AISIX Enterprise release on request — a machine-readable record of the components, versions, and licenses contained in the control-plane and gateway images. Contact your API7 account manager or sales@api7.ai to request one for the release you run.

Dependency and Vulnerability Scanning

AISIX gateway images and their open-source dependencies go through automated scanning as part of the release process; see Compliance and Trust Center for how to reach the security team about scan results, third-party audits, or a specific CVE. For the AISIX OSS gateway's dependency license posture, the api7/aisix repository is public and its Cargo.lock is the authoritative dependency list for a given release.

Next Steps

  • Compliance and Trust Center — certifications, security contact, and how to request compliance documentation.
  • Master Key Rotation — rotate the credential that protects secrets at rest, a complementary control to verifying what you deploy.
  • On-Premises Installation — pull and deploy the control-plane images this page's verification steps apply to.