-
Notifications
You must be signed in to change notification settings - Fork 2
chore(deps): bump the github-actions-deps group across 1 directory with 2 updates #144
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 |
|---|---|---|
|
|
@@ -96,7 +96,7 @@ jobs: | |
| cache: true | ||
|
|
||
| - name: Cache dependencies | ||
| uses: actions/cache@v4 | ||
| uses: actions/cache@v5 | ||
|
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. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
resolve_tag() {
local repo="$1"
local tag="$2"
local ref_json obj_type obj_sha commit_sha
ref_json="$(curl -fsSL "https://api.github.com/repos/${repo}/git/ref/tags/${tag}")"
obj_type="$(jq -r '.object.type' <<<"$ref_json")"
obj_sha="$(jq -r '.object.sha' <<<"$ref_json")"
if [ "$obj_type" = "tag" ]; then
commit_sha="$(curl -fsSL "https://api.github.com/repos/${repo}/git/tags/${obj_sha}" | jq -r '.object.sha')"
else
commit_sha="$obj_sha"
fi
printf '%s@%s -> %s\n' "$repo" "$tag" "$commit_sha"
}
resolve_tag "actions/cache" "v5"
resolve_tag "codecov/codecov-action" "v6.0.1"Repository: kubeservice-stack/common Length of output: 118 Pin GitHub Action references to immutable commit SHAs. In 🧰 Tools🪛 zizmor (1.25.2)[error] 99-99: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy) (unpinned-uses) 🤖 Prompt for AI Agents |
||
| with: | ||
| path: | | ||
| ~/go/pkg/mod | ||
|
|
@@ -109,7 +109,7 @@ jobs: | |
| run: go test -race -coverprofile=coverage.out -coverpkg=./... ./... -count=1 | ||
|
|
||
| - name: Upload coverage to codecov.io | ||
| uses: codecov/codecov-action@v6.0.0 | ||
| uses: codecov/codecov-action@v7.0.0 | ||
| with: | ||
| files: coverage.out | ||
| fail_ci_if_error: false | ||
|
|
@@ -132,7 +132,7 @@ jobs: | |
| cache: true | ||
|
|
||
| - name: Cache dependencies | ||
| uses: actions/cache@v4 | ||
| uses: actions/cache@v5 | ||
| with: | ||
| path: | | ||
| ~/go/pkg/mod | ||
|
|
@@ -148,4 +148,4 @@ jobs: | |
| run: go test -coverprofile=cover.out -coverpkg=./... ./... && go tool cover -html=cover.out -o cover.html && true | ||
|
|
||
| - name: Upload coverage to codecov.io | ||
| uses: codecov/codecov-action@v6.0.0 | ||
| uses: codecov/codecov-action@v7.0.0 | ||
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.
🧩 Analysis chain
🏁 Script executed:
Repository: kubeservice-stack/common
Length of output: 118
🏁 Script executed:
Repository: kubeservice-stack/common
Length of output: 111
🏁 Script executed:
Repository: kubeservice-stack/common
Length of output: 1866
🏁 Script executed:
Repository: kubeservice-stack/common
Length of output: 114
🏁 Script executed:
Repository: kubeservice-stack/common
Length of output: 1159
🌐 Web query:
GitHub Actions security hardening unpinned-uses policy enforce full-length commit SHA for actions at org repo level💡 Result:
GitHub provides an organization-level policy to enforce the use of full-length commit SHAs for GitHub Actions [1][2]. This security control helps mitigate supply chain risks by ensuring that workflows execute immutable versions of actions, preventing attacks where malicious code is injected into mutable references like tags or branches [1][3][4]. Policy Configuration To enable this enforcement, organization owners can navigate to Organization Settings > Actions > General > Policies [5]. Within this section, there is a setting labeled "Require actions to be pinned to a full-length commit SHA" [1][6]. When enabled, any workflow that attempts to use an action not pinned to a full-length (40-character) commit SHA will fail [2][5]. Key Considerations for Enforcement: - Scope: This policy applies to direct 'uses' references in workflow files [5]. It is a critical component of a broader security hardening strategy but should be combined with other controls, as it does not inherently verify transitive dependencies (e.g., actions that pull other mutable code at runtime) or automatically apply to reusable workflows in the same manner [4][5]. - Governance and Blocking: GitHub also allows for explicit allow and block lists for actions [2][6]. Administrators can combine these policies by using '!' to block specific actions or versions, and ',!owner/repo@' to control allowed action usage across the organization [6][7]. - Complementary Practices: Because SHA pinning alone does not guarantee that an action's internal dependencies or execution logic are immutable, security experts recommend additional practices such as: - Enabling Dependabot to manage and update SHA-pinned actions [2][3]. - Conducting periodic drift audits to identify when upstream maintainers update tags [5]. - Utilizing additional runtime security tools (e.g., harden-runner) to monitor egress traffic or token exposure [4][5]. - Implementing pre-commit hooks or linting (e.g., actionlint) to catch non-compliant references before they are pushed to the repository [5].
Citations:
Pin
actions/cacheto a full commit SHAThe workflow step
Cache dependenciesuses the mutable tagactions/cache@v5(line 26). Tags can be retargeted; GitHub’s hardening guidance recommends pinning GitHub Actions to full-length commit SHAs (and org policy can enforce this). https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions🧰 Tools
🪛 zizmor (1.25.2)
[error] 26-26: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
[error] 26-26: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): enables caching by default
(cache-poisoning)
🤖 Prompt for AI Agents