anthropics / anthropics/claude-code-action

WIF refresh can recreate credentials after action cleanup

Open
#1,621 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
8.9k
Forks
2.1k
PR merge metrics
PR metrics pending

Description

## Summary

An in-flight workload identity federation refresh can recreate credential material after the action has started cleanup.

## Reproduction

1. Configure workload identity federation.
2. Let a scheduled refresh enter the asynchronous OIDC token request.
3. Finish the action while that request is still pending.
4. Cleanup removes RUNNER_TEMP/claude-workload-identity.
5. The pending refresh resolves.

## Expected behavior

After cleanup starts, no identity token or exchanged-credential cache should be recreated.

## Actual behavior

The pending refresh can write a new identity token and cache directory after stop() has removed them, leaving secret-bearing files in the runner's temporary directory.

## Relevant code

- base-action/src/workload-identity.ts:147-153
- base-action/src/workload-identity.ts:192-199

PR #1620 adds a stopped-state guard and regression coverage.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.