Skip to content

Supply chain: attest the Docker image and PyPI launcher (npm tarballs already carry provenance) #422

Description

@debugmcpdev

Current state

SUPPLY-CHAIN-SECURITY.md ("Verifying a Release") is explicit about the gap: what is attested today is the npm package tarballs — npm publishes run with --provenance, and release tarballs get GitHub build-provenance attestations plus SBOMs. The Docker image and the PyPI launcher are built by the same tag-triggered workflow but carry no attestations of their own:

  • docker-publish pushes via docker/build-push-action with no provenance/SBOM output and no image-digest attestation.
  • pypi-publish uploads with twine + token (permissions: contents: read — no id-token), so no PyPI trusted publishing and no PEP 740 attestations.

Proposal

  1. Docker: attest the pushed image digest with actions/attest-build-provenance (subject index.docker.io/debugmcp/mcp-debugger@sha256:...), and/or enable BuildKit provenance + SBOM generation on docker/build-push-action. Verification story: gh attestation verify oci://docker.io/debugmcp/mcp-debugger:<tag> --repo debugmcp/mcp-debugger.
  2. PyPI: migrate the launcher to PyPI trusted publishing via pypa/gh-action-pypi-publish (which generates and uploads PEP 740 attestations automatically) and drop the token — mirroring the npm OIDC setup already in place.
  3. Update the "Verifying a Release" section of SUPPLY-CHAIN-SECURITY.md with the new verification commands and remove the "do not yet carry their own attestations" caveat.

This closes the remaining gap in the release-signing story (OpenSSF Best Practices signed_releases) — every distributed artifact, not just the npm tarballs, becomes independently verifiable back to the tagged commit and workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions