ip had a high severity SSRF vuln (GHSA-2p57-rm9w-gvfp) with no upstream fix. Replace with: - net.isIPv4/isIPv6 (Node built-in) for format validation - ipaddr.js for CIDR subnet matching Add package-lock.json for reproducible builds (required for npm ci). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>