You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Package manager: pnpm 10.33.0 (packageManager field, pnpm-lock.yaml v9), run via corepack inside node:22 Docker. Engines declare node ^24.x; pnpm emitted a non-fatal engine warning under node 22. Workspace enforces minimumReleaseAge: 10080 (7 days); every version chosen below clears it.
Existing checkout: git fetch origin --prune run. git pull --ff-only was NOT run because the checkout has a modified tracked file (CLAUDE.md); it sits on main, 4 commits behind origin/main, untouched.
Raw audits: relay-kit_audit_before_2026-09-07.json (133 high, 6 critical, 152 moderate, 23 low) and relay-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)
Direct devDependency (^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.
0.x line kept; 0.32.0 carries GHSA-gcfj-64vw-6mp9 so 0.33.0 is the first clean 0.x. Nothing in this package's source imports axios; reviewers may prefer to delete the dependency.
demo/package.json
next
15.5.9
15.5.21
exact pin kept
Transitive overrides (root package.json, resolutions block, which pnpm reads as overrides; the block already held @solana/web3.js and tronweb). 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.
next (optional dep, was ^0.34.3), @dynamic-labs/iconic (was 0.33.5). Demo only.
shell-quote
^1.9.0
1.10.0
concurrently
socket.io-parser
^4.2.7
4.2.7
socket.io-client (demo)
tmp
^0.2.6
0.2.7
external-editor (changesets CLI); crosses 0.0.x to 0.2.x, dev tooling only
undici
^6.27.0
6.28.0
openapi-typescript 6 (declares ^5); dev-only syncSdkTypes script. 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.yaml traces 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
vitest 1.6.1 (packages/sdk, packages/relay-lighter-wallet-adapter, devDependency ^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.
bigint-buffer 1.1.5 (demo, via @dynamic-labs/bitcoin and @solana/spl-token): GHSA-3gc7-fjrx-p6mg has no patched release. Not in any published package.
Peer-dependency warnings printed by pnpm for the demo (viem 2.29.4 against @dynamic-labs and porto peers, @ton/core 0.61.0, react 19 against valtio) are pre-existing in the base lockfile and untouched.
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.
Post-change frozen consistency check (pnpm install --frozen-lockfile --lockfile-only) after the final manifest tidy: passed.
Root pnpm typecheck (tsc --noEmit on 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 runs pnpm build and pnpm lint, not the root typecheck. Not verified against base by a base install, so treat as likely pre-existing.
Skipped: pnpm run -C packages/sdk test (vitest suite, run by CI), demo Next.js build, lint outside the ui prebuild.
Notes for the PR
Published packages (sdk, hooks, ui, six adapters) have dependency changes; the repo releases via changesets. Add a patch changeset if the fix should ship to npm consumers (.changeset/*.md, prose or [internal] opener passes scripts/lint-changesets.mjs).
The ethers adapter's axios dependency appears unused; deleting it is cleaner than carrying ^0.33.0.
sharp 0.35 under next 15.5 is only exercised by the demo image pipeline; run the demo once before merging if that matters.
Commands for the human
gh pr create --base main --head sec-213 --title "fix(deps): resolve high and critical npm advisories (SEC-213)" --body "Bumps axios, next and postcss to patched versions and adds scoped pnpm overrides for transitive advisories (ws, elliptic, sharp, undici, path-to-regexp and others), taking pnpm audit from 133 high and 6 critical entries to 2 high and 1 critical. Remaining entries are vitest 1.x (major bump deferred for review) and bigint-buffer (no upstream fix), both dev or demo only."
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-213 instead.
This change updates direct and transitive dependency resolutions for SEC-213, including Axios, Next.js, PostCSS, and scoped pnpm overrides.
A frozen-lockfile installation completed successfully on both the base revision and this change. All seven directly affected packages built successfully, including the UI PostCSS/Tailwind build, and the Lighter wallet adapter suite passed all 21 tests. The SDK gas-estimation test timeouts and the demo build failure caused by an unresolved workspace package occurred on both revisions, so they are not introduced by these dependency updates.
Merge safety: Safe to merge; no defect attributable to this change was found.
Confidence Score: 5/5
The dependency upgrades and overrides are safe to merge based on successful clean installs, builds, and adapter tests.
The frozen lockfile, affected package builds, installed package resolutions, and available adapter behavior were checked on the updated revision, with base-revision comparisons confirming that the observed SDK and demo failures predate this change.
Files Needing Attention: No changed files require follow-up. The pre-existing SDK gas-estimation test timeouts and demo workspace-package resolution failure remain outside the scope of these dependency updates.
T-Rex Logs
What T-Rex did
Ran pnpm install --frozen-lockfile on both the base revision and the PR, and confirmed both reported a current lockfile and exited successfully.
Queried the installed dependency graph and observed Axios 1.20.0, PostCSS 8.5.26, and Next.js 15.5.21.
Built all seven changed packages on both revisions; every build succeeded, including the UI PostCSS/Tailwind compilation, and the Lighter adapter suite passed all 21 tests.
Ran the SDK suite and the demo build on both revisions; the same two SDK gas-estimation timeouts and the same unresolved Lighter workspace-package demo build failure occurred before and after, indicating no new issues were introduced by this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.