Skip to content

feat(security): add gitleaks secret scanning — this repo had none - #10

Merged
hyperpolymath merged 1 commit into
mainfrom
feat/secret-scanning
Aug 5, 2026
Merged

feat(security): add gitleaks secret scanning — this repo had none#10
hyperpolymath merged 1 commit into
mainfrom
feat/secret-scanning

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

An estate-wide audit of secret-scanning coverage found this repository has no leak detection of any kind — no gitleaks, no trufflehog, nothing.

Measured across all 424 repositories:

state count
gitleaks 170 (47%)
gitleaks + a leftover trufflehog step 73 (20%)
trufflehog only 33 (9%)
nothing at all 88 (24%) ← including this one

Adds a caller of the estate's shared secret-scanner reusable: gitleaks over the whole working tree with --no-git, exiting non-zero on a finding, alongside its rust-secrets and shell-secrets jobs.

Two details that would fail silently if left out

secrets: inherit is required. Without it the gitleaks action's inner secrets.GITHUB_TOKEN is empty and the scan degrades quietly — passing while checking less, which is the precise failure this campaign exists to remove.

Where an actions.lock exists it gains a hand-authored [] entry. gh actions-lock skips reusable-workflow callers, so without it the workflow is rejected as startup_failure with no log and no check run.

Expect findings — and read them carefully

A first run on a repository that has never been scanned may surface real secrets, and anything it finds has been exposed for as long as it has been committed. Rotate what it names; deleting the line is not enough.

But expect false positives too, and do not widen the scanner to silence them. Test fixtures, spec vectors and security documentation are deliberately full of credential-shaped strings — one estate repo produced 12 findings, all of them fixtures and doc examples. The cure there was a narrow, path-anchored .gitleaks.toml, verified by planting a real key to confirm the scanner still fired.

The sweep re-verified from this checkout that no scanner already existed before writing, rather than trusting the audit that selected the repo.

Found during the 2026-08-05 estate CI/CD census.

🤖 Generated with Claude Code

An estate-wide audit of secret-scanning coverage found this repository has no
leak detection of any kind: no gitleaks, no trufflehog, nothing.

Measured across all 424 repositories: 170 had gitleaks, 73 had gitleaks plus a
leftover trufflehog step, 33 had trufflehog only, and 88 — this one among them
— had nothing at all.

Adds a caller of the estate's shared secret-scanner reusable, which runs
gitleaks over the whole working tree with --no-git and exits non-zero on a
finding, alongside its rust-secrets and shell-secrets jobs.

Two details that would fail silently if left out:

  - `secrets: inherit` is REQUIRED. Without it the gitleaks action's inner
    secrets.GITHUB_TOKEN is empty and the scan degrades quietly — passing
    while checking less, which is the failure this campaign exists to remove.
  - Where an actions.lock exists it gains a hand-authored [] entry for this
    file. gh actions-lock SKIPS reusable-workflow callers, so without it the
    workflow is rejected as startup_failure with no log and no check run.

Expect findings. A first run on a repository that has never been scanned may
surface real secrets, and any it finds have been exposed for as long as they
have been committed. Treat a red first run as information, not as a fault in
this change — and rotate anything it names rather than only deleting it.

The sweep re-verified from this checkout that no scanner already existed
before writing, rather than trusting the audit that selected the repo.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved

Adds gitleaks secret scanning workflow using the estate's shared reusable action with proper inheritance and lockfile configuration. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 5 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 5, 2026
@hyperpolymath
hyperpolymath merged commit 30bee1f into main Aug 5, 2026
6 checks passed
@hyperpolymath
hyperpolymath deleted the feat/secret-scanning branch August 5, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant