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 scan of 247 compiled agentic workflows with zizmor, poutine, actionlint, and runner-guard. Totals are essentially flat versus the last scan (2026-06-07): runner-guard unchanged at 314, poutine unchanged at 24, zizmor down 1, actionlint up 27 — the increases track the +4 newly-added workflows rather than new vulnerability classes. No new GitHub issues were created: every Critical/High runner-guard finding maps to an already‐closed issue for the same rule + file (see Runner‐Guard Analysis).
Findings by Tool
Tool
Total
Critical
High
Medium
Low
Info
zizmor (security)
74
0
1
2
31
40
poutine (supply chain)
24
0
0
0
24
—
actionlint (linting)
1524
—
—
—
—
—
runner-guard (taint)
314
0
304
10
—
—
Workflows scanned: 247
Workflows with runner-guard findings: 11
Issues created this run: 0 (all High findings are duplicates of closed issues)
Top Priority Issues
1. RGS-004 — Comment-Triggered Workflow Without Author Authorization Check
2. zizmor github-env (High) — dangerous use of environment file
Tool: zizmor · Severity: High · Count: 1
Affected: dev-hawk.lock.yml:1714 — persistent ~18 consecutive days since 2026-05-23
Impact: Writing dynamic values to $GITHUB_ENV can inject env vars (NODE_OPTIONS, PATH, ...) into later steps. The only genuinely persistent High finding not covered by a per-file issue; recommend fixing at the compiler/source .md level.
Impact: Outbound curl/wget to non-GitHub domains in secret-bearing jobs (RGS-012) and curl | sh install patterns (RGS-018). All covered by closed issues (see below).
Clustered Findings by Tool and Type
Zizmor Security Findings
Issue Type
Severity
Count
Notes
template-injection
Informational
39
code injection via template expansion
obfuscation
Low
27
${{ '' }} placeholder pattern in generated lock files
queue: max under concurrency + unexpected keys (gh-aw feature actionlint doesn't model)
permissions
117
unknown scope copilot-requests (valid GitHub scope, not yet in actionlint)
expression
22
undefined property refs in if: conditions
Note: the bulk of actionlint and zizmor obfuscation findings are artifacts of gh-aw's own generated .lock.yml output (newer GitHub features actionlint doesn't recognize, intentional ${{ '' }} placeholders) rather than authored vulnerabilities.
Runner-Guard Taint Analysis Findings
Runner-Guard Score: not emitted by scanner this run. High: 304 · Medium: 10.
Issues created: none — see Runner-Guard Analysis for deduplication rationale.
Runner-Guard Analysis
All High-severity runner-guard findings were checked for existing GitHub issues (open and closed) by rule ID + affected file. Every one maps to an already-closed [static-analysis] issue, so per the deduplication policy (closed rule+file → skip) no new issues were created and no comments were posted (no open issues exist).
This recurring create-then-close cycle is itself documented in closed meta-issue #31043 ("Static-analysis RGS-* security issues recreated daily after closure (no dedup-by-rule)"). Honoring that, this run created 0 issues.
Issue: Dangerous write to $GITHUB_ENV in dev-hawk.lock.yml:1714 (persistent ~18 days). Severity: High · Affected: 1 workflow (source .md / compiler template).
Prompt to Copilot Agent:
You are fixing a HIGH severity finding identified by zizmor (rule: github-env —
(docs.zizmor.sh/redacted)
Vulnerability: A `run:` step writes a dynamically-computed value to `$GITHUB_ENV`.
If that value is attacker-influenced or contains newlines, an attacker can inject
additional environment variables (NODE_OPTIONS, LD_PRELOAD, PATH) into later steps,
leading to code execution.
Required fix:
1. Prefer step OUTPUTS scoped to a step id over global env injection.
2. If $GITHUB_ENV is required, sanitize the value (strip newlines) and write with a
random heredoc delimiter; never interpolate untrusted ${{ ... }} directly.
Before:
echo "VALUE=$(some_command)" >> "$GITHUB_ENV"
After:
{
echo "value<<__EOF__"
some_command
echo "__EOF__"
} >> "$GITHUB_OUTPUT"
Because dev-hawk is a compiled .lock.yml, apply the fix in the source .md / shared
include that generates the offending step, then recompile.
Historical Trends
Date
Workflows
zizmor
poutine
actionlint
runner-guard
2026-06-07
243
75
24
1497
314
2026-06-09
247
74
24
1524
314
Δ
+4
−1
0
+27
0
New issue types: none.
Resolved issue types: none — the same rule classes persist.
Persistent High finding: zizmor github-env on dev-hawk (~18 consecutive days since 2026-05-23) — the one item worth a durable source-level fix.
Recommendations
Immediate: Fix the persistent zizmor github-env High in the dev-hawk source workflow / compiler template (only genuinely-actionable, unresolved High).
Short-term: Decide a policy for the recurring RGS-004/012/018 closed issues — either accept-and-suppress at the scanner config level or add author_association gating to q, dev-hawk, ai-moderator, so the scan stops re-flagging them.
Tooling: Most actionlint (queue, copilot-requests) and zizmor obfuscation findings are gh-aw-generated-output artifacts — consider an allowlist/suppression so signal isn't drowned by ~1500 known-benign lines.
🔍 Static Analysis Report — 2026-06-09
Daily scan of 247 compiled agentic workflows with zizmor, poutine, actionlint, and runner-guard. Totals are essentially flat versus the last scan (2026-06-07): runner-guard unchanged at 314, poutine unchanged at 24, zizmor down 1, actionlint up 27 — the increases track the +4 newly-added workflows rather than new vulnerability classes. No new GitHub issues were created: every Critical/High runner-guard finding maps to an already‐closed issue for the same rule + file (see Runner‐Guard Analysis).
Findings by Tool
Top Priority Issues
1. RGS-004 — Comment-Triggered Workflow Without Author Authorization Check
q.lock.yml(118),dev-hawk.lock.yml(87),ai-moderator.lock.yml(83)workflow_run-triggered jobs with write permissions or secret access that don't gate ongithub.event.comment.author_association. Already triaged and closed under [static-analysis] RGS-004: Comment-Triggered Workflow Without Author Authorization Check #29883 (lists q, dev-hawk, ai-moderator), [static-analysis] RGS-004: Comment-Triggered Workflow Without Author Authorization Check (16 workflows) #30284, [static-analysis] RGS-004: Comment-Triggered Workflow Without Author Authorization Check #30077.2. zizmor
github-env(High) — dangerous use of environment filedev-hawk.lock.yml:1714— persistent ~18 consecutive days since 2026-05-23$GITHUB_ENVcan inject env vars (NODE_OPTIONS,PATH, ...) into later steps. The only genuinely persistent High finding not covered by a per-file issue; recommend fixing at the compiler/source.mdlevel.3. RGS-012 / RGS-018 (High) — secret exfiltration & suspicious payload patterns
curl/wgetto non-GitHub domains in secret-bearing jobs (RGS-012) andcurl | shinstall patterns (RGS-018). All covered by closed issues (see below).Clustered Findings by Tool and Type
Zizmor Security Findings
${{ '' }}placeholder pattern in generated lock filesdev-hawk.lock.yml:1714(persistent)dependabot-repair.lock.yml:381daily-geo-optimizer.lock.yml:1514smoke-codex.lock.yml:2190Poutine Supply Chain Findings
Actionlint Linting Issues
run:blocksqueue: maxunderconcurrency+ unexpected keys (gh-aw feature actionlint doesn't model)copilot-requests(valid GitHub scope, not yet in actionlint)if:conditionsRunner-Guard Taint Analysis Findings
Runner-Guard Score: not emitted by scanner this run. High: 304 · Medium: 10.
Issues created: none — see Runner-Guard Analysis for deduplication rationale.
Runner-Guard Analysis
All High-severity runner-guard findings were checked for existing GitHub issues (open and closed) by rule ID + affected file. Every one maps to an already-closed
[static-analysis]issue, so per the deduplication policy (closed rule+file → skip) no new issues were created and no comments were posted (no open issues exist).This recurring create-then-close cycle is itself documented in closed meta-issue #31043 ("Static-analysis RGS-* security issues recreated daily after closure (no dedup-by-rule)"). Honoring that, this run created 0 issues.
Fix Suggestion — zizmor
github-env(High, persistent)Issue: Dangerous write to
$GITHUB_ENVindev-hawk.lock.yml:1714(persistent ~18 days).Severity: High · Affected: 1 workflow (source
.md/ compiler template).Prompt to Copilot Agent:
Historical Trends
github-envondev-hawk(~18 consecutive days since 2026-05-23) — the one item worth a durable source-level fix.Recommendations
github-envHigh in thedev-hawksource workflow / compiler template (only genuinely-actionable, unresolved High).author_associationgating toq,dev-hawk,ai-moderator, so the scan stops re-flagging them.queue,copilot-requests) and zizmorobfuscationfindings are gh-aw-generated-output artifacts — consider an allowlist/suppression so signal isn't drowned by ~1500 known-benign lines.Next Steps
github-envsource fix fordev-hawkReferences: