Skip to content

ci: migrate scan-plugins.yml to Workload Identity Federation auth#248

Draft
zenexer-ant wants to merge 1 commit into
mainfrom
zenexer/scan-plugins-wif
Draft

ci: migrate scan-plugins.yml to Workload Identity Federation auth#248
zenexer-ant wants to merge 1 commit into
mainfrom
zenexer/scan-plugins-wif

Conversation

@zenexer-ant
Copy link
Copy Markdown

Replaces the static ANTHROPIC_API_KEY repo secret with Workload Identity Federation in scan-plugins.yml: the shared scan-plugins action mints a GitHub OIDC token and the claude CLI exchanges it for a short-lived bearer.

Depends on anthropics/claude-plugins-community#34 (adds anthropic-federation-rule-id etc. inputs to the shared action). Pinned to that PR's head e8411e8; will re-pin to a main-branch SHA once #34 merges. Draft until then.

  • Adds permissions: id-token: write.
  • The federation rule is bound to this repository (repository_id-pinned), so the IDs are repo-specific.
  • Drops the Require ANTHROPIC_API_KEY fail-closed guard — the WIF inputs are literal, so the action's skip-if-no-auth path can't trigger.
  • Updates the prompt-injection defense-in-depth comment: with WIF the process env carries a short-lived (masked) JWT and exchanged bearer rather than a long-lived sk-ant- key, bounding exfil blast radius. The sk-ant- scrubber stays as defense-in-depth.

Once #34 + this merge, the ANTHROPIC_API_KEY repo secret can be removed.

Replaces the static ANTHROPIC_API_KEY repo secret with Workload
Identity Federation: the scan-plugins shared action mints a GitHub
OIDC token (id-token: write) and the claude CLI exchanges it for a
short-lived bearer. The federation rule is bound to this repository
(repository_id-pinned).

Depends on anthropics/claude-plugins-community#34 (adds the WIF
inputs to the shared action). Pinned to that PR's head SHA; will
re-pin to a main-branch SHA once #34 merges.

Drops the 'Require ANTHROPIC_API_KEY' fail-closed guard — the WIF
inputs are literal in this file, so the action's skip-if-no-auth
path can't trigger. Updates the prompt-injection security comment
to reflect the short-lived bearer model.
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.

1 participant