PyPI Enhances Software Supply Chain Security with New 'Security' Tab
The Python Package Index (PyPI) has introduced a new security tab on project pages to improve transparency and help developers verify the provenance of release files.

The Python Package Index (PyPI), a critical repository for Python software, has rolled out a new 'Security' tab on its project pages. This feature aims to bolster software supply chain security by providing developers with a clear, centralized location to assess the trustworthiness of individual release files.
The 'Security' tab displays whether release files are accompanied by digital attestations. These attestations serve as verifiable records, offering crucial information about the origin and build process of a given file. When all files within a release possess at least one attestation, the release is considered to have full provenance, significantly enhancing transparency for users.
Two primary types of attestations are highlighted: PyPI Publish attestations, which identify the Trusted Publisher that uploaded the file, and SLSA (Supply-chain Levels for Software Artifacts) Build Provenance attestations. The latter links a file to its source commit, the build platform used, and the specific build instructions, providing a detailed audit trail.
PyPI also flags releases where provenance is incomplete or absent. A release is deemed to have no provenance if none of its files are attested. While this doesn't automatically imply malicious intent, it means the origin cannot be cryptographically verified. In such cases, developers are advised to examine other indicators like maintainer history, release patterns, and repository activity.
Furthermore, the platform now issues warnings for releases exhibiting incomplete attestations or when files within the same release originate from different repositories or build systems. Warnings are also triggered if a project's workflow changes significantly from previous versions, such as a repository relocation or a change in build processes, which could indicate a compromised pipeline or account takeover.
These provenance warnings are prominently displayed at the top of redesigned project pages, alongside other important notices like yanked releases or archived projects. The sidebar provides a quick status overview and links to the 'Security' tab for releases with complete attestations or applicable warnings.
Users can delve deeper into the provenance status of each file via the 'Release Files' tab, which allows for searching and filtering downloads. For releases predating PyPI's July 2026 policy change, the tab also flags files uploaded more than 14 days after the initial release, a practice now disallowed by PyPI. The 'Release History' tab enables comparisons between versions, showing the file count, provenance status, and any release status for each release.
This initiative by PyPI represents a significant step towards improving the security posture of the Python ecosystem, empowering developers with better tools to vet the integrity of the open-source software they rely on.