Supply Chain Security

Verify Docker image signatures with cosign, inspect SLSA provenance and SBOM attestations.

Published Rustume release images on GHCR are signed and attested through the lgtm-ci reusable-docker.yml workflow. Verify Docker image signatures and inspect SLSA provenance and SBOM attestations before deploying to production.

Image signing

Release images are signed with Sigstore cosign keyless signing via GitHub Actions OIDC.

cosign verify ghcr.io/lgtm-hq/rustume:latest \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  --certificate-identity-regexp='^https://github\.com/lgtm-hq/lgtm-ci/\.github/workflows/reusable-docker\.yml@refs/.*$'

Replace latest with a semver tag (e.g. 0.16.0) to pin a specific release.

A successful verification confirms the image was built by the trusted CI workflow — not tampered with after publish.

SLSA provenance

SLSA provenance attestations document how the image was built (source commit, builder, dependencies).

cosign verify-attestation \
  --type https://slsa.dev/provenance/v1 \
  ghcr.io/lgtm-hq/rustume:latest \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  --certificate-identity-regexp='^https://github\.com/lgtm-hq/lgtm-ci/\.github/workflows/reusable-docker\.yml@refs/.*$'

Inspect the attestation payload:

cosign verify-attestation \
  --type https://slsa.dev/provenance/v1 \
  ghcr.io/lgtm-hq/rustume:latest \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  --certificate-identity-regexp='^https://github\.com/lgtm-hq/lgtm-ci/\.github/workflows/reusable-docker\.yml@refs/.*$' \
  | jq .

SBOM attestations

Software Bill of Materials (SBOM) attestations list packages included in the image. Attach during the same publish workflow as provenance.

cosign verify-attestation \
  --type spdx \
  ghcr.io/lgtm-hq/rustume:latest \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  --certificate-identity-regexp='^https://github\.com/lgtm-hq/lgtm-ci/\.github/workflows/reusable-docker\.yml@refs/.*$'

Use SBOM data for vulnerability scanning in your registry or with tools like OSV-Scanner (also run in Rustume CI via lgtm-hq/py-lintro).

Dependency auditing

The Rustume repository runs:

Self-hosters should still verify image signatures at deploy time rather than relying solely on latest.

Pinning recommendations

EnvironmentTag strategy
ProductionSemver pin (0.16.0) + cosign verify
StagingSemver minor pin (0.16)
Developmentmain or local --build

Never use build-* CI staging tags in production deployments.