python-sbom writes a CycloneDX SBOM into wheels, from a hatchling build hook or from python-sbom embed, which rewrites
a wheel another build backend built. python-sbom archive describes another zip archive a project publishes, such as a
zipapp, and python-sbom spdx and validate render or check an SBOM. This policy says how to report a security problem
and how we decide whether a report is one.
Do not open a public issue for a security problem. Use GitHub's private vulnerability reporting. If neither works for you, email gaborjbernat@gmail.com.
Include what the attacker controls and what they gain, the steps or a proof of concept, and the versions and platform you tested. Write the report yourself; unreviewed tool or model output takes longer to triage.
Volunteers maintain python-sbom, with no on-call rotation. We aim to acknowledge a report within 5 working days and assess it within 15 working days. Fixes are developed in a private fork attached to the draft advisory, ship in a new release, and the advisory, with a CVE requested through GitHub, goes out with that release. The default embargo is 90 days from the report; we agree any change with the reporter. We credit reporters in the advisory under the name they choose, or not at all. There is no bug bounty.
Only the latest release receives fixes. Confirm the problem reproduces on it before reporting.
A report is a vulnerability when an attacker who controls only an input that the threat model lists
as untrusted breaks a guarantee python-sbom makes. A report that first needs control of something the threat model
trusts, such as the project source, its pyproject.toml or the build environment, is a bug: we fix it in the open and
publish no advisory. Classify by who supplies the dangerous input, not by how bad the outcome sounds.
In scope
- A wheel bundled in a wheel or in an archive given to
python-sbom archive, or an SBOM given topython-sbom spdxorvalidate, that makes python-sbom write outside its output file or the wheel or archive it rewrites, or run code. - An SBOM that misstates what a wheel holds in a way its inputs cannot explain, such as a wrong hash.
Out of scope
- Anything hatchling's own build trusts.
- Vulnerabilities in the packages an SBOM lists; report those to their projects.
If you cannot tell which side a finding falls on, report it privately and we will decide.