security: remediate 31 CVE findings via dependency upgrades#8
security: remediate 31 CVE findings via dependency upgrades#8gabehamilton wants to merge 1 commit into
Conversation
Bumped vulnerable npm deps to fixed versions via 'npm audit fix --package-lock-only'; added minimal package.json overrides to force serialize-javascript@7.0.5, uuid@13.0.1, and js-yaml@4.2.0 (transitive deps requiring major bumps). npm audit now reports 0 vulnerabilities. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces global dependency overrides in package.json for serialize-javascript, uuid, and js-yaml, resulting in numerous package updates in package-lock.json. The feedback points out that applying global overrides for major version upgrades (such as js-yaml and uuid) is highly risky because breaking changes can cause runtime crashes in transitive dependencies. It is recommended to scope these overrides to specific parent packages to ensure stability.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| "overrides": { | ||
| "serialize-javascript": "7.0.5", | ||
| "uuid": "13.0.1", | ||
| "js-yaml": "4.2.0" | ||
| }, |
There was a problem hiding this comment.
Applying global overrides for major version upgrades (such as js-yaml v3 to v4, and uuid v8 to v13) is highly risky. Major version bumps often introduce breaking changes (for example, js-yaml v4 completely removed safeLoad(), which is heavily used by packages expecting v3 like older versions of gray-matter). Forcing these upgrades globally can cause unexpected runtime crashes in other transitive dependencies that also use these libraries.
To minimize the blast radius and ensure runtime stability, it is highly recommended to scope the overrides to the specific parent packages that require them.
"overrides": {
"copy-webpack-plugin": {
"serialize-javascript": "7.0.5"
},
"css-minimizer-webpack-plugin": {
"serialize-javascript": "7.0.5"
},
"gray-matter": {
"js-yaml": "4.2.0"
},
"sockjs": {
"uuid": "13.0.1"
}
},
Security: dependency remediation (Vuln Ops Grade F)
This PR remediates CVE findings surfaced by the Vuln Ops pipeline's live Trivy scan of
difflabai/protocols@main(scan 2026-06-26, run919d9a1f).31 findings addressed by upgrading the affected (mostly transitive) dependencies to their fixed releases: 1 critical, 13 high, 16 medium, 1 low.
shell-quote@babel/plugin-transform-modules-systemjsfast-urifast-urilodashminimatchminimatchminimatchpath-to-regexppicomatchserialize-javascriptsvgowswsbrace-expansionfollow-redirectshttp-proxy-middlewarejoijs-yamljs-yamllaunch-editorlodashpicomatchpostcssqsserialize-javascriptuuidwebpack-dev-serverwebpack-dev-serverws@babel/coreHow
Dependencies were bumped to the scan's fixed versions using the ecosystem's native resolver (lockfile regeneration), scoped to the flagged advisories. No application source was changed.
Mechanism details for this repo (Docusaurus 3.9.2 site, single root
package-lock.json):npm audit fix --package-lock-only(no--force) bumped the transitive deps that had in-range fixes — covering 27 of 31 findings.audit fixwill not perform automatically (they sit behind caret ranges in parent packages). These were forced via minimaloverridesinpackage.json, thennpm install --package-lock-only:serialize-javascript6.0.2 → 7.0.5 (pulled bycopy-webpack-plugin/css-minimizer-webpack-plugin)uuid8.3.2 → 13.0.1 (pulled bysockjsunderwebpack-dev-server)js-yaml3.14.2 → 4.2.0 (pulled bygray-matter)npm audit --package-lock-onlynow reports 0 vulnerabilities. Onlypackage.json(a 5-lineoverridesblock) andpackage-lock.jsonwere changed; no application source and nonode_modules/.Not remediated
None — all 31 findings reached their fixed versions in the lockfile.
🤖 Generated with Claude Code