Skip to content

chore(deps): clear all 11 critical Dependabot alerts (vitest, protobufjs, shell-quote, baileys)#456

Merged
webdevtodayjason merged 5 commits into
devfrom
chore/dependabot-criticals-2026-06
Jun 16, 2026
Merged

chore(deps): clear all 11 critical Dependabot alerts (vitest, protobufjs, shell-quote, baileys)#456
webdevtodayjason merged 5 commits into
devfrom
chore/dependabot-criticals-2026-06

Conversation

@webdevtodayjason

@webdevtodayjason webdevtodayjason commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Closes all 11 open critical Dependabot alerts (5 packages) + fixes the stale test mocks that the vitest bump surfaced.

Commits

  1. vitest stack → 4.1.9 (5 alerts) — vitest GHSA-5xrq-8626-4rwp, @vitest/browser GHSA-2h32-95rg-cppp.
  2. protobufjs + shell-quote overrides (4 alerts) — protobufjs GHSA-xq3m-2v4x-88gg (@7→7.5.8, @8→8.0.1); shell-quote GHSA-w7jw-789q-3m8p (1.8.4, root pnpm + dashboard npm).
  3. @whiskeysockets/baileys rc.9 → rc12 (2 alerts) — GHSA-qvv5-jq5g-4cgg.
  4. test: fix stale mocks surfaced by vitest 4.1's strict vi.mock validation — web-tools.js mock missing createTinyFishAgentTool, service-keys.js missing resolveServiceKey, pi-embedded-helpers.js missing isModelUnavailableErrorMessage.

Test-suite reality (important)

  • vitest 4.1 is failure-neutral: the raw suite failed an identical 135 on both 4.0.18 and 4.1.9. 4.1 only changed silent undefined-mock cascades into explicit "mock missing export X" errors.
  • The mock fixes clear all mock-strictness failures (0 mock-export errors remain).
  • The project's real unit suite (vitest.unit.config.ts) now: 56 failed / 7740 passed. These 56 are genuine pre-existing debt (assertion / TypeError / env-dependent ENOENT/404), present on the old version too, unrelated to these dep changes. CI does not run vitest, so dev already carries them.

Deferred (owned, not in scope)

  • 56 pre-existing unit failures → separate test-debt cleanup.
  • Live WhatsApp smoke test for baileys rc12 → needs deploy.
  • 189 pre-existing tsgo errors + oxlint-tsgolint peer mismatch → pre-existing.

🤖 Generated with Claude Code

webdevtodayjason and others added 3 commits June 15, 2026 11:51
Resolves dev-only test-tooling advisories:
- vitest GHSA-5xrq-8626-4rwp (UI server arbitrary file read, fix >=4.1.0)
- @vitest/browser GHSA-2h32-95rg-cppp (unsanitized otelCarrier, fix >=4.1.6)

Bumps root vitest + @vitest/coverage-v8 (^4.0.18 -> ^4.1.9) and
ui vitest + @vitest/browser-playwright (4.0.18 -> 4.1.9). Workspace lock
reconciled so no 4.0.x vitest/@vitest remains in root or ui locks. Dev
dependency only — not shipped to the gateway runtime.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ependabot criticals)

Transitive runtime/dev advisories, fixed via overrides (no source change):
- protobufjs GHSA-xq3m-2v4x-88gg (arbitrary code execution):
    protobufjs@7 -> 7.5.8 (was 7.5.4 via @larksuiteoapi/node-sdk)
    protobufjs@8 -> 8.0.1 (was 8.0.0 via @opentelemetry/otlp-transformer)
- shell-quote GHSA-w7jw-789q-3m8p (quote() newline escaping, fix 1.8.4):
    root pnpm.overrides + dashboard npm overrides (was 1.8.3 via concurrently)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…bot critical)

GHSA-qvv5-jq5g-4cgg: message upsert / hist sync spoofing + app-state
manipulation (fix >=7.0.0-rc12). Direct runtime dep (WhatsApp transport).
tsgo unchanged (189 pre-existing errors, 0 new; none in src/web/* baileys
surface). Live WhatsApp send/receive smoke deferred to deploy (out of scope
on this branch).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1556e5e9-2add-4974-9cf5-88ca631fe494

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/dependabot-criticals-2026-06

Comment @coderabbitai help to get the list of available commands and usage tips.

vitest 4.1 throws on accessing a named export the vi.mock factory didn't
return (4.0 returned undefined silently). These mocks went stale when new
exports were added to the real modules:
- fast-coding-tools/fast-core-tools: web-tools.js mock missing
  createTinyFishAgentTool (added with TinyFish) — fixes ~85 tests
- async-service-key-tools: service-keys.js mock missing resolveServiceKey
- run.overflow-compaction: pi-embedded-helpers.js mock missing
  isModelUnavailableErrorMessage

Full suite: 135 failed -> ~57 failed. Remaining are genuine pre-existing
debt (real assertion/TypeError/env-dependent failures), not mock-strictness.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… mocks

- isolated-agent: makeJob() omitted required CronJob.name → trim() of undefined (13 tests)
- doctor.*: tests spied @clack/prompts.note but doctor code calls terminal/note.js.note;
  added the missing vi.mock so note assertions capture (6 tests across 3 files)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@webdevtodayjason
webdevtodayjason merged commit a47816d into dev Jun 16, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant