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
fix(security): bump Docker base image to node:22-alpine + wire Snyk (#186)
The 89 issues Snyk reported (4C/26H/17M/42L) were almost entirely from
node:18-alpine (Node 18 EOL'd 2025-04). Both Dockerfiles bumped to
node:22-alpine drops per-image vuln count from 58 to 3.
- Dockerfile / Dockerfile.dev: node:18-alpine -> node:22-alpine
- CI: setup-node 20 -> 22; new `security` job runs Snyk SCA + container
test on PR/push, gracefully skips when SNYK_TOKEN is unset
- @types/node ^20 -> ^22 to match runtime
- Add snyk as devDependency with snyk:test/snyk:test:json/snyk:monitor
scripts
- New .snyk policy ignores SNYK-JS-LEAFLET-16427276 (XSS, no upstream
patch as of 2026-05-10) with 90-day expiry
Verified: npm run lint (0 errors), npm run build (success), npm run
snyk:test (0 vulnerable paths). The original plan to override transitive
npm deps was scrapped after discovering the SCA scan itself only finds
the leaflet XSS - the dashboard count came from container scans of the
EOL Node 18 base image.
Follow-up: add SNYK_TOKEN to repo secrets to activate CI enforcement.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments