Summary
Resolve all CRITICAL and HIGH severity Dependabot alerts (55 total: 3 critical, 32 high, 20 medium).
Phases
Phase 1 — Remove Unused Direct Dependencies (0 risk, ~21 alerts)
Remove packages that are never imported in any source file:
Validation: pnpm install && npx tsc --noEmit && npx jest --config jest.ci.config.js
Tests needed: None — no code changes.
Phase 2 — Direct Dependency Bumps (low risk, ~12 alerts)
Tests needed:
libs/common/src/http-client.integration.spec.ts — verify HttpService works
libs/client-registration/src/client-registration.service.spec.ts — verify URL serialization
- Full test suite for uuid usage across 14 files
Phase 3 — Update Parent Packages (~6 transitive alerts)
Tests needed:
apps/api-gateway/src/tracer.integration.spec.ts
- Socket.io paths in agent-service and issuance
Phase 4 — pnpm.overrides for Transitive Vulns (~16 alerts)
Tests needed: Full test suite + manual smoke test
Phase 5 — Accepted Risk (no fix available)
Acceptance Criteria
- All CRITICAL and HIGH alerts resolved or documented as accepted risk
npx tsc --noEmit passes
npx jest --config jest.ci.config.js passes
- No runtime behavior changes in production code paths
Summary
Resolve all CRITICAL and HIGH severity Dependabot alerts (55 total: 3 critical, 32 high, 20 medium).
Phases
Phase 1 — Remove Unused Direct Dependencies (0 risk, ~21 alerts)
Remove packages that are never imported in any source file:
handlebars— 9 alerts (1 critical)protobufjs— 10 alerts (5 high)form-data— 2 alerts (1 critical)auth0-js— 1 alert (1 high)Validation:
pnpm install && npx tsc --noEmit && npx jest --config jest.ci.config.jsTests needed: None — no code changes.
Phase 2 — Direct Dependency Bumps (low risk, ~12 alerts)
axios^1.18.0 → ^1.19.0 (8 alerts: 5 high, 3 medium)qs^6.15.3 → latest 6.x (1 medium)uuid^9.0.1 → latest 9.x (3 medium)Tests needed:
libs/common/src/http-client.integration.spec.ts— verify HttpService workslibs/client-registration/src/client-registration.service.spec.ts— verify URL serializationPhase 3 — Update Parent Packages (~6 transitive alerts)
socket.io-client→ latest 4.x (fixessocket.io-parser1 high)@opentelemetry/sdk-node→ latest (fixes@opentelemetry/core1 med,propagator-jaeger1 high)puppeteer→ latest 21.x/22.x (fixesextract-zip1 high,ws2 high)Tests needed:
apps/api-gateway/src/tracer.integration.spec.tsPhase 4 — pnpm.overrides for Transitive Vulns (~16 alerts)
brace-expansion(6 high)minimatch(1 high)tar-fs(3 high)fast-uri(3 high)ip-address(3 med/high)js-yaml(3 high, 1 medium)Tests needed: Full test suite + manual smoke test
Phase 5 — Accepted Risk (no fix available)
websocket-driver— CRITICAL, not directly used, monitor upstreamrequest— MEDIUM, deprecated, remove if unusedtough-cookie— MEDIUM, transitive ofrequest@babel/core— LOW, dev-onlyAcceptance Criteria
npx tsc --noEmitpassesnpx jest --config jest.ci.config.jspasses