Skip to content

Commit b24ea4e

Browse files
hyperpolymathclaude
andcommitted
fix(ci): correct 3 secret-name mismatches causing silent no-ops
Found during a post-breach credential audit: these workflows reference secret names that don't exist on this repo, so the affected steps silently degrade (empty token / fallback) instead of failing loudly. - supervised-fleet-scan.yml: referenced secrets.FLEET_SCAN_PAT, which has never existed here — only HYPATIA_SCAN_PAT is configured, and its scope (Contents+Dependabot alerts read) is exactly what this step's own comment says it needs. Pointed it at the secret that actually exists. - inbox-steward.yml "Validate PRs": referenced secrets.FARM_PAT (never configured). This step only reads check-runs/reviews/PRs on this same repo — it never needed a cross-repo PAT. Switched to secrets.GITHUB_TOKEN, which is sufficient and always present. - inbox-steward.yml "Send dispatch to Hypatia": same missing FARM_PAT reference, but this step genuinely dispatches cross-repo, so it keeps the same PAT-with-fallback shape — just pointed at FARM_DISPATCH_TOKEN, the secret that's actually meant to carry that capability (currently dead pending redistribution of the new FARM_DISPATCH_PAT value, tracked separately). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent bcd8a4c commit b24ea4e

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)