You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
harden the app-artifact build: hash-pin wheels, split build from publish
Two supply-chain hardenings for build-app.yml:
1. Hash-pin the bundled PyPI wheels. The .deb and AppImage previously
pip-installed version-pinned wheels with no integrity check, so a
mutated wheel of the same version would be accepted. Move the curated
closures into third_party/requirements-{deb,appimage}.txt with a
SHA-256 per wheel and install with --require-hashes --only-binary=:all:
--no-deps, so pip rejects any mismatch and never builds from an sdist.
2. Least-privilege CI. The build job held contents:write + id-token +
attestations while running build scripts and downloading deps. Drop it
to contents:read, upload the artifacts, and attest/publish them from a
separate job that holds the elevated scopes and touches only the
already-built files.
Update the packaging policy tests to assert the hardened install flags and
that the requirement files carry both the version pins and the hashes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014pmkUWS6teoMZUUnMJG7Gr
0 commit comments