Skip to content

SYSTEM Cited by 1 source

octo-sts

octo-sts is Chainguard's open-source Security Token Service for GitHub: it lets workflows dynamically exchange a short-lived OIDC token for a minimally-scoped, time-bounded GitHub credential, replacing long-lived Personal Access Tokens (PATs) and GitHub App private keys stored as repo secrets.

Shape

  1. Workflow's GitHub Actions runner obtains an OIDC token (GitHub acts as IdP).
  2. Runner calls the octo-sts endpoint with the OIDC token + requested scope.
  3. octo-sts validates the OIDC token's sub/workflow/repo claims against a policy bound to a GitHub App installation.
  4. octo-sts issues a scoped, short-lived GitHub token (read/write to specific repos, specific permissions only, ~1-hour max TTL).
  5. Workflow uses the token; it auto-expires.

Why it matters

GitHub PATs and GitHub App private keys are long-lived secrets stored in repo/org secrets. Leakage has an arbitrary blast radius. octo-sts turns that model into per-workflow, minimally-scoped, auto-rotated tokens driven by OIDC identity federation — the same pattern AWS uses for sts.AssumeRoleWithWebIdentity.

Datadog operates a fork, dd-octo-sts-action, customised for internal workflow needs.

Seen in

Last updated · 200 distilled / 1,178 read