Skip to content

chore: OSV dependency audit script + resolutions for high/critical CVEs#957

Open
EightRice wants to merge 1 commit into
masterfrom
chore/osv-audit-and-resolutions
Open

chore: OSV dependency audit script + resolutions for high/critical CVEs#957
EightRice wants to merge 1 commit into
masterfrom
chore/osv-audit-and-resolutions

Conversation

@EightRice

@EightRice EightRice commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds scripts/check-vulns.js — a deterministic OSV.dev-based vulnerability checker (replaces yarn audit, whose registry endpoint was retired) — and clears every HIGH/CRITICAL finding it surfaced via yarn resolutions, scoped per-consumer where a package is installed under multiple majors so unaffected majors aren't force-upgraded.

New script: yarn audit:osv (node scripts/check-vulns.js --level=high).

Package changes

Package Consumer(s) Old → New Advisory
@babel/plugin-transform-modules-systemjs react-scripts (svgr/babel preset-env) 7.28.5 → 7.29.4 GHSA-fv7c-fp4j-7gwp
@coinbase/wallet-sdk wagmi/@wagmi/connectors (runtime, wallet-critical) 4.0.4 → 4.3.0 GHSA-8rgj-285w-qcq4
@grpc/grpc-js firebase/@firebase/firestore 1.9.15 → 1.9.16 GHSA-5375-pq7m-f5r2, GHSA-99f4-grh7-6pcq
braces sane (jest, dev-only) 2.3.2 → 3.0.3 GHSA-grv7-fg5c-xmjg
cross-spawn serve→clipboardy/term-size (5.1.0→6.0.6); sane (6.0.6) 5.1.0/6.0.6 → 6.0.6; craco/eslint/patch-package/react-dev-utils/lint-staged (7.0.6) GHSA-3xgq-45jj-v275
defu @WalletConnect (unstorage/h3) 6.1.4 → 6.1.5 GHSA-737v-mqg7-c878
fast-uri schema-utils/ajv (build tooling) 3.1.0 → 3.1.2 GHSA-q3j6-qgpj-74h6, GHSA-v39h-62p7-jpjc
flatted eslint (file-entry-cache) 3.3.3 → 3.4.2 GHSA-25h7-pfq9-p65f, GHSA-rf6f-7fwh-wjgh
form-data graphql-request / jsdom 3.0.4 → 3.0.5 GHSA-hmw2-7cc7-3qxx
h3 @WalletConnect (unstorage) 1.15.5 → 1.15.6 GHSA-22cc-p3c6-wpvm
jsonpath react-scripts (bfj) 1.1.1 → 1.3.0 GHSA-87r5-mp6g-5w5j
lodash / lodash-es multiple (formik, yup, craco, source-map-explorer, etc.) 4.17.23 → 4.18.1 GHSA-r5fr-rjxr-66jc
minimatch serve-handler (3.0.4); eslint/jest-config/react-dev-utils/etc (3.1.2) → 3.1.4/3.1.5; filelist (5.1.6 → 5.1.8) GHSA-23c5-xmqv-rm74, GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj, GHSA-f8q6-p94x-37v3
node-forge react-scripts (webpack-dev-server/selfsigned) 1.3.3 → 1.4.0 GHSA-2328-f5f3-gj25, GHSA-5m6q-g25r-mvwx, GHSA-ppp5-5v6c-4jwp, GHSA-q67f-28xg-22rw
nth-check react-scripts (svgr→svgo→css-select) 1.0.2 → 2.0.1 GHSA-rp65-9cf3-cjxr
path-to-regexp serve-handler (2.2.1); express/webpack-dev-server (0.1.12) 2.2.1 → 3.3.0 (verified, see below); 0.1.12 → 0.1.13 GHSA-9wv6-86v2-598j, GHSA-37ch-88jc-xwx2
picomatch jest/anymatch/micromatch/chokidar/@rollup/pluginutils (2.x); rollup-plugin-visualizer/tinyglobby (4.x) 2.3.1 → 2.3.2; 4.0.3 → 4.0.4 GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqj
protobufjs firebase/@firebase/firestore + posthog-js (pre-existing pin) 7.5.8 → 7.6.3 GHSA-wcpc-wj8m-hjx6
rollup react-scripts (workbox-build, dev-only) 2.79.2 → 2.80.0 GHSA-mw96-cpmx-2vgc
serialize-javascript react-scripts (css-minimizer/terser/rollup-plugin-terser) 4.0.0/6.0.2 → 7.0.5 GHSA-5c6j-r48x-rmvq
socket.io-parser wagmi→@metamask/sdk (socket.io-client) 4.2.5 → 4.2.6 GHSA-677m-j7p3-52f9
svgo react-scripts (postcss-svgo) 2.8.0 → 2.8.1 GHSA-xpqw-6gx7-v673
tmp patch-package (dev-only) 0.2.5 → 0.2.7 GHSA-ph9p-34f9-6g65, GHSA-7c78-jf6q-g5cm (newly surfaced on 0.2.6, fixed in 0.2.7)
underscore react-scripts (bfj/jsonpath) 1.12.1 → 1.13.8 GHSA-qpx9-hpmf-5gmw
websocket-driver firebase (faye-websocket) / webpack-dev-server (sockjs) 0.7.4 → 0.7.5 GHSA-xv26-6w52-cph6 (critical), GHSA-mp7j-qc5w-4988
ws ethers/viem/jsdom/webpack-dev-server (8.x); @microsoft/signalr (6.x); @walletconnect/jest-environment-jsdom (7.x) 8.x → 8.21.0; 6.2.3 → 6.2.4; 7.5.10 → 7.5.11 GHSA-96hv-2xvq-fx4p, GHSA-58qx-3vcg-4xpx

