Skip to content

Harden GitHub workflows against supply chain attacks - #345

Merged
kadirtaskiran merged 2 commits into
masterfrom
chore/harden-workflows
Oct 2, 2026
Merged

kadirtaskiran merged 2 commits into
masterfrom
chore/harden-workflows

Conversation

@kadirtaskiran

Copy link
Copy Markdown
Member
  • Pin all actions to full commit SHAs (checkout v7.0.1, setup-node v7.0.0, upload-artifact v7.0.1, download-artifact v8.0.1) and keep them updated with Dependabot (7 day cooldown)
  • Restrict the default token to contents: read and stop persisting checkout credentials
  • Commit package-lock.json and install with npm ci --ignore-scripts
  • Release: pass the tag through env and validate it as X.Y.Z, run tests before publishing, and split publishing into a separate job that only publishes the tested tarball with npm provenance behind the npm-publish environment
  • Add repository to package.json (required for provenance)

- Pin all actions to full commit SHAs (checkout v7.0.1, setup-node v7.0.0,
  upload-artifact v7.0.1, download-artifact v8.0.1) and keep them updated
  with Dependabot (7 day cooldown)
- Restrict the default token to contents: read and stop persisting
  checkout credentials
- Commit package-lock.json and install with `npm ci --ignore-scripts`
- Release: pass the tag through env and validate it as X.Y.Z, run tests
  before publishing, and split publishing into a separate job that only
  publishes the tested tarball with npm provenance behind the
  `npm-publish` environment
- Add `repository` to package.json (required for provenance)
- Pin all actions to full commit SHAs (checkout v7.0.1, setup-node v7.0.0,
  upload-artifact v7.0.1, download-artifact v8.0.1) and keep them updated
  with Dependabot (7 day cooldown)
- Restrict the default token to contents: read and stop persisting
  checkout credentials
- Commit package-lock.json and install with `npm ci --ignore-scripts`
- Release: pass the tag through env and validate it as X.Y.Z, run tests
  before publishing, and split publishing into a separate job that only
  publishes the tested tarball with npm provenance behind the
  `npm-publish` environment
- Add `repository` to package.json (required for provenance)
@kadirtaskiran
kadirtaskiran merged commit 69eccf5 into master Oct 2, 2026
21 checks passed
@kadirtaskiran
kadirtaskiran deleted the chore/harden-workflows branch October 2, 2026 08:07
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.

2 participants