You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(ci): pin third-party actions to SHAs and restrict default permissions
Defense-in-depth hardening for the GitHub Actions setup, prompted by
review of the TanStack npm supply-chain compromise postmortem
(https://tanstack.com/blog/npm-supply-chain-compromise-postmortem).
The repo is not vulnerable to the specific TanStack chain — we use
neither pull_request_target nor OIDC trusted publishing — but two
residual gaps were closed:
1. Pin every `uses:` reference to a commit SHA (with version comment).
Tag-pinning means an action publisher compromise executes attacker
code with whatever permissions the surrounding job has, including
release.yml where NPM_TOKEN is live.
2. Add `permissions: contents: read` at the workflow level for the
PR-triggered workflows (cicd, expo, integration) so GITHUB_TOKEN
defaults to read-only. release.yml is left as-is because
changesets/action needs write access and the workflow only runs
on push to protected branches. dependabot-changeset.yml already
has its own explicit permissions block.
Refs KNO-13133.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments