Skip to content

fix(ci): clear two moderate npm audit advisories#175

Merged
simonrosenberg merged 1 commit into
mainfrom
fix-ci-npm-audit-2026-05
May 20, 2026
Merged

fix(ci): clear two moderate npm audit advisories#175
simonrosenberg merged 1 commit into
mainfrom
fix-ci-npm-audit-2026-05

Conversation

@simonrosenberg
Copy link
Copy Markdown
Contributor

Summary

The security CI job (which runs npm audit --audit-level=moderate) has been failing on main for several PRs because two transitive advisories landed since the last green run:

  1. brace-expansion 5.0.2 - 5.0.5GHSA-jxxr-4gwj-5jf2 (moderate; DoS via large numeric range that defeats the documented max protection). Reaches us via eslint → minimatch@^10 → brace-expansion. Fix: nest a brace-expansion: ^5.0.6 override under the existing eslint.minimatch entry, so the pin only applies to the minimatch instance pulled in by eslint and leaves unrelated brace-expansion instances elsewhere in the tree (e.g. glob, test-exclude) alone.
  2. ws 8.0.0 - 8.20.0GHSA-58qx-3vcg-4xpx (moderate; uninitialized-memory disclosure). ws is a direct dependency at ^8.20.0; npm audit fix walks it forward to 8.20.1 inside the same major. No package.json change needed beyond the lockfile bump.

After these changes, npm audit reports 0 vulnerabilities. CI's security job should go green again.

Diff

 package-lock.json | 32 ++++++++++++++++----------------
 package.json      |  5 ++++-
 2 files changed, 20 insertions(+), 17 deletions(-)

Test plan

  • npm install clean
  • npm audit --audit-level=moderate — 0 vulnerabilities
  • npm audit --audit-level=high --production — 0 vulnerabilities
  • npm run build succeeds
  • npm test — 199/199 passing
  • npm run lint — clean (warnings pre-existing)
  • npm run format:check — clean
  • CI: security, test (20.x), test (22.x), build, integration-test, smoke-test, validate-acp-providers all pass

Scope notes

This PR is intentionally minimal — just the override + the lockfile bump from npm audit fix. The earlier merged PR #173 deliberately excluded these changes per maintainer request to keep that PR's diff scoped to ACP work; this is the follow-up that picks them up cleanly on top of main.

🤖 Generated with Claude Code

`npm audit --audit-level=moderate` (the `security` job in ci.yml) has
been failing on `main` for several PRs in a row. Two transitive
advisories landed between the last green run and today:

1. **`brace-expansion 5.0.2 - 5.0.5`** — `GHSA-jxxr-4gwj-5jf2`
   (moderate, DoS via large numeric range). Comes in via
   `eslint → minimatch@^10 → brace-expansion`. Nesting a
   `brace-expansion: ^5.0.6` override under the existing
   `eslint.minimatch` entry pins it to a non-vulnerable version
   without touching unrelated brace-expansion instances elsewhere in
   the tree (glob, test-exclude).

2. **`ws 8.0.0 - 8.20.0`** — `GHSA-58qx-3vcg-4xpx` (moderate,
   uninitialized memory disclosure). `ws` is a direct dependency
   pinned at `^8.20.0`. `npm audit fix` walks it to `8.20.1` within
   the same major; no package.json change needed.

After: `npm audit` reports 0 vulnerabilities. CI's `security` job
goes green.

Verified locally:
- `npm install` clean
- `npm audit --audit-level=moderate` — 0 vulnerabilities
- `npm audit --audit-level=high --production` — 0 vulnerabilities
- `npm run build` succeeds
- `npm test` — 199/199 passing
- `npm run lint` and `npm run format:check` clean

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@simonrosenberg simonrosenberg self-assigned this May 20, 2026
@simonrosenberg simonrosenberg merged commit 6134bd6 into main May 20, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant