githubnext / githubnext/gh-aw-cao

[aw-doctor:compiler-security] gh-aw-cao: 45 workflows flagged for GitHub App token misuse; container images carry Critical/High CVEs; license policy violation

Closed
#6,982 0 comments 0 reactions 0 assignees View on GitHub
aw-doctor aw-doctor:compiler-security security
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
49m
Merged PRs (30d)
837

Description

Compiler run for `githubnext/gh-aw-cao` at `5875a57b8ab5fd5e918beafe85d1ff664235f997` exited with code 1 (47 workflow sources, 47 compiled locks). Zizmor flagged 45 lock files for a High-severity "dangerous use of GitHub App tokens" pattern; 2 lock files have a `[expression]` type error referencing an undefined `safe-outputs-app-token` step output; container scans (grype) found 20 Critical and 164 High CVEs across 8 base images (worst: `ghcr.io/github/gh-aw-mcpg:v0.4.18` with 4 Critical/46 High, `ghcr.io/github/gh-aw-firewall/squid:0.28.14` with 6 Critical/21 High, `ghcr.io/github/github-mcp-server:v1.11.0` with 2 Critical incl. glibc CVE-2026-5450); grant flagged 1250 license-policy violations across images (notably GPL-2.0-only packages `ssl_client`, `scanelf` in `node:lts-alpine`). Highest-severity supported finding: Critical CVE-2026-5450 (glibc) in `github-mcp-server:v1.11.0`.

**Action:** Assign this issue to Copilot using **Agent prompt** below; review its pull request and merge only after the full compiler and security scan passes.

Failure details

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

| Tool | Workflow/Image | Severity | Finding | Remediation |
|---|---|---|---|---|
| zizmor | 45 `.lock.yml` files (e.g. `aw-doctor.lock.yml`, `self-care.lock.yml`, `optimization.lock.yml`, ...) | High | `github-app`: dangerous use of GitHub App tokens ([docs]((docs.zizmor.sh/redacted) | Review App-token usage pattern per zizmor guidance; regenerate via `gh aw compile` after source fix |
| gh-aw type-checker | `self-care-dashboard-performance.lock.yml`, `self-care-pages-health.lock.yml` | error (expression) | Undefined property `safe-outputs-app-token` referenced in `GIT_TOKEN` fallback expression (line ~2287/2193) | Fix the underlying workflow `.md` source generating this step reference; recompile |
| grype | `ghcr.io/github/gh-aw-mcpg:v0.4.18` | Critical/High (4/46) | `stdlib@go1.26.4` multiple Go stdlib CVEs (GO-2026-6090, -6089, -5972, -5942, -5026) | Bump base image / Go toolchain to fixed versions (1.25.13, 1.26.6, 1.27.0-rc.3) |
| grype | `ghcr.io/github/gh-aw-firewall/squid:0.28.14` | Critical/High (6/21) | Multiple package CVEs (unspecified in excerpt) | Update firewall squid image to patched release |
| grype | `ghcr.io/github/github-mcp-server:v1.11.0` | Critical/High (2/6) | `libc6@2.36-9+deb12u14`: CVE-2026-5450 (Critical); `libssl3@3.0.20-1~deb12u2`: CVE-2026-63076, -63072, -54874 (High) | Update base image to patched Debian package versions |
| grype | `alpine:latest` | Critical/High (4/14) | `libcrypto3`/`libssl3@3.5.7-r0`: CVE-2026-63073, -75803 (Critical), CVE-2026-14456/-14457/-18798/-54874 (High) | Bump to `3.5.8-r0` |
| grype | `node:lts-alpine` | Critical/High (4/18) | Alpine libcrypto3/libssl3 CVEs (same family as above) | Bump base image / apk packages |
| grant | `node:lts-alpine` (and other images) | policy violation | 1250 license findings, including GPL-2.0-only (`ssl_client`, `scanelf`) alongside many permissive (MIT/ISC/BlueOak) flagged by strict policy | Confirm license policy allowlist; replace or vendor GPL-2.0-only system packages if disallowed |

Agent prompt

1. Assign this issue to Copilot.
2. Configure its MCP client to launch `gh aw mcp-server` over stdio from the target repository, then give it the prompt below. Require the server's `fix` and `compile` tools; never allow direct edits to generated `.lock.yml` files.
3. Review the resulting pull request and require the same full compiler and security scan to pass before merge. If a finding needs human action, require the agent to stop and explain it.

**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

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

Severity totals across full report.txt (9576 lines): Critical=20, High=164, Medium=787, Low=354, Unknown severity=81.

Sample zizmor findings (first 3 of 45):
```
.github/workflows/aw-doctor.lock.yml: error: [High] github-app: dangerous use of GitHub App tokens
.github/workflows/aw-failures-investigator.lock.yml: error: [High] github-app: dangerous use of GitHub App tokens
.github/workflows/aw-maintenance-compiler-security.lock.yml: error: [High] github-app: dangerous use of GitHub App tokens
```

Type-check expression error excerpt:
```
.github/workflows/self-care-dashboard-performance.lock.yml:2287:26: error: [expression] property "safe-outputs-app-token" is not defined
2287 | GIT_TOKEN: ${{ steps.safe-outputs-app-token.outputs.token || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
```

No token-like or credential-like values were present in the excerpted output.

Control plane context

- Correlation ID: `34321547279-771`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: `https://github.com/githubnext/gh-aw-cao/actions/runs/34321547279`

> Generated by [:shield: AW Doctor / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/34321547279) · copilot · auto · 35.9 AIC · ⌖ 14.8 AIC · ⊞ 14.2K · [◷](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 23, 2026, 7:19 AM UTC

Contributor guide

Open the contributing guide

Research direction

Start with the `.github/workflows/*.md` sources and the generated findings for the 45 lock files; do not edit `.lock.yml` files directly. Use the `gh aw mcp-server` `fix` and `compile` entry points, then review generated lock-file diffs. Done means the compiler and the listed validation, security, container, and license scans pass cleanly.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, javascript
Domain
ci-cd, devops, infrastructure, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.