What happened
The Superagent app started posting a second check, "Superagent Supply Chain Scan", alongside the security scan it has always posted (first observed 2026-07-31). Its first finding here failed PR #8911:
actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 has 3 supply-chain risks. Top signal: Detects keylogging and input capture patterns. Location: cache-.../dist/restore-only/index.js. Rules: threat-runtime-keylogging
It is a false positive
Verified, not assumed:
gh api repos/actions/cache/git/ref/tags/v6.1.0 returns exactly 55cc8345863c7cc4c66a329aec7e433d2d1c52a9. It is the official GitHub-owned actions/cache v6.1.0, correctly SHA-pinned.
- The identical pin already ships on main at
.github/workflows/validate-indexer-rs.yml:46.
- This repo's Actions allowlist explicitly permits
github_owned_allowed.
- The rule matched bundled
@actions/core stdin/TTY handling inside the action's own dist bundle. GitHub's first-party cache action is not a keylogger.
The scan fails only because the diff introduces a new dependency edge; the pre-existing identical edge on main is not re-flagged.
There is no way to turn the check off from this repo
Also verified rather than assumed:
- The app's config loader —
superagent-ai/superagent-github, src/services/config.ts — merges only prScan, contributorTrust, and comments, and silently drops every other key. A speculative supplyChain: { enabled: false } in .github/superagent.yml would be an inert no-op that merely looks like it worked — the worst possible outcome for a security control.
- That public source also defines only two check names (
Security scan, Contributor trust) and was last pushed 2026-05-25, i.e. before this check existed.
- The checks actually come from a different, newer app: slug
superagent-security, app id 3287076 — which has no published documentation for the new check. Checked docs.superagent.sh, github.com/apps/superagent-security, the marketplace listing, and brin.sh; none document a supply-chain toggle.
Fix
Ignore the check in .loopover.yml's gate.ignoredCheckRuns — the mechanism already documented for precisely this situation (.loopover.yml.example's note on the contributor-trust check: "keeps the scan's protection and drops the noise").
The check still runs and stays visible; it just cannot gate. The Security Scan is deliberately not listed and stays fully gating.
Acceptance
Follow-up (outside this repo)
Turning the check off at source would need either a toggle in Superagent's own dashboard or a vendor change. Worth raising with them that the rule fires on first-party GitHub-owned actions.
What happened
The Superagent app started posting a second check, "Superagent Supply Chain Scan", alongside the security scan it has always posted (first observed 2026-07-31). Its first finding here failed PR #8911:
It is a false positive
Verified, not assumed:
gh api repos/actions/cache/git/ref/tags/v6.1.0returns exactly55cc8345863c7cc4c66a329aec7e433d2d1c52a9. It is the official GitHub-ownedactions/cachev6.1.0, correctly SHA-pinned..github/workflows/validate-indexer-rs.yml:46.github_owned_allowed.@actions/corestdin/TTY handling inside the action's owndistbundle. GitHub's first-party cache action is not a keylogger.The scan fails only because the diff introduces a new dependency edge; the pre-existing identical edge on main is not re-flagged.
There is no way to turn the check off from this repo
Also verified rather than assumed:
superagent-ai/superagent-github,src/services/config.ts— merges onlyprScan,contributorTrust, andcomments, and silently drops every other key. A speculativesupplyChain: { enabled: false }in.github/superagent.ymlwould be an inert no-op that merely looks like it worked — the worst possible outcome for a security control.Security scan,Contributor trust) and was last pushed 2026-05-25, i.e. before this check existed.superagent-security, app id3287076— which has no published documentation for the new check. Checkeddocs.superagent.sh,github.com/apps/superagent-security, the marketplace listing, andbrin.sh; none document a supply-chain toggle.Fix
Ignore the check in
.loopover.yml'sgate.ignoredCheckRuns— the mechanism already documented for precisely this situation (.loopover.yml.example's note on the contributor-trust check: "keeps the scan's protection and drops the noise").The check still runs and stays visible; it just cannot gate. The Security Scan is deliberately not listed and stays fully gating.
Acceptance
Superagent Supply Chain Scanno longer blocks merges.Superagent Security Scanstill gates..github/superagent.ymlkey was not used.Follow-up (outside this repo)
Turning the check off at source would need either a toggle in Superagent's own dashboard or a vendor change. Worth raising with them that the rule fires on first-party GitHub-owned actions.