Reviewer callout: @coinbase/wallet-sdk

4.0.4 → 4.3.0 is a same-major bump but touches runtime wallet-connection code (used by wagmi/@wagmi/connectors for Coinbase Wallet support). Flagging for extra review attention per the advisory (GHSA-8rgj-285w-qcq4, no public details). Build/tsc/smoke test all pass with it.

path-to-regexp exception → resolved, not an exception

path-to-regexp@2.2.1 (pulled in by serve-handler, via the serve package used in yarn start) has no 2.x patch — the fix line jumps to 3.3.0. Checked serve-handler's usage (src/index.js): it only calls the default export pathToRegExp(path, keys) and .compile(), both of which are preserved in 3.3.0's API. Bumped it via a scoped resolution and verified directly:

node -e "require('serve-handler')(...)" → HTTP 200, correct body served

No functional exception needed in the end — 0 HIGH/CRITICAL findings remain.

Verification

  1. yarn install — completes, lockfile regenerates deterministically (confirmed via repeated yarn install runs producing identical yarn.lock).
  2. node scripts/check-vulns.js --level=highexit 0, 35 vulnerable package version(s), 0 at or above "high". Remaining findings are all moderate/low (ajv, dompurify, qs, uuid, yaml, webpack-dev-server, postcss, etc.) — out of scope for this pass.
  3. npx tsc --noEmit — clean, no errors.
  4. yarn build (craco production build) — succeeds, only pre-existing ESLint warnings (unused vars / exhaustive-deps), no new errors.
  5. Smoke test: BROWSER=none PORT=3171 yarn dev, waited for compile, screenshotted http://localhost:3171/explorer/daos with Playwright — header/nav (Homebase logo, search, Connect Wallet, Create DAO, All/My DAOs tabs) and footer render correctly. Dev server killed after.
  6. Added "audit:osv": "node scripts/check-vulns.js --level=high" to package.json scripts.

@netlify

netlify Bot commented Jul 16, 2026

Copy link
Copy Markdown

Deploy Preview for tezos-homebase ready!

Name Link
🔨 Latest commit 22248ad
🔍 Latest deploy log https://app.netlify.com/projects/tezos-homebase/deploys/6a58b68631e6500008117814
😎 Deploy Preview https://deploy-preview-957--tezos-homebase.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 26 (no change from production)
Accessibility: 91 (no change from production)
Best Practices: 83 (no change from production)
SEO: 92 (no change from production)
PWA: 70 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

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