-
Notifications
You must be signed in to change notification settings - Fork 2
deps: bump actions/checkout from 4 to 7 #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,7 +19,7 @@ jobs: | |
| name: Validate | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v7 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "Repository files matching workflow names:"
git ls-files .github/workflows | sed -n '1,120p'
echo
echo "Target workflow excerpts:"
if [ -f .github/workflows/ci-walkthrough.yml ]; then
nl -ba .github/workflows/ci-walkthrough.yml | sed -n '1,90p'
else
echo ".github/workflows/ci-walkthrough.yml not found"
fi
echo
echo "Search for checkout usage in target workflow:"
rg -n "actions/checkout|persist-credentials|run:|container:" .github/workflows/ci-walkthrough.yml || true
echo
echo "Repository evidence: list files in .github/workflows"
git ls-files .github/workflows | wc -lRepository: pgEdge/coldfront Length of output: 389 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "Target workflow excerpts:"
awk '{printf "%6d\t%s\n", NR, $0}' .github/workflows/ci-walkthrough.yml | sed -n '1,120p'
echo
echo "Checkout and downstream action usage:"
awk '/actions\/checkout|run:|container:|permissions:|persist-credentials/ {printf "%6d\t%s\n", NR, $0}' .github/workflows/ci-walkthrough.yml
echo
echo "All actions uses pins:"
awk '/uses:/ {printf "%6d\t%s\n", NR, $0}' .github/workflows/ci-walkthrough.ymlRepository: pgEdge/coldfront Length of output: 4900 Disable persisted checkout credentials before running repository code in both jobs. This workflow checks out the repo before running repository scripts and Docker compose commands, but 🧰 Tools🪛 zizmor (1.26.1)[warning] 22-22: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false (artipacked) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
| - name: Run ShellCheck | ||
| run: shellcheck -x --source-path=examples/walkthrough examples/walkthrough/*.sh | ||
| - name: Validate Docker Compose | ||
|
|
@@ -33,7 +33,7 @@ jobs: | |
| runs-on: ubuntu-latest | ||
| timeout-minutes: 25 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v7 | ||
| - name: Log in to GHCR | ||
| uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1 | ||
| with: | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: pgEdge/coldfront
Length of output: 204
🏁 Script executed:
Repository: pgEdge/coldfront
Length of output: 1207
🏁 Script executed:
Repository: pgEdge/coldfront
Length of output: 22593
🌐 Web query:
actions/checkout persist-credentials input defaults true git config credential.helper💡 Result:
The persist-credentials input in actions/checkout is set to true by default [1][2]. This setting controls whether the action configures Git to use the provided authentication token or SSH key for subsequent Git commands within the workflow job [3][4]. When persist-credentials is set to true, the action configures local Git settings so that scripts in your workflow can run authenticated Git commands (e.g., git fetch, git push) without needing to manually provide credentials [3][4]. Regarding your query on git config credential.helper: 1. Mechanism: Historically, actions/checkout persisted credentials by writing them directly into the local.git/config file [4][2]. Since version v6.0.0, the action has been updated to improve security by storing credentials in a separate file located in $RUNNER_TEMP, rather than directly in.git/config [4][5]. 2. Interaction with credential.helper: actions/checkout does not explicitly rely on a standard Git credential.helper (as documented in git-scm.com [6]) to manage this token. Instead, it directly manipulates Git configuration (using git config --local) to inject the token or SSH key, effectively making them available to the Git environment for the duration of the job [5][7]. The token is then automatically removed during the post-job cleanup phase [3][4]. Security Note: Because this mechanism makes the credentials accessible to any process running within the job, there have been ongoing discussions and community requests to change the default value to false to enhance security [8][9]. If you require higher security, you should explicitly set persist-credentials: false in your workflow step [3][4].
Citations:
persist-credentialsor change the default tofalseactions/checkout#485Make checkout credential persistence explicit where credentials are used. Since
actions/checkoutcontinues to expose the GitHub token to authenticated Git commands in the job, addpersist-credentials: falseto the listed checkouts unless later steps need authenticated Git operations; unset any persisted credential store afterward if it must remain true.🧰 Tools
🪛 zizmor (1.26.1)
[warning] 94-95: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
📍 Affects 3 files
.github/workflows/base-image.yml#L95-L95(this comment).github/workflows/ci-walkthrough.yml#L22-L22.github/workflows/ci-walkthrough.yml#L36-L36.github/workflows/ci.yml#L49-L49.github/workflows/ci.yml#L101-L101.github/workflows/ci.yml#L146-L146🤖 Prompt for AI Agents
Source: Linters/SAST tools