PyPI’s November 6 interface update gives package users a dedicated Security tab, per-file attestations and more visible release warnings. The useful change is a clearer path from a package page to evidence about the particular file you intend to install.
Start with the release and its files
Find the intended version in Release history, then locate the relevant wheel or source archive under Release files. Open its provenance details through the Security tab or file page. A release marked with full provenance has attestations for every file; that does not mean every file underwent a security audit.
PyPI’s provenance documentation distinguishes publishing identity from build evidence. A PyPI Publish attestation identifies the Trusted Publisher used for upload. SLSA build provenance can connect the artifact to its source and build process. Inspect the repository and workflow rather than stopping at a positive status label.
Investigate the warning’s reason
Incomplete means some files lack attestations. Inconsistent indicates unrelated origins within a release. Change flags a different source or workflow, while loss signals a move away from attested publishing. Check release notes and official maintainer communications for an intentional change; unresolved inconsistencies warrant further investigation before installation.
An absent attestation is not, by itself, evidence of malware. Conversely, a valid attestation establishes origin, not that the source or build environment is safe.
Keep that origin check alongside PyPI’s code-assessment guidance: review maintenance activity, vulnerability handling and dependencies. PyPI distributes packages; it does not guarantee their security. A provenance result is one input to the installation decision.
Image: AI-generated editorial illustration created for DaySec.