Agent Wranglers

APS-75Recommended

Publish what is in each release

Make a software bill of materials for every release, and sign where and how the build was made.

How to do it

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. The level of build to aim for is in Build releases at SLSA Build Level 2 or higher. See also handle vulnerabilities for the whole support period.

How to 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.

Sources

For agents: this playbook is free to use under CC 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.