githubnext / githubnext/gh-aw-cao
[dependabot:release-train-updater] npm security fix ready but create_pull_request failed (undici scoped override)
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 49m
- Merged PRs (30d)
- 837
Description
`create_pull_request` failed twice with `{"result":"error","error":"No changes to commit - no commits found"}` despite a verified, non-empty commit — this repeats the exact failure pattern documented for this repo/workflow in a prior run (2026-09-10 07:55 UTC entry, branch `dependabot-agent/undici-security-fix-20260910075319`, commit `a55c2420`). Filing this issue so the prepared, validated fix is not lost.
## Ready fix: undici security advisories (scoped override)
**Branch prepared locally (not pushed, since PR creation failed):** `dependabot-agent/undici-security-fix-scoped-20260910113731`
**Commit:** `a8bd9ded5221d66df1db4968c4ac0596e3b9315a`
### Problem
`npm audit` reports 5 vulnerabilities (1 high, 4 moderate, plus bundled low-severity findings) against transitive `undici@5.29.0`, pulled in by `@actions/github@^7.0.0` and by the nested `@actions/github@6.0.1` inside `@actions/artifact`:
- GHSA-g9mf-h72j-4rw9 (unbounded decompression, high)
- GHSA-2mjp-6q6p-2qxm (request smuggling)
- GHSA-8xcm-r25x-g524 (response desync via retry interceptor)
- GHSA-m8rv-5g2x-5cg5 (CRLF injection via blob body type)
- GHSA-v3r7-h72x-cjcm (cookie attribute injection)
### Fix (avoids the prior revert's root cause)
A prior PR (#3980, commit `75eb83c`) added a **global** `overrides.undici` and was reverted after review, because it also force-bumped `unifont`'s independent `undici@^8.0.0` dependency outside its declared range, and briefly resolved undici to `8.10.2` (Node `>=22.19.0`), stricter than `@github/local-action`'s Node `^20 || ^22 || ^24` requirement.
This fix instead uses npm's **nested/scoped override syntax** to target only the vulnerable nested copies, in `package.json`:
```json
"overrides": {
"@actions/github": { "undici": "^6.28.1" },
"@actions/artifact": { "@actions/github": { "undici": "^6.28.1" } }
}
```
This resolves only `node_modules/@actions/github/node_modules/undici` and `node_modules/@actions/artifact/node_modules/@actions/github/node_modules/undici` to `6.28.1` (Node `>=18.17`), while leaving `unifont`'s independent `undici@8.10.2` untouched. `package-lock.json` was hand-patched to match (regenerating those two nested entries plus removing the now-orphaned `@fastify/busboy` entry), keeping the diff to exactly 2 files / 28 insertions / 24 deletions.
### Validation performed
- `npm audit --package-lock-only --json` before: 5 vulnerabilities → after: **0 vulnerabilities**.
- Full `npm install --ignore-scripts` (not `--package-lock-only`): confirmed real `node_modules` resolves both nested undici copies to `6.28.1`, and `unifont`'s `undici@8.10.2` is unaffected.
- `node node_modules/typescript/bin/tsc -p .github/cao/tsconfig.json` (typecheck:cao): clean.
- Both changed files confirmed valid JSON.
### Manual apply instructions (if this issue is picked up by a human or future run)
1. Add the `overrides` block above to `package.json`.
2. In `package-lock.json`, change `version`/`resolved`/`integrity` for the two package entries `node_modules/@actions/github/node_modules/undici` and `node_modules/@actions/artifact/node_modules/@actions/github/node_modules/undici` from `5.29.0` to `6.28.1` (tarball `https://registry.npmjs.org/undici/-/undici-6.28.1.tgz`, integrity `sha512-zWpdTVD54H48CIybL0rWQ3ukpb9d23wM7eH5RtfdmeP70cWHNjtfo7P4vZX+5CoDcO53J4Pu5uXp7lNfjc6DRA==`), drop their `dependencies.@fastify/busboy` and update `engines.node` to `>=18.17`.
3. Remove the now-orphaned `node_modules/@fastify/busboy` entry.
4. Add the same `overrides` block to the lockfile's root (`packages[""]`) entry.
5. Re-run `npm audit --package-lock-only` to confirm 0 vulnerabilities.
### Recommendation
This is the **second** occurrence of `create_pull_request` reporting "no commits found" against a verified real commit for `githubnext/gh-aw-cao` (self-target, live mode). If this recurs on a third attempt, it likely indicates a systemic issue in the `create_pull_request` tool/pipeline for this specific workflow that should be investigated outside the dependency-maintenance agent's scope.
### Control Plane
- Correlation ID: 34471152289-984
- Central repo: githubnext/gh-aw-cao
- Run URL: https://github.com/githubnext/gh-aw-cao/actions/runs/34471152289
> [!WARNING]
>
> Firewall blocked 4 domains
>
> The following domains were blocked by the firewall during workflow execution:
>
> - `msfeed12.pkgs.visualstudio.com`
> - `msfeed17.pkgs.visualstudio.com`
> - `msfeed2.pkgs.visualstudio.com`
> - `msfeed25.pkgs.visualstudio.com`
>
> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "msfeed12.pkgs.visualstudio.com"
> - "msfeed17.pkgs.visualstudio.com"
> - "msfeed2.pkgs.visualstudio.com"
> - "msfeed25.pkgs.visualstudio.com"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>
> Generated by [:dependabot: Dependabot / Release Trains](https://github.com/githubnext/gh-aw-cao/actions/runs/34471152289) · copilot · auto · 271.8 AIC · ⌖ 18.9 AIC · ⊞ 18K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Fdependabot-release-train-updater%22&type=issues)
>
Add this agentic workflow to your repo
To install this agentic workflow, run
```
gh aw add githubnext/gh-aw-cao/.github/workflows/dependabot-release-train-updater.md@main
```
> - [x] expires on Sep 24, 2026, 11:42 AM UTC
Contributor guide
Research direction
Start with package.json and package-lock.json, then review the reported create_pull_request failure and the prior reverted change in PR #3980. Run npm audit --package-lock-only, npm install --ignore-scripts, and the listed TypeScript check; done means the nested undici copies are updated, unifont remains unaffected, and audit reports zero vulnerabilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- devops, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100