Skip to content

Commit 96f97a2

Browse files
fix(ci): correct 3 secret-name mismatches causing silent no-ops (#352)
## Summary Post-breach credential audit found two workflows referencing secret names that don't exist on this repo, causing silent degradation instead of loud failure: 1. `supervised-fleet-scan.yml` — referenced `secrets.FLEET_SCAN_PAT` (never configured). Only `HYPATIA_SCAN_PAT` exists, and its scope matches exactly what this step's own comment says it needs (Contents + Dependabot alerts read, for cross-repo CVE scanning). Pointed at the secret that actually exists. 2. `inbox-steward.yml` "Validate PRs" — referenced `secrets.FARM_PAT` (never configured). This step only reads check-runs/reviews/PRs on `${{ github.repository }}` itself — never needed a cross-repo PAT. Switched to `secrets.GITHUB_TOKEN`. 3. `inbox-steward.yml` "Send dispatch to Hypatia" — same missing `FARM_PAT`, but this step genuinely dispatches cross-repo, so kept the PAT-with-fallback shape, just pointed at `FARM_DISPATCH_TOKEN` (the secret that's actually meant to carry that capability — currently dead pending a separate redistribution effort, tracked elsewhere; the `|| secrets.GITHUB_TOKEN` fallback means this degrades safely either way). No behavior regression possible — all three references were 100% guaranteed-broken before this change (referencing secrets that don't exist), so this is strictly an improvement. ## Note Unrelated to this PR: `git push` surfaced "GitHub found 4 vulnerabilities on this repo's default branch (1 high, 1 moderate, 2 low)" via Dependabot — flagging for separate follow-up, not touched here. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
1 parent bcd8a4c commit 96f97a2

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

.github/workflows/inbox-steward.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ jobs:
166166
- name: Validate PRs
167167
id: validate
168168
env:
169-
GH_TOKEN: ${{ secrets.FARM_PAT }}
169+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
170170
PRS_JSON: ${{ needs.identify-passed-prs.outputs.prs_to_process }}
171171
DRY_RUN: ${{ inputs.dry_run }}
172172
run: |
@@ -384,7 +384,7 @@ jobs:
384384

385385
- name: Send dispatch to Hypatia
386386
env:
387-
GH_TOKEN: ${{ secrets.FARM_PAT || secrets.GITHUB_TOKEN }}
387+
GH_TOKEN: ${{ secrets.FARM_DISPATCH_TOKEN || secrets.GITHUB_TOKEN }}
388388
PR_COUNT: ${{ needs.identify-passed-prs.outputs.pr_count }}
389389
VALIDATED_JSON: ${{ needs.validate-prs.outputs.validated_prs || '[]' }}
390390
MERGED_COUNT: ${{ needs.auto-merge-prs.outputs.merged_count || '0' }}

.github/workflows/supervised-fleet-scan.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ jobs:
4646
INVENTORY_FILE: ${{ github.event.inputs.inventory_file || '' }}
4747
PROCESS_FINDINGS: ${{ github.event.inputs.process_findings || 'true' }}
4848
FLEET_SUPERVISED_REPOS_FILE: ${{ github.event.inputs.inventory_file || '' }}
49-
# FLEET_SCAN_PAT is required for Hypatia's DependabotAlerts
49+
# HYPATIA_SCAN_PAT is required for Hypatia's DependabotAlerts
5050
# rule (DA001-DA004) to query per-repo Dependabot alerts via
5151
# the GitHub REST API. This PAT must have `security_events: read`
5252
# scope on ALL target repos. Without it, cross-repo alerts will
5353
# be MISSING. The built-in GITHUB_TOKEN is insufficient for
5454
# estate-wide scanning. See:
5555
# 007-lang/audits/audit-dependabot-automation-gap-2026-04-17.md.
56-
GITHUB_TOKEN: ${{ secrets.FLEET_SCAN_PAT }}
56+
GITHUB_TOKEN: ${{ secrets.HYPATIA_SCAN_PAT }}
5757
# HYPATIA_SEVERITY=low surfaces low-severity findings from
5858
# every rule module. The Hypatia CLI's default threshold is
5959
# "medium"; without this override, low-severity findings

0 commit comments

Comments
 (0)