Skip to content
oss-kit
GitHubInstall

The publish job authenticates to the registry with trusted publishing, not a stored token

Rule
R-PUB-02
Forge scope
GitHub and GitLab
Fixed by
oss-publish

A long-lived registry token in CI secrets is the single credential that turns any workflow compromise into a supply-chain compromise. Trusted publishing exchanges a short-lived OIDC token per run, so there is nothing to steal between releases.

Observable check

the publish job requests id-token: write and publishes through the registry's OIDC flow (npm trusted publishing, PyPI trusted publishers, RubyGems OIDC, crates.io trusted publishing). Where the registry offers no OIDC flow, a scoped token limited to one package is below the bar and permitted.

Read the whole standard