fix(enrichment): exclude official actions/github refs case-insensitively#2629
Conversation
GitHub org/user names are case-insensitive, so a workflow that pins `Actions/checkout@v4` (or `GitHub/codeql-action@v3`) references the official action. The unpinned-Actions analyzer excluded official refs with a case-sensitive regex, so it mis-flagged these as mutable third-party supply-chain risks — a false positive. This mirrors the same analyzer's isWorkflowPath, which already matches GitHub workflow paths case-insensitively. Add the case-insensitive flag; GitHub reserves the actions/github orgs, so it cannot over-match a real third-party org.
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-02 23:10:53 UTC
⏸️ Suggested Action - Manual Review Review summary
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
What
The unpinned-Actions analyzer excludes official
actions/*andgithub/*refs from its findings (lowest-risk, extremely common). The exclusion regex/^(actions|github)\//is case-sensitive.Why it is a bug
GitHub org/user names are case-insensitive (
github.com/Actionsisgithub.com/actions). A workflow line likeuses: Actions/checkout@v4(orGitHub/codeql-action/init@v3) references the official action, but the case-sensitive exclusion fails to match it — so the analyzer mis-flags an official action as a mutable third-party supply-chain risk. That is a false positive in a security signal.It is also inconsistent with the same analyzer's own path handling:
isWorkflowPathalready matches GitHub workflow paths case-insensitively (workflow-path.ts: "GitHub workflow paths are case-insensitive",.toLowerCase()). The official-org exclusion should be case-insensitive for the same reason.Fix
Add the
iflag:/^(actions|github)\//i. GitHub reserves theactionsandgithuborgs, so this can never over-match a real third-party org.Test
Adds a case-variant scenario (
Actions/checkout,GitHub/codeql-action,ACTIONS/setup-node) asserting that only the genuine mutable third-party ref is flagged. It fails on the pre-fix regex (which flags the official refs) and passes after.No linked issue
No linked issue because this is a maintenance fix for a case-sensitivity inconsistency within the analyzer; there is no tracking issue to link.