Generate an SPDX SBOM for a container image with syft and attach it as a cosign attestation

domain: github.com/anchore/syft · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Install syft in your CI environment via the installer script or as a pinned binary download
  2. After building your container image, generate an SPDX SBOM: `syft <image>@<digest> -o spdx-json > sbom.spdx.json`
  3. Review the SBOM for completeness — syft catalogs packages from OS layer package managers (apt, apk, rpm) and language-specific manifests (go.sum, package-lock.json, etc.)
  4. Attach the SBOM as a cosign attestation: `cosign attest --predicate sbom.spdx.json --type spdxjson <image>@<digest>` (requires the same OIDC setup as keyless signing)
  5. Consumers verify and retrieve the attestation with `cosign verify-attestation --type spdxjson <image>@<digest>` and pipe the output for further inspection or policy evaluation with OPA/Rego
  6. Integrate syft SBOM generation into a Grype vulnerability scan step: `grype sbom:sbom.spdx.json` to catch CVEs before pushing

Known gotchas

Related routes

Generate a CycloneDX or SPDX SBOM from a container image using Syft
github.com/anchore/syft · 6 steps · unrated
Generate an SPDX SBOM from a source code directory, not a container image, using Syft
github.com/anchore/syft · 5 steps · unrated
Generate a CycloneDX and SPDX SBOM from a container image using Syft, then diff two SBOMs from successive builds to detect component drift
security/compliance · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans