Skip to content

docs(security): pin and verify mcp-publisher installer - #1523

Open
sys-ops-node wants to merge 1 commit into
modelcontextprotocol:mainfrom
sys-ops-node:docs/pin-verified-mcp-publisher
Open

docs(security): pin and verify mcp-publisher installer#1523
sys-ops-node wants to merge 1 commit into
modelcontextprotocol:mainfrom
sys-ops-node:docs/pin-verified-mcp-publisher

Conversation

@sys-ops-node

Copy link
Copy Markdown

Motivation and Context

Fixes #1505.

The GitHub Actions publishing guide downloaded mcp-publisher through the mutable releases/latest URL and extracted it without checking the published Sigstore bundle. The three credential-bearing examples now pin the release to v1.8.1, download the archive and its bundle separately, verify the release workflow identity and GitHub Actions OIDC issuer with cosign verify-blob, and extract only after verification.

How Has This Been Tested?

  • Parsed all three fenced workflow examples with PyYAML and checked the pinned version, cosign installer, and verification flags.
  • Verified the published v1.8.1 Linux amd64 archive against its published Sigstore bundle with cosign v3.0.6 (the version installed by the pinned cosign-installer action); verification returned Verified OK.
  • Ran git diff --check.

Breaking Changes

None. This only hardens the documented installer workflow; existing registry APIs and authentication commands are unchanged.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing users to update)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally (documentation/workflow validation listed above)
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

The release version is intentionally explicit so upgrades are reviewable. The Sigstore certificate identity is constrained to this repository's release workflow and the selected tag.

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.

Docs: the recommended GitHub Actions workflow installs mcp-publisher unpinned and unverified, in a job that holds the publishing credential

1 participant