Skip to content

fix: pin GitHub Actions dependencies to SHA hashes for security#431

Merged
zkoppert merged 4 commits intomainfrom
claude/update-github-workflows-pinned-dependencies
Feb 10, 2026
Merged

fix: pin GitHub Actions dependencies to SHA hashes for security#431
zkoppert merged 4 commits intomainfrom
claude/update-github-workflows-pinned-dependencies

Conversation

@Claude
Copy link
Contributor

@Claude Claude AI commented Feb 10, 2026

Pull Request

Proposed Changes

All GitHub Actions workflow files were using version tags (e.g., @v6.0.2) instead of pinned SHA hashes, creating a supply chain security risk where tags could theoretically be moved to point at different commits.

Changes Made

Pinned all GitHub Actions dependencies to their full 40-character SHA hashes with version comments:

  • actions/stale@v10.1.1@997185467fa4f803885201cee163a9f38240193d # v10.1.1
  • actions/checkout@v6.0.2@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
  • actions/setup-python@v6.2.0@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
  • actions/upload-artifact@v6.0.0@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0

Files Updated

  • .github/workflows/stale.yaml
  • .github/workflows/python-package.yml
  • .github/workflows/use-action.yml
  • .github/workflows/docker-image.yml
  • .github/workflows/major-version-updater.yml
  • .github/workflows/linter.yaml
  • .github/workflows/copilot-setup-steps.yml
  • .github/workflows/scorecard.yml

Readiness Checklist

Author/Contributor

  • If documentation is needed for this change, has that been included in this pull request
  • run make lint and fix any issues that you have introduced
  • run make test and ensure you have test coverage for the lines you are introducing
  • If publishing new data to the public (scorecards, security scan results, code quality results, live dashboards, etc.), please request review from @jeffrey-luszcz

Reviewer

  • Label as either fix, documentation, enhancement, infrastructure, maintenance or breaking
Original prompt

This section details on the original issue you should resolve

<issue_title>Some workflows are not using Pinned-Dependencies</issue_title>
<issue_description>### Describe the bug

some github action workflow files are not using Pinned-Dependencies like they should be.

To Reproduce

observe the files .github/workflows for instances of uses: action@v1.0.0 instead of using Pinned-Dependencies

Expected behavior

use Pinned-Dependencies in all github workflow files
ex: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Screenshots

No response

Additional context

No response</issue_description>

Comments on the Issue (you are @claude[agent] in this section)

Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
@Claude Claude AI changed the title [WIP] Update GitHub workflows to use Pinned-Dependencies fix: pin GitHub Actions dependencies to SHA hashes for security Feb 10, 2026
@Claude Claude AI requested a review from zkoppert February 10, 2026 20:07
@github-actions github-actions bot added the fix label Feb 10, 2026
Signed-off-by: Zack Koppert <zkoppert@github.com>
@zkoppert zkoppert marked this pull request as ready for review February 10, 2026 22:34
@zkoppert zkoppert requested a review from a team as a code owner February 10, 2026 22:34
Copilot AI review requested due to automatic review settings February 10, 2026 22:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves GitHub Actions supply-chain security by replacing tag-based uses: references in workflow files with full 40-character commit SHAs (with version comments) to prevent tag-move risk.

Changes:

  • Pinned actions/checkout, actions/setup-python, actions/stale, and actions/upload-artifact to full commit SHAs across workflows.
  • Added inline version comments next to pinned SHAs for readability/auditability.
  • Updated the pinned SHA for super-linter/super-linter in the linter workflow (effectively a version bump).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/stale.yaml Pins actions/stale to a full SHA with a version comment.
.github/workflows/python-package.yml Pins actions/checkout and actions/setup-python to full SHAs with version comments.
.github/workflows/use-action.yml Pins actions/checkout to a full SHA with a version comment.
.github/workflows/docker-image.yml Pins actions/checkout to a full SHA with a version comment.
.github/workflows/major-version-updater.yml Pins actions/checkout to a full SHA with a version comment.
.github/workflows/linter.yaml Pins actions/checkout/setup-python and changes the pinned super-linter SHA (with a version comment).
.github/workflows/copilot-setup-steps.yml Pins actions/checkout and actions/setup-python to full SHAs with version comments.
.github/workflows/scorecard.yml Pins actions/checkout and actions/upload-artifact to full SHAs with version comments.

Signed-off-by: Zack Koppert <zkoppert@github.com>
@zkoppert zkoppert merged commit 9865845 into main Feb 10, 2026
35 checks passed
@zkoppert zkoppert deleted the claude/update-github-workflows-pinned-dependencies branch February 10, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Some workflows are not using Pinned-Dependencies

2 participants