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>