You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Daily static analysis of 243 compiled workflows (zizmor, poutine, actionlint, runner-guard v2.6.0). This run compiled 8 more workflows than yesterday (235 → 243), which accounts for most increases. No new vulnerability classes — every High finding maps to a previously reviewed, closed issue, so 0 new issues created (per #31043 dedup policy).
These are overwhelmingly false positives against generated .lock.yml — actionlint doesn't model gh-aw's compiler extensions. Noise, not source defects.
Affected: dev-hawk.lock.yml:767, :1708 (single source step in two jobs)
Description: A run: step appends to $GITHUB_ENV (echo "GH_HOST=..." >> "$GITHUB_ENV") with a value zizmor can't prove constant. If attacker-controlled, this injects env vars into later steps (PATH/NODE_OPTIONS hijack).
Impact: Only un-triaged High zizmor finding; persists ~16 consecutive days (since 2026-05-23).
Reference: (docs.zizmor.sh/redacted)
Fix Suggestion for zizmor github-env
Prompt to Copilot Agent:
Fix a zizmor github-env finding ((docs.zizmor.sh/redacted)
A run: step in dev-hawk appends to $GITHUB_ENV with a value zizmor can't prove constant,
allowing env-var injection into later steps. Edit the SOURCE recipe in
.github/workflows/dev-hawk.md (or its shared include), NOT the generated .lock.yml, then recompile.
Fix options:
1) Validate/normalize before writing — strip scheme and whitelist host:
GH_HOST="${GH_HOST#(redacted) GH_HOST="${GH_HOST#https://}"
case "$GH_HOST" in github.com|*.githubusercontent.com|ghcr.io) ;;
*) echo "refusing untrusted GH_HOST: $GH_HOST" >&2; exit 1 ;; esac
printf 'GH_HOST=%s\n' "$GH_HOST" >> "$GITHUB_ENV"
2) If value is only needed in the same step, keep it a local shell var (no $GITHUB_ENV).
3) If confirmed false positive, add a scoped suppression with justification:
# zizmor: ignore[github-env] compile-time constant host, not user input
Apply to both occurrences (:767 and :1708). Recompile; confirm 0 github-env findings.
Historical Trends
Date
zizmor
poutine
actionlint
runner-guard
workflows
2026-06-04
73
24
1,472
307
240
2026-06-05
73
24
1,478
307
240
2026-06-06
70
24
1,445
308
235
2026-06-07
75
24
1,497
314
243
Δ vs previous: zizmor +5 (obfuscation 22→27), poutine 0, actionlint +52, runner-guard +6 (RGS-004 282→288, each hotspot +2). Deltas track +8 workflows. No new finding classes; nothing resolved to zero.
Persistent: dev-hawk github-env High (~16 days) — the recommended remediation target.
Recommendations
Immediate: Fix or formally suppress the persistent zizmor github-env High in dev-hawk (only un-triaged High security finding).
Analysis Summary
Daily static analysis of 243 compiled workflows (zizmor, poutine, actionlint, runner-guard v2.6.0). This run compiled 8 more workflows than yesterday (235 → 243), which accounts for most increases. No new vulnerability classes — every High finding maps to a previously reviewed, closed issue, so 0 new issues created (per #31043 dedup policy).
Findings by Tool
Clustered Findings
Zizmor
github-envexcessive-permissionsartipackedtemplate-injection${{...}}in prompts (many)obfuscation# poutine:ignorecomments (many)superfluous-actionsPoutine
untrusted_checkout_execpoutine:ignore)github_action_from_unverified_creator_usedunverified_script_execpr_runs_on_self_hostedActionlint (generated-file noise)
shellcheckrun:blockssyntax-checkunexpected key "queue"(gh-aw compiler extension)permissionsunknown scope "copilot-requests"(schema lag)expressionactivation/activated)These are overwhelmingly false positives against generated
.lock.yml— actionlint doesn't model gh-aw's compiler extensions. Noise, not source defects.Runner-Guard (304 High · 10 Medium)
runBlockIssues created: none. Every High rule+file combo already has a closed issue; no OPEN RGS issues to comment on:
Top Priority: zizmor
github-env(High)dev-hawk.lock.yml:767,:1708(single source step in two jobs)run:step appends to$GITHUB_ENV(echo "GH_HOST=..." >> "$GITHUB_ENV") with a value zizmor can't prove constant. If attacker-controlled, this injects env vars into later steps (PATH/NODE_OPTIONS hijack).Fix Suggestion for zizmor
github-envPrompt to Copilot Agent:
Historical Trends
github-envHigh (~16 days) — the recommended remediation target.Recommendations
github-envHigh indev-hawk(only un-triaged High security finding).queue:,copilot-requests:, job outputs), or lint source.mdnot generated.lock.yml. 1,497 false positives mask real regressions.References: §27084518920