---
title: "Publish what is in each release · Agent Wranglers"
url: https://agentwranglers.se/playbook/application-security/supply-chain/sbom-and-provenance
id: APS-75
level: Recommended
updated: 2026-10-27
build: a2a6bdfed830
tokens: 1369
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Publish what is in each release

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Supply chain](https://agentwranglers.se/playbook/application-security/supply-chain.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: APS-75
- Level: Recommended
- Chapter: [Supply chain](https://agentwranglers.se/playbook/application-security/supply-chain.md)
- Rule: Make a software bill of materials for every release, and sign where and how the build was made.
- Check: Each release has a bill of materials and a signature. Verifying the signature with the published key succeeds, and changing one byte of the release makes it fail.
- How: Generate the bill in a standard format, CycloneDX (Ecma ECMA-424) or SPDX (ISO/IEC 5962), with a tool such as Syft. Include every direct and indirect package with its version and a package URL. Record build provenance as the SLSA framework describes, and sign the release with a tool such as Sigstore's cosign. Then you can answer at once whether a newly reported hole affects you, and say so with a [VEX statement](https://agentwranglers.se/playbook/application-security/supply-chain/vex.md). The level of build to aim for is in [Build releases at SLSA Build Level 2 or higher](https://agentwranglers.se/playbook/application-security/supply-chain/slsa-build-level.md). See also [handle vulnerabilities for the whole support period](https://agentwranglers.se/playbook/compliance/security-laws/cra-support-period.md).

## Sources

- [SLSA specification on build provenance](https://slsa.dev/spec/v1.2/provenance)
- [ECMA-424 CycloneDX Bill of Materials Specification](https://ecma-international.org/publications-and-standards/standards/ecma-424/)
- [SPDX specifications](https://spdx.org/specifications)

## Related rules

- ENG-18 [Update dependencies in small automatic steps](https://agentwranglers.se/playbook/engineering/version-control-and-review/automated-dependency-updates.md) in Engineering
- ENG-11 [Build releases only in CI and verify them before deploy](https://agentwranglers.se/playbook/engineering/ci-and-supply-chain/build-in-ci-and-verify.md) in Engineering
- ENG-70 [Scan every image before it ships](https://agentwranglers.se/playbook/engineering/ci-and-supply-chain/image-scanning.md) in Engineering
- INF-83 [Deploy only signed images from tags that cannot move](https://agentwranglers.se/playbook/infrastructure/containers-and-orchestration/signed-immutable-images.md) in Infrastructure and environments
- CMP-50 [Handle vulnerabilities for the whole support period](https://agentwranglers.se/playbook/compliance/security-laws/cra-support-period.md) in Compliance and governance
- CMP-51 [Prepare the technical file and CE marking](https://agentwranglers.se/playbook/compliance/security-laws/cra-technical-file.md) in Compliance and governance
- CMP-55 [Keep the evidence to answer a product liability claim](https://agentwranglers.se/playbook/compliance/product-and-data-laws/product-liability.md) in Compliance and governance
- STK-95 [Use cosign to sign release images and their bill of materials](https://agentwranglers.se/playbook/stack/delivery-and-infrastructure/sbom-and-signing.md) in Software choices
- MOB-18 [Sign over-the-air updates and match them to the native build](https://agentwranglers.se/playbook/mobile-apps/updates-and-versions/signed-over-the-air-updates.md) in Mobile apps
- IOT-39 [Keep a bill of materials for every firmware image](https://agentwranglers.se/playbook/connected-devices/firmware-updates/firmware-sbom.md) in Connected devices
- OSS-3 [Mark every file with its licence and copyright holder](https://agentwranglers.se/playbook/open-source/licences-and-copyright/spdx-file-headers.md) in Open source maintenance
- OSS-18 [Build every release in CI with signed provenance](https://agentwranglers.se/playbook/open-source/releases/release-provenance.md) in Open source maintenance
- TDD-6 [List the licences of the code and every dependency](https://agentwranglers.se/playbook/due-diligence/code-and-ownership/licence-inventory.md) in Technical due diligence
- DEV-12 [Publish a support matrix](https://agentwranglers.se/playbook/developer-tools/libraries-and-sdks/support-matrix.md) in Developer tools, SDKs and CLIs
- APS-106 [Say which known holes do not affect you with VEX](https://agentwranglers.se/playbook/application-security/supply-chain/vex.md) in Application security
- APS-104 [Build releases at SLSA Build Level 2 or higher](https://agentwranglers.se/playbook/application-security/supply-chain/slsa-build-level.md) in Application security

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/application-security/supply-chain/sbom-and-provenance">Agent Wranglers application security playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Keep secrets out of builds from strangers](https://agentwranglers.se/playbook/application-security/supply-chain/ci-secrets.md)
- Next: [Treat a machine that installed a bad package as breached](https://agentwranglers.se/playbook/application-security/supply-chain/compromised-package-response.md)
- [Supply chain](https://agentwranglers.se/playbook/application-security/supply-chain.md)
