Skip to content

chore(guard): sync vendored public-repo-guard to canonical - #24

Open
wave-av-release-bot[bot] wants to merge 1 commit into
mainfrom
chore/guard-canonical-sync
Open

chore(guard): sync vendored public-repo-guard to canonical#24
wave-av-release-bot[bot] wants to merge 1 commit into
mainfrom
chore/guard-canonical-sync

Conversation

@wave-av-release-bot

@wave-av-release-bot wave-av-release-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Syncs the vendored public-repo-guard trio to the canonical source in wave-foundation/scaffolder/public-repo-guard.

  • adds the internal-ip leak rule (Tailscale-CGNAT 100.64.0.0/10), lockstep with the pre-publish mirror gate
  • reconciles accumulated drift in the vendored copy

Each changed file is byte-for-byte identical to canonical (verified by git blob SHA). The repo's own Secrets + content policy gate re-scans this PR.

🤖 Generated with Claude Code


Open in Devin Review

Note

Update public-repo-guard workflow to use actions/checkout v7 without persisted credentials

Syncs public-repo-guard.yml to the canonical version. Upgrades actions/checkout from v5.0.1 to v7.0.0 and sets persist-credentials: false so the GITHUB_TOKEN is no longer stored in the repository's Git config after checkout.

Macroscope summarized 2dff537.


Summary by cubic

Synced the vendored public-repo-guard to the canonical wave-foundation/scaffolder/public-repo-guard and hardened the workflow. Adds the internal-IP leak rule for Tailscale CGNAT (100.64.0.0/10), and updates to actions/checkout@v7 with persist-credentials: false to reduce credential exposure during gitleaks scans.

Written for commit 2dff537. Summary will update on new commits.

Review in cubic

@greptile-apps

greptile-apps Bot commented Aug 4, 2026

Copy link
Copy Markdown

PR author is in the excluded authors list.

@macroscopeapp

macroscopeapp Bot commented Aug 4, 2026

Copy link
Copy Markdown

Approvability

Verdict: Needs human review

Unable to check for correctness in 2dff537. This is a minor CI/CD security improvement (bumping actions/checkout and disabling credential persistence), but the workflow file is owned by wave-av/core-team and the author (release bot) is not a designated owner. The code owners should review this sync.

You can customize Macroscope's approvability policy. Learn more.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 2 potential issues.

Open in Devin Review

Comment on lines +45 to +53
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
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

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.

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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants