Skip to content

build(deps): remove vulnerable ESLint transitive dependencies - #541

Merged
RetricSu merged 1 commit into
developfrom
ctx/task-9d5b8574e3
Oct 29, 2026
Merged

RetricSu merged 1 commit into
developfrom
ctx/task-9d5b8574e3

Conversation

@RetricSu

Copy link
Copy Markdown
Collaborator

Summary

The locked ESLint 9.26.0 dependency brings in an unused MCP/HTTP server stack with multiple security advisories. Upgrade ESLint within v9 to 9.39.5, which no longer depends on that stack, and regenerate the pnpm 10 lockfile.

This removes the affected dependencies for 11 of the 13 currently open Dependabot alerts. pnpm audit drops from 16 advisories (4 high, 8 moderate, 4 low) to 2 low advisories, including removal of three newer advisories not yet listed by Dependabot.

  • Remove the MCP SDK, Hono/node-server, qs, fast-uri, ip-address and body-parser dependency chain instead of adding more transitive version pins.
  • Remove abitype@0.8.7's unused optional Zod peer using a scoped pnpm removal override. JoyID imports only abitype's ABI types; neither the CLI nor its SDK dependencies import abitype/zod. This removes vulnerable Zod 3 without forcing an incompatible Zod 4 API on abitype.
  • Remove obsolete overrides and release-age exceptions for packages eliminated by the ESLint upgrade, including the now-unneeded plugin-kit override.

Only package.json, pnpm-workspace.yaml, and pnpm-lock.yaml change. Direct runtime dependency versions stay the same.

Remaining advisories

Both remaining packages have no patched release on npm; the audit intentionally continues to report them.

Package Severity / scope Dependency path Advisory
elliptic@6.6.1 Low / runtime @ckb-ccc/core → @joyid/ckb → @nervosnetwork/ckb-sdk-utils GHSA-848j-6mx2-7j84
deepmerge@4.3.1 Low / development jest → @jest/core → jest-config GHSA-gcqx-w48m-w2h4

Validation

Local validation with Node 24.8.0 and pnpm 10.28.2:

  • pnpm install --frozen-lockfile --offline — passes with the populated store.
  • pnpm lint — passes with one existing no-explicit-any warning in src/node/install.ts.
  • pnpm typecheck — passes.
  • pnpm build — passes, including the CLI and Biscuit WASM artifacts.
  • pnpm test:ci --runInBand — 57 suites passed; 559 tests passed, 7 skipped; coverage thresholds passed.
  • Built CLI --version / --help smoke checks — pass.
  • pnpm why confirms the removed vulnerable packages are absent from the resolved graph.
  • git diff --check — passes.
  • pnpm audit — 2 low advisories remain, so its exit code is still 1.

The existing TypeScript ESLint 7 / ESLint 9 peer-range warning remains; lint succeeds. This stays within ESLint v9 to keep a major toolchain migration outside this security fix.

@RetricSu RetricSu added the dependencies Pull requests that update a dependency file label Oct 29, 2026
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7bde35b6-91a6-42ad-95c9-dbf04fc66f63
Commits

Reviewing files that changed from the base of the PR and between 96094c8 and 96db9f5.

Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
Files selected for processing: 2
  • package.json
  • pnpm-workspace.yaml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated development tooling and adjusted workspace dependency configuration. These changes are internal maintenance and do not alter user-facing features or behavior.

The pull request updates the ESLint development dependency range and changes dependency overrides and release-age exclusions in the pnpm workspace configuration.

Changes: Dependency policy

Layer / File(s) Summary
Update dependency policy
package.json, pnpm-workspace.yaml
The ESLint development dependency range changes to ^9.39.5. The workspace adds an override for the Zod peer of abitype@0.8.7, removes several package overrides, and updates the release-age exclusions.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: humble-little-bear

Merge Risk: Minimal · up to 96db9

No actionable merge-blocking risk remains from the dependency policy changes.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly describes the main change: removing vulnerable transitive dependencies through an ESLint dependency upgrade.
Description check Passed The description directly explains the ESLint upgrade, dependency removals, security impact, remaining advisories, and validation results.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@RetricSu
RetricSu merged commit da7df1b into develop Oct 29, 2026
9 checks passed
@RetricSu
RetricSu deleted the ctx/task-9d5b8574e3 branch October 29, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant