Changelog

jsr-io/jsr · · 1 commit

Provenance now binds to uploaded tarballs

jsr hardened provenance checks by storing publish-time tarball hashes and verifying attestations against the exact bytes released.

Provenance verification now checks the published tarball bytes (crowlKatsae82096)

The publish flow now records the SHA-256 of the uploaded tarball, and the provenance endpoint compares an attestation’s subject.digest.sha256 against that stored hash instead of trusting package name/version alone. That closes a gap where a valid attestation could be bound to the wrong bytes, and verification now fails closed if no publish-time hash is available.

Other misc changes

  • DB migration to add nullable publishing_tasks.tarball_hash
  • SQLx query metadata updates for reading/writing tarball hashes
  • Frontend asset/style updates