Skip to content

Prove the exact pip slice for namespace-wheel advisory - #367

Merged
chen21019 merged 1 commit into
mainfrom
fix/agent-pip-namespace-proof-20261025
Oct 24, 2026
Merged

chen21019 merged 1 commit into
mainfrom
fix/agent-pip-namespace-proof-20261025

Conversation

@chen21019

Copy link
Copy Markdown

The first v0.3.7 base candidate correctly stopped on GHSA-xmj3-9gf7-h52w. The official fix changes setuptools/wheel.py; the pinned pip wheel contains only pkg_resources and has no such module. Extend the existing code-absence proof for this single advisory, requiring the exact 299-file inventory hash, actual wheel/live module absence, exact SBOM-analyzed package PURL, and native CycloneDX bytes. Full setuptools distributions, unknown IDs/versions/PURLs and incomplete evidence remain blocked.

The original raw scan remains untouched. Separately, cleanup now checks the canonical private mktemp path before repairing ownership of only its root-owned Trivy cache; scan UID, networking and flags are unchanged.

Validation: 8 focused tests, including real wheel/live file-presence controls and missing/tampered inventory/SBOM/PURL controls; real pinned wheel plus retained failed native proof/SBOM replay leaves all 21 vendor-unfixed Medium/Low findings and no blocking finding. Bash syntax and private-path cleanup controls pass. The original failed run/artifact is retained; a new protected publisher must still generate and verify its actual runtime inventory.

Official advisory: GHSA-xmj3-9gf7-h52w
Official fix: pypa/setuptools@6d07b8d

@chen21019
chen21019 requested a review from a team as a code owner October 24, 2026 23:19
@chen21019
chen21019 merged commit 856faaf into main Oct 24, 2026
5 checks passed
@chen21019
chen21019 deleted the fix/agent-pip-namespace-proof-20261025 branch October 24, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant