Skip to content

Consider tracking provenance of build-time dependencies #15

Open
@ogrisel

Description

The list of https://github.com/psf/sboms-for-python-packages?tab=readme-ov-file#phantom-dependencies does not explicitly list build time dependencies for inclusion in the SBOM. I am thinking of:

  • compiler toolchains (gcc, llvm, msvc, gfortran...) (including linkers);
  • wheel repair tools or their system dependencies (such as patchelf which is a system dependency of auditwheel);
  • cibuildwheel itself;
  • even the manylinux docker image;
  • github actions components (possibly including container images) or other versioned CI components used to CI workflows to build the wheel.

Tracking the name, digest and version number of those build-time tools could be useful even if the wheel does not directly include files coming from those tools. In particular, this would allow tracing the downstream impact of a tampered build tool that has been discovered to inject malware hidden into compiled extensions shipped in the generated Python package (see compiler backdoors).

Furthermore, it would be helpful to track build tool versioning info to help automate independent reproducible build attempts as a proactive way to detect previously unreported tampered components in a software supply chain.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions