fix(deps): resolve high and critical npm advisories (SEC-213) - #1123
fix(deps): resolve high and critical npm advisories (SEC-213)#1123Uneven-Ben wants to merge 1 commit into
Conversation
|
@Uneven-Ben is attempting to deploy a commit to the Uneven Labs Team on Vercel. A member of the Team first needs to authorize it. |
|
|
@Uneven-Ben can we merge these into dev to get them tested? Also this PR needs a changeset. |
SEC-213 dependency fix: relay-kit (2026-09-07)
Scope and base
https://github.com/relayprotocol/relay-kit.git, branchmain).sec-213, created fromorigin/main.79ae537c46a835af106a7660c4bc9997e2c01d06(Version Packages (Release the: Zippy Sloth! #1122), 2026-09-03).packageManagerfield,pnpm-lock.yamlv9), run via corepack insidenode:22Docker. Engines declare node ^24.x; pnpm emitted a non-fatal engine warning under node 22. Workspace enforcesminimumReleaseAge: 10080(7 days); every version chosen below clears it.git fetch origin --prunerun.git pull --ff-onlywas NOT run because the checkout has a modified tracked file (CLAUDE.md); it sits onmain, 4 commits behindorigin/main, untouched.relay-kit_audit_before_2026-09-07.json(133 high, 6 critical, 152 moderate, 23 low) andrelay-kit_audit_after_2026-09-07.json(2 high, 1 critical, 26 moderate, 5 low). Counts are advisory entries as pnpm reports them (one entry per advisory per affected version range), not distinct packages.Advisories before (high and critical, grouped by package)
32 distinct packages, 139 advisory entries.
Advisories after
^1.6.0) of packages/sdk and packages/relay-lighter-wallet-adapter. Fix requires a 1.x to 3.x major bump; left for review. Dev-only test runner, advisory needs the Vitest UI server listening.Changes made (all staged, not committed)
Direct dependency bumps (manifests):
Transitive overrides (root
package.json,resolutionsblock, which pnpm reads as overrides; the block already held@solana/web3.jsandtronweb).pnpm update --recursive --depth Infinity <pkg>was tried first and did not move any of these (several are pinned exactly by their dependents: ethers v5 pins ws 7.4.6 and elliptic 6.5.4, express pins path-to-regexp 0.1.12, next pins postcss 8.4.31), so overrides were added. Selectors are scoped per major where more than one major line exists.syncSdkTypesscript. Alternative is openapi-typescript 7.x, a major bump of a direct devDependency, left for review.sha.js moved 2.4.11 to 2.4.12 and form-data to 4.0.6 through normal re-resolution, no override needed.
Lockfile scope check: every added or removed entry in
pnpm-lock.yamltraces to one of the packages above or to their own dependency trees (sharp and rollup platform binaries, undici 6 dropping @fastify/busboy, tmp 0.2 dropping os-tmpdir, sharp 0.35 replacing color/color-string/simple-swizzle with @img/colour, h3 1.15.11 pulling newer ufo/destr/crossws/cookie-es, axios 1.20 adding https-proxy-agent, next 15.5.21 swc binaries). No unrelated package changed.Unfixable or deferred for review
^1.6.0): GHSA-5xrq-8626-4rwp needs >=3.2.6, a two-major bump that changes config and API. Dev-only; the advisory requires the Vitest UI server to be listening. Bring vite 5.4.14 (GHSA-fx2h-pf6j-xcff) along when this is done.Sanity checks
pnpm install --frozen-lockfile(full install, node:22 container): passed, 40s. Native builds for bigint-buffer, esbuild, sharp, keccak completed.pnpm run build(sdk, hooks, ui including its prebuild lint, ethers, svm, bitcoin, tron, ton, lighter adapters): passed, exit 0, well inside the 10 minute cap.pnpm install --frozen-lockfile --lockfile-only) after the final manifest tidy: passed.pnpm typecheck(tsc --noEmiton the root tsconfig): fails with 7 errors in packages/ui (TS2686 React UMD global, TS7022 implicit any in useCodexBalances.ts). These are unrelated to the changed dependencies and the ui package's own tsc build passed; CI runspnpm buildandpnpm lint, not the root typecheck. Not verified against base by a base install, so treat as likely pre-existing.pnpm run -C packages/sdk test(vitest suite, run by CI), demo Next.js build, lint outside the ui prebuild.Notes for the PR
.changeset/*.md, prose or[internal]opener passesscripts/lint-changesets.mjs).Commands for the human
Note: the GitHub account in use has read-only access to relayprotocol repos; if the push is rejected, push to a fork and use
gh pr create --head <fork-owner>:sec-213instead.