githubnext / githubnext/gh-aw-cao

[aw-maintenance:compiler-security] Compiler Security Scan: actionlint strict-mode failure (144 errors) blocks full scanner suite in githubnext/gh-aw-cao

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

Description

Compiling all 38 workflow sources in `githubnext/gh-aw-cao` with the gh-aw strict-mode validation suite fails at the actionlint stage (exit code 1, 144 errors across 22 lock files), which prevented the remaining scanners (shellcheck ran inline via actionlint; zizmor, poutine, runner-guard, grant, grype, syft) from producing any output in this run's evidence. No container/dependency vulnerability findings, license findings, or dedicated security-scanner findings are present in the evidence — only actionlint expression errors and actionlint-embedded shellcheck style warnings. Highest-severity supported finding: actionlint `error` (strict-mode blocking), category `expression`/`shellcheck`. Recommended next action: fix the workflow-dispatch input schema mismatches and the `github.aw.*` context references flagged by actionlint, recompile, and confirm the full scanner chain (zizmor/poutine/runner-guard/grant/grype/syft) then runs to completion.

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

### Findings

| Tool | Workflow(s) | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint | 22 lock files (e.g. `ambient-context-agents-md-curator`, `ambient-context-skills-curator`, `ambient-context`, `uk-ai-advisory`, `uk-ai-advisory-operational-resilience`, `software-development-practices`, +others) | error | `property "github-mcp-app-token" is not defined` on `steps.github-mcp-app-token.outputs.token` reference (22 occurrences) | Ensure the `github-mcp-app-token` step ID exists and precedes the referencing step in generated output, or fix the compiler template that emits this step reference |
| actionlint | 31 lock files | error | `property "aw" is not defined` on `github.aw.import-inputs.role` — `github.aw` is not a recognized actionlint context extension | Update actionlint's context schema/config for the `github.aw` custom context, or avoid relying on the undeclared `github.aw` extension in generated conditions |
| actionlint | 23 lock files | error | `property "max_repos"` / `property "rollout_percent"` not defined on `github.event.inputs.*` (workflow_dispatch input object type mismatch) | Declare `max_repos` and `rollout_percent` as `workflow_dispatch.inputs` in the workflow source, or correct the generated inputs object type |
| actionlint | 8 lock files | error | `property "central_repo"` / `"control_plane_run_url"` / `"correlation_id"` not defined on `github.event.inputs.*` | Same as above — declare these workflow_dispatch inputs consistently across all control-plane workflows |
| actionlint (shellcheck integration) | 32 occurrences across most lock files | style (SC2129) | "Consider using `{ cmd1; cmd2; }` >> file instead of individual redirects" | Batch redirect statements in generated run-step scripts, or accept as non-blocking style if strict mode is configured to permit style-only shellcheck findings |

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 (bounded)

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

i Using actionlint 1.7.12
i Running actionlint (with shellcheck/pyflakes) on 38 files
...
✗ actionlint failed
strict mode: actionlint found 144 errors in workflows - workflows must have no actionlint errors in strict mode
```

`git-status.txt` and `diff-stat.txt` were empty (no working-tree changes produced by the compile step). No zizmor, poutine, runner-guard, grant, grype, or syft sections appear in the 742-line `report.txt`; the run appears to have stopped after actionlint reported errors, so those scanners' status for this repository is unknown pending an actionlint-clean recompile.

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

> Generated by [:shield: AW Maintenance / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/33814165824) · copilot · auto · 22.6 AIC · ⌖ 10.4 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, 10:46 PM UTC

Contributor guide

Open the contributing guide

Research direction

Start with the `.github/workflows/*.md` sources and the actionlint findings for workflow-dispatch inputs, `github.aw` references, and the `github-mcp-app-token` step. Use the gh-aw MCP server's `fix` and `compile` tools rather than editing generated `.lock.yml` files, then rerun strict validation and confirm the listed scanner chain completes without actionlint errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, javascript, shell
Domain
ci-cd, devops, security
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.