Skip to content

fix(security): clear 3 critical dependabot alerts (shell-quote, vitest)#4351

Merged
koala73 merged 1 commit into
mainfrom
fix/critical-dependabot-shell-quote-vitest
Jun 19, 2026
Merged

fix(security): clear 3 critical dependabot alerts (shell-quote, vitest)#4351
koala73 merged 1 commit into
mainfrom
fix/critical-dependabot-shell-quote-vitest

Conversation

@koala73

@koala73 koala73 commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

Resolves all 3 critical Dependabot alerts with surgical, behavior-preserving changes.

Alert Package Change Risk
#140 shell-quote 1.8.3 → 1.8.4 (root) overrides None — transitive peer dep of the dead react-devtools-core/react-native tree
#141 shell-quote 1.8.3 → 1.8.4 (pro-test) overrides None — same
#139 vitest ^2.1.2^3.2.6 (consumer-prices-core) direct devDep Dev-only test tool; 54/54 tests pass, tsc build green, 0 production deps changed, not run by any CI job

Also folded in (the sole remaining blocker keeping the security-audit gate red on every PR):

  • undici 7.24.5 → 7.28.0 (scripts) — in-range (^7.x) direct-dep patch for the SOCKS5 ProxyAgent TLS-bypass (GHSA-vmh5-mc38-953g, high). Not a Dependabot alert (npm-audit-only), pre-existing on main; trivially revertible if you want criticals-only.

Baseline housekeeping: removed the now-obsolete GHSA-w7jw-789q-3m8p (shell-quote) entries from audit-production-dependencies.mjs — shell-quote is now patched, not deferred — and re-pointed the two baseline tests at advisories that are still baselined (@clerk on pro-test).

Why behavior is unchanged

  • shell-quote is dead code (react-native dev tooling never bundled in the web/vite build); patch-level bump.
  • vitest/vite are dev-only; consumer-prices-core builds with tsc, so the runtime artifact is identical. No production dependency version changed in any workspace.
  • undici bump is semver-compatible (7.24 → 7.28, same major).

Test plan

  • Full production audit matrix passes exit=0 across all 6 workspaces (root, scripts, consumer-prices-core, blog-site, pro-test, docker-runtime)
  • All 5 touched lockfiles are idempotent (npm ci-safe — verified via pre-push npm ci + pro-test build)
  • npm run typecheck / typecheck:api — pass
  • npm run lint / lint:md / version:check — pass
  • npm run test:data11431 pass, 0 fail
  • Edge bundle check (19 fns) + tests/edge-functions.test.mjs (204) — pass
  • consumer-prices-core suite under vitest 3 — 54 pass; tsc build clean
  • tests/security-audit-baseline.test.mjs — 7 pass (updated for new baseline)

Dependabot will auto-close #139/#140/#141 once merged to main.

https://claude.ai/code/session_01JWozy1k6rwrf6ENB3XSJDR

Resolves all 3 critical Dependabot alerts without changing runtime behavior:

- shell-quote 1.8.3 -> 1.8.4 (root + pro-test) via overrides. It is a
  transitive peer dep of the dead react-devtools-core/react-native tree;
  the bump is a security patch with no runtime impact. (#140, #141,
  GHSA-w7jw-789q-3m8p)
- vitest ^2.1.2 -> ^3.2.6 (consumer-prices-core), a dev-only test tool.
  All 54 tests pass and `tsc` builds clean under v3; zero production
  dependencies changed and no CI job runs it. (#139, GHSA-5xrq-8626-4rwp)

Also folded in, since it was the sole remaining blocker keeping the
security-audit gate red on every PR:

- undici 7.24.5 -> 7.28.0 (scripts), an in-range (^7.x) direct-dep patch
  for the SOCKS5 ProxyAgent TLS bypass (GHSA-vmh5-mc38-953g, high).

Removed the now-obsolete GHSA-w7jw-789q-3m8p baseline entries from
audit-production-dependencies.mjs (shell-quote is patched, not deferred)
and re-pointed the two baseline tests at advisories that are still
baselined. Full audit matrix passes exit=0 across all 6 workspaces;
lockfiles are idempotent (npm ci-safe).

Claude-Session: https://claude.ai/code/session_01JWozy1k6rwrf6ENB3XSJDR
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Jun 19, 2026 5:19am

Request Review

@greptile-apps

greptile-apps Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR resolves three Dependabot alerts and one npm-audit-only advisory via targeted dependency overrides and direct version bumps, with corresponding updates to the security-audit baseline and its unit tests. No production code or runtime artifacts are changed.

  • shell-quote is patched to 1.8.4 via npm overrides in the root workspace and pro-test; the corresponding GHSA-w7jw-789q-3m8p entries are removed from the audit baseline, and the baseline tests are re-pointed at the @clerk/clerk-js advisories that remain baselined.
  • vitest in consumer-prices-core is bumped from ^2.1.2 to ^3.2.6 (dev-only test tooling; all 54 tests pass, tsc build unaffected).
  • undici in scripts is bumped from ^7.0.0 to ^7.28.0 (7.24.5 → 7.28.0 in the lockfile) to address a SOCKS5 ProxyAgent TLS-bypass advisory.

Confidence Score: 5/5

Safe to merge — all changes are dependency overrides and lockfile updates with no production code or runtime artifact modifications.

All three package changes are constrained to dev tooling or transitive peer deps that never reach the web/Vite production bundle. The shell-quote overrides are purely additive. The vitest 2→3 major bump is dev-only; the consumer-prices-core build artifact is produced by tsc and is unaffected. The undici bump is a semver-compatible patch within the same major. The baseline removals and test rewrites are logically consistent with the patched state of the repo.

No files require special attention. The large consumer-prices-core lockfile churn is expected from a vitest major version bump pulling in updated rollup native binaries.

Important Files Changed

Filename Overview
.github/scripts/audit-production-dependencies.mjs Removed GHSA-w7jw-789q-3m8p from root and pro-test baselines; all remaining entries are correct for the patched state.
tests/security-audit-baseline.test.mjs Baseline tests re-pointed from shell-quote advisory to @clerk/clerk-js; logic remains correct for the new baseline state.
package.json Added shell-quote ^1.8.4 to npm overrides to force the patched transitive peer dep in the root workspace.
pro-test/package.json Added shell-quote 1.8.4 (exact pin) to overrides to patch the transitive advisory in the pro-test workspace.
consumer-prices-core/package.json vitest bumped from ^2.1.2 to ^3.2.6; dev-only tooling, runtime artifact unchanged.
scripts/package.json undici range narrowed from ^7.0.0 to ^7.28.0 to enforce the TLS-bypass patch (7.24.5 → 7.28.0 in lockfile).
consumer-prices-core/package-lock.json Large lockfile churn from vitest 2→3 pulling in rollup 4.59→4.62 and updated vitest internals; no production package changes.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Dependabot Alerts #139 #140 #141] --> B{Fix Strategy}
    B --> C[shell-quote 1.8.3 → 1.8.4\nvia npm overrides]
    B --> D[vitest ^2.1.2 → ^3.2.6\nconsumer-prices-core devDep]
    B --> E[undici ^7.0.0 → ^7.28.0\nscripts direct dep]

    C --> C1[root package.json\noverrides: shell-quote ^1.8.4]
    C --> C2[pro-test/package.json\noverrides: shell-quote 1.8.4]

    C1 --> F[Remove GHSA-w7jw-789q-3m8p\nfrom audit baseline]
    C2 --> F

    F --> G[Update baseline tests\nre-point to @clerk advisories]

    D --> D1[54 tests pass\ntsc build unaffected]
    E --> E1[Fixes SOCKS5 TLS-bypass\nGHSA-vmh5-mc38-953g]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Dependabot Alerts #139 #140 #141] --> B{Fix Strategy}
    B --> C[shell-quote 1.8.3 → 1.8.4\nvia npm overrides]
    B --> D[vitest ^2.1.2 → ^3.2.6\nconsumer-prices-core devDep]
    B --> E[undici ^7.0.0 → ^7.28.0\nscripts direct dep]

    C --> C1[root package.json\noverrides: shell-quote ^1.8.4]
    C --> C2[pro-test/package.json\noverrides: shell-quote 1.8.4]

    C1 --> F[Remove GHSA-w7jw-789q-3m8p\nfrom audit baseline]
    C2 --> F

    F --> G[Update baseline tests\nre-point to @clerk advisories]

    D --> D1[54 tests pass\ntsc build unaffected]
    E --> E1[Fixes SOCKS5 TLS-bypass\nGHSA-vmh5-mc38-953g]
Loading

Reviews (1): Last reviewed commit: "fix(security): clear critical dependabot..." | Re-trigger Greptile

@koala73
koala73 merged commit 25b014e into main Jun 19, 2026
26 checks passed
@koala73
koala73 deleted the fix/critical-dependabot-shell-quote-vitest branch June 19, 2026 05:23
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