Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/public-repo-guard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,15 @@ jobs:
name: Secrets + content policy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Verify the pinned SHA actually corresponds to v7.0.0

The commit SHA is the only thing enforced at run time; the # v7.0.0 comment is unverifiable from the repo. Worth confirming 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 is the tagged v7.0.0 commit of actions/checkout, since a mismatched pin in the security-gate workflow would silently run a different action revision. The subsequent steps (download/extract gitleaks, gitleaks detect --no-git, ripgrep policy script) need no Git credentials, so persist-credentials: false is safe here.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

with:
# Checkout defaults to persisting the job token for later steps: since v6 it
# lives in a file under $RUNNER_TEMP referenced from .git/config, no longer in
# .git/config itself. It is still a live credential in the job, and this job
# downloads a third-party binary (gitleaks, below) and runs it over the whole
# tree. Nothing here pushes -- the scan is `--no-git` over the working tree --
# so no step needs authenticated Git; drop it. (zizmor: artipacked)
persist-credentials: false
Comment on lines +45 to +53

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Checkout action pin now inconsistent across workflows

This workflow now pins actions/checkout at v7.0.0 while .github/workflows/python-lint.yml:23 pins v6.0.3 and .github/workflows/_checks.yml:23,54,114 still pin v4.3.1 — none of which set persist-credentials: false. If the intent is the zizmor artipacked hardening, the other workflows remain unhardened and the version drift makes future SHA bumps easy to miss.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.


# gitleaks' GitHub Action requires a paid license for organizations; the CLI
# itself is MIT-licensed and free. Pin the version AND verify the release
Expand Down
Loading