githubnext / githubnext/gh-aw-cao

[aw-maintenance:compiler-security] Compiler security scan found 144 actionlint errors across 31 workflows in strict mode

Open
#941 0 comments 0 reactions 0 assignees View on GitHub
aw-maintenance aw-maintenance:compiler-security security
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
48m
Merged PRs (30d)
853

Description

Target `githubnext/gh-aw-cao` failed strict-mode compilation (exit code 1) due to 144 actionlint errors across 31 generated `.lock.yml` files. No other scanner output (zizmor, poutine, grype, syft, grant, runner-guard) was present in the evidence, so this run only reports actionlint findings. Highest-return fix: correct undefined `github.aw.*` / `github.event.inputs.*` expression property references shared by orchestrator/worker dispatch templates, which alone account for 112 of 144 errors; remaining 32 are a single SC2129 shellcheck style finding repeated across files.

- **Target repository**: `githubnext/gh-aw-cao`
- **Compiler exit code**: `1`
- **Workflow sources checked**: `38`
- **Generated lock files checked**: `38`
- **Result**: `findings`

### Findings

| Tool | Workflow/Image | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint | 31 workflow lock files (e.g. `ambient-context-agents-md-curator.lock.yml`, `eu-cra-compliance-vulnerability-handling-auditor.lock.yml`, `uk-ai-advisory.lock.yml`) | unknown (144 occurrences) | `[expression]` property "aw" is not defined on `github` context (31×); "rollout_percent" (23×), "max_repos" (23×), "correlation_id" (8×), "control_plane_run_url" (8×), "central_repo" (8×) not defined on `github.event.inputs`; "github-mcp-app-token" not defined on steps outputs object (11×) | Fix the workflow-dispatch input schema / `github.aw` context typing in the `.md` source templates so referenced fields (`aw`, `rollout_percent`, `max_repos`, `correlation_id`, `control_plane_run_url`, `central_repo`) are declared, and ensure the `github-mcp-app-token` step id/output exists before it's referenced. Recompile with `gh aw compile`. |
| actionlint (shellcheck integration) | Same 31 lock files | unknown (SC2129, style, 32 occurrences) | Repeated individual `>>` redirects to a file instead of a single grouped `{ ...; } >> file` block | Consolidate redirect blocks in the affected `run:` scripts in source `.md` files, then recompile. |

Only actionlint ran to completion in this evidence set (`report.txt`); no zizmor/poutine/grype/syft/grant/runner-guard output was captured, so container, license, and vulnerability-scanner coverage cannot be confirmed from this run.

### Local fixing loop

1. Install or update the gh-aw extension, then configure the coding agent's MCP client to launch `gh aw mcp-server` over stdio from the target repository.
2. Give the agent the prompt below and require it to use the `fix` and `compile` MCP tools rather than editing generated `.lock.yml` files.
3. Require the agent to repeat the same full compiler validation and security scan until it passes, or stop and explain any finding that needs human action.

Agent prompt

Fix the reported gh-aw compiler and security findings in this repository. Change only `.github/workflows/*.md` sources and directly related files; never edit generated `.lock.yml` files. Use the gh-aw MCP server's `fix` and `compile` tools, rerunning compilation with strict validation, model checks, actionlint, shellcheck, yamllint, zizmor, poutine, runner-guard, grant, grype, and syft until clean. Review generated lock-file diffs, preserve existing behavior, and stop with a concise explanation if a finding cannot be fixed safely.

Raw evidence summary

```
Target: githubnext/gh-aw-cao
Exit code: 1
Workflow sources: 38
Compiled locks: 38
```

`git-status.txt` and `diff-stat.txt` were both empty (no lock-file changes were written during this dry-run compile). Full `report.txt` is 742 lines / ~98KB; only aggregated counts are reproduced above to keep this report bounded.

### Control Plane
- Correlation ID: `33818396937-30`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: https://github.com/githubnext/gh-aw-cao/actions/runs/33818396937

> Generated by [:shield: AW Maintenance / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/33818705322) · copilot · auto · 28.6 AIC · ⌖ 9.84 AIC · ⊞ 13.9K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Faw-maintenance-compiler-security%22&type=issues)
> - [x] expires on Sep 17, 2026, 11:47 PM UTC

Contributor guide

Open the contributing guide

Research direction

Start with the .github/workflows/*.md source templates behind the affected generated .lock.yml files, especially the shared orchestrator and worker dispatch templates. Run gh aw compile with strict validation and inspect actionlint findings for undeclared inputs, outputs, and repeated shell redirects. Done means the source changes recompile cleanly without editing generated lock files and the reported actionlint errors are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, markdown, shell
Domain
ci-cd, devops, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.