Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 2.73 KB

File metadata and controls

41 lines (33 loc) · 2.73 KB

Update 2024-11

Solving the "Phantom Dependency problem" for Python packages

Python packages have a "phantom dependency" problem, many packages contain non-Python software (C, C++, Rust, Go, JavaScript, etc) that can't be described using Python packaging metadata. This means that software composition analysis tools often miss this software. Python is particularly affected by this issue, but many software ecosystems have the exact same problem.

The proposal to solve this issue is providing a mechanism to describe cross-technology software within Python packaging metadata using SBOMs.

Seth has authored a draft Python Enhancement Proposal (PEP) and has circulated the draft within the Python packaging reviewers, SBOM standards communities (both SPDX and CycloneDX), SBOM users working groups. The PEP would provide a mechanism to bundle self-describing SBOM documents into Python package archives. The draft has a sponsor and reviewer: Brett Cannon.

Seth created a fork of auditwheel that implements the draft PEP and published a case study showing that by adding SBOM data to Python wheels that SCA tools are able to properly detect all bundled software within the archive.

Other items