Skip to content

fix(run-e2e): drop vulnerable ip package - #2525

Merged
samuelreichert merged 1 commit into
mainfrom
fix/snyk-vulnerabilities
Nov 12, 2026
Merged

samuelreichert merged 1 commit into
mainfrom
fix/snyk-vulnerabilities

Conversation

@samuelreichert

@samuelreichert samuelreichert commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Pull request type

Dependency changes (any modification to dependencies in package.json)


Description

Removes the ip dependency from automation/run-e2e.

ip@2.0.1 has three SSRF advisories (CVE-2024-29415, CVE-2025-59436, CVE-2025-59437). All versions are affected and there is no fixed release, so Snyk flags automation/run-e2e on every PR.

The package was only used for ip.address(), to find the host's IPv4 address that the e2e containers use to reach the host. This is replaced with a small node:os networkInterfaces() lookup that returns the first external IPv4 address. If none is found, the existing "Could not determine local ip address!" error is thrown. Before, ip silently fell back to 127.0.0.1, which containers can't use to reach the host anyway.

The lockfile change is limited to removing ip.

This only affects the default bridge mode. The host-network mode added in #2518 (E2E_HOST_NETWORK) still uses 127.0.0.1.

What should be covered while testing?

  • pnpm run lint in automation/run-e2e passes.
  • A local e2e run (pnpm run e2e with Docker) still starts the runtime container and reaches it from Playwright.
  • security/snyk no longer reports ip for automation/run-e2e. Other existing advisories, such as braces, are out of scope.

🤖 Generated with Claude Code

@samuelreichert
samuelreichert requested a review from a team as a code owner November 10, 2026 16:09
@github-actions

This comment has been minimized.

@samuelreichert
samuelreichert force-pushed the fix/snyk-vulnerabilities branch from b2b724e to 3ab330d Compare November 12, 2026 13:10
@samuelreichert samuelreichert changed the title fix(deps): drop ip and add snyk policies for unfixable advisories fix(run-e2e): drop vulnerable ip package Nov 12, 2026
ip@2.0.1 has three SSRF advisories with no fixed release. It was only
used to find the host's IPv4 address for the e2e containers, which
node:os networkInterfaces() gives directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@samuelreichert
samuelreichert force-pushed the fix/snyk-vulnerabilities branch from 3ab330d to d49ded9 Compare November 12, 2026 13:29
@github-actions

Copy link
Copy Markdown
Contributor

AI Code Review

✅ Approved — no issues found


What was reviewed

File Change
automation/run-e2e/lib/ci.mjs Replaces ip.address() with a node:os networkInterfaces() lookup for the first external IPv4 address
automation/run-e2e/package.json Removes the ip dependency
pnpm-lock.yaml Removes only the ip@2.0.1 entries (paired with the package.json change)

Skipped (out of scope): none

CI: pending: Run code quality check, Plan E2E matrix, sigridci · unrelated failures: security/snyk (the failing check is the external scanner, which should clear once it re-scans after ip is gone)


Positives

  • The new helper is small and uses the node:os built-in, so no new dependency is added. The existing "Could not determine local ip address!" guard still applies when no address is found.
  • The PR description explains the SSRF advisories and the behavior change: ip used to fall back to 127.0.0.1, and now the run fails with the existing error.
  • No remaining ip imports exist in automation/, and the lockfile change is limited to removing ip.

@samuelreichert
samuelreichert merged commit 9fac9f9 into main Nov 12, 2026
17 of 21 checks passed
@samuelreichert
samuelreichert deleted the fix/snyk-vulnerabilities branch November 12, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants