Skip to content

chore: use caret ranges in examples and stop committing their lockfiles - #254

Merged
arcjet-rei merged 1 commit into
mainfrom
rei/chore/ENG-1672-unpin-examples
Nov 13, 2026
Merged

arcjet-rei merged 1 commit into
mainfrom
rei/chore/ENG-1672-unpin-examples

Conversation

@arcjet-rei

Copy link
Copy Markdown
Contributor

The examples are documentation and a starting point for integrating Arcjet. A customer copies an example into their own project and resolves dependencies there, so our lockfiles never reach them. Exact versions and a committed lockfile per example only create update PRs here: almost every release of the SDK or a framework touches every example.

This changes each example's dependencies, and the Deno example's imports, to caret ranges, and stops committing per-example package-lock.json and deno.lock files. Dockerfiles and READMEs now use npm install instead of npm ci. CONTRIBUTING.md and AGENTS.md describe the new update flow: a release inside a range needs no change, and a range's lower bound is raised only to require a fix or new API.

Two examples needed more than a caret:

  • tanstack-agent raises @tanstack/ai to ^0.55.0, which the current @tanstack/ai-openai release requires.
  • tanstack-start keeps @tanstack/react-start and @tanstack/react-router exact. Each react-start release depends on one exact react-router release, so the two are updated together.

Overrides were rechecked against a fresh install. Those the parent packages no longer need are removed: multer, diff, sharp, adm-zip, nanoid, basic-ftp, http-proxy-agent, devalue in nuxt, and @modelcontextprotocol/server. The rest now use caret ranges, and OVERRIDES.md lists each one with the parent that needs it and when to remove it.

🤖 Generated with Claude Code

The examples are documentation and a starting point for customers, who
resolve dependencies in their own project, so a pinned version and a
committed lockfile per example only generate update churn here.

- Change exact versions in every example's package.json, and the Deno
  example's imports, to caret ranges.
- Delete the per-example package-lock.json and deno.lock files and
  ignore them.
- Install with npm install instead of npm ci in Dockerfiles, READMEs and
  the Next.js Playwright workflow.
- Raise @tanstack/ai to ^0.55.0 in tanstack-agent, which the current
  @tanstack/ai-openai 0.22 release requires as a peer.
- Keep @tanstack/react-start and @tanstack/react-router exact in
  tanstack-start: each react-start release depends on one exact
  react-router release.
- Remove overrides that a fresh install no longer needs, widen the rest
  to caret ranges, and rewrite OVERRIDES.md to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@arcjet-rei

Copy link
Copy Markdown
Contributor Author

Verification

Each example was copied to its own scratch directory without a lockfile, installed with npm 11.6.4 (the repository's packageManager, and the npm in the node:24 Docker images), and then built, or typechecked where it has no build script.

  • All examples install and pass, except mastra-agent. Its typecheck fails identically on main with the old lockfile (TS5097 on .ts import paths, and a model type error at lib/agent.ts:112), so that failure is not from this change.
  • firebase-functions passes npm run check; bun installs with bun install and passes tsc --noEmit.
  • Deno was not run locally; the Docker build job covers it.

Each override was checked by resolving the example from scratch with and without it (npm install --package-lock-only, then npm audit). The removed overrides either resolve the same version without the override, no longer have the package in the tree, or leave no advisory.

Known issue: nuxt on npm 12

Without a lockfile, npm install in examples/nuxt fails on npm 12.1.0 and 12.2.2 with EALLOWREMOTE, refusing to fetch the registry tarball for @parcel/watcher-wasm@2.6.0 (pulled in by listhen). A project whose only dependency is @parcel/watcher-wasm@2.6.0 fails the same way, so this is npm 12 behavior rather than anything in the example. It installs on npm 11, and installed on npm 12 with the old lockfile.

@arcjet-review arcjet-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arcjet Review — 🔴 High Risk

Decision: Cannot Assess

Rationale: Review failed due to an internal error: Step "step//./workflows/index//stepFetchPRDiff" failed after 3 retries: Sorry, the diff exceeded the maximum number of lines (20000): {"resource":"PullRequest","field":"diff","code":"too_large"} - https://docs.github.com/rest/pulls/pulls#get-a-pull-request. Escalating to human reviewers.

Review Steps

API Review

Relevancy Outcome
none ⏭️ Skipped

Data Flow Map

Relevancy Outcome
none ⏭️ Skipped

Dependency Audit

Relevancy Outcome
none ⏭️ Skipped

Docs Review

Relevancy Outcome
none ⏭️ Skipped

Historical ADR Review

Relevancy Outcome
none ⏭️ Skipped

Migration Safety

Relevancy Outcome
none ⏭️ Skipped

Security Review

Relevancy Outcome
none ⏭️ Skipped

Test Coverage

Relevancy Outcome
none ⏭️ Skipped

Zero Data Retention

Relevancy Outcome
none ⏭️ Skipped

WorkOS Audit Logging

Relevancy Outcome
none ⏭️ Skipped

Review: e164d43b | Powered by Arcjet Review

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​types/​bun@​1.4.3 ⏵ 1.4.41001004891100
Updatednpm/​next@​16.4.2 ⏵ 16.4.662 +110090 +19970
Updatednpm/​@​google/​adk@​2.3.0 ⏵ 2.5.064 -210079 +197 +1100
Updatednpm/​@​mastra/​core@​1.66.0 ⏵ 1.83.06610093 +110080
Updatednpm/​@​react-router/​serve@​7.18.4 ⏵ 7.18.5991006796100
Updatednpm/​@​react-router/​fs-routes@​7.18.4 ⏵ 7.18.51001007096100
Updatednpm/​@​anthropic-ai/​claude-agent-sdk@​0.3.306 ⏵ 0.3.324100 +110093 +110070
Updatednpm/​@​react-router/​node@​7.18.4 ⏵ 7.18.51001007196100
Updatednpm/​@​ai-sdk/​openai@​3.0.131 ⏵ 3.0.14273 +110089 +198100
Updatednpm/​@​ai-sdk/​react@​3.0.315 ⏵ 3.0.334991007598100
Updatednpm/​@​sveltejs/​adapter-node@​5.5.7 ⏵ 5.5.8100 +110076 +197 +1100
Updatednpm/​@​react-router/​dev@​7.18.4 ⏵ 7.18.5981007696100
Updatednpm/​@​ai-sdk/​provider-utils@​4.0.62 ⏵ 5.0.8192 +1810078 +298100
Updatednpm/​react-router@​7.18.4 ⏵ 7.18.594 +110079 +196100
Updatednpm/​@​sveltejs/​kit@​2.70.3 ⏵ 2.70.499 +19981 +198 +1100
Updatednpm/​vite@​7.3.7 ⏵ 7.3.8981008298100
Updatednpm/​@​astrojs/​node@​11.1.9 ⏵ 11.1.13100 +1100 +282 +197 +1100
Updatednpm/​workflow@​4.8.13 ⏵ 4.8.16991008699100
Updatednpm/​firebase-tools@​15.34.0 ⏵ 15.36.086 +1100100 +199100
Updatednpm/​svelte@​5.57.2 ⏵ 5.57.388 +110087 +196 -2100
Updatednpm/​astro@​7.4.2 ⏵ 7.4.1297100 +38898 +1100
Updatednpm/​vue@​3.5.42 ⏵ 3.5.459910091 +197100
Updatednpm/​vue-tsc@​3.3.13 ⏵ 3.3.141001009194100
Updatednpm/​@​langchain/​langgraph@​1.5.3 ⏵ 1.7.49910092 +197 +1100
Updatednpm/​vue-router@​4.6.4 ⏵ 4.6.592100100 +2794 +5100
Updatednpm/​@​flydotio/​dockerfile@​0.7.10 ⏵ 0.7.1592 -7100100 +195 +13100
Updatednpm/​isbot@​5.1.29 ⏵ 5.2.3100 +110010093 -2100
Updatednpm/​langchain@​1.5.18 ⏵ 1.6.69910094 +198 +1100
Updatednpm/​@​nuxt/​schema@​4.6.2 ⏵ 4.6.499 +1100 +2100 +194100
Updatednpm/​nuxt@​4.6.2 ⏵ 4.6.497100 +210094100
Updatednpm/​@​nuxt/​kit@​4.6.2 ⏵ 4.6.498 +1100100 +194100
Updatednpm/​svelte-check@​4.7.7 ⏵ 4.7.899 +110010095 +2100
See 16 more rows in the dashboard

View full report

@socket-security

Copy link
Copy Markdown

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.

Priority Alert  (click "▶" to expand/collapse) Action
High priority
High CVE: npm undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent

CVE: GHSA-2m5v-pch6-74hx undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent (HIGH)

Affected versions: >= 4.0.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/cloudflare-think-agent/package.json → npm/@cloudflare/think@0.21.0 → npm/undici@7.29.0

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.29.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
High priority
High CVE: npm undici vulnerable to Denial of Service via unrequested WebSocket subprotocol

CVE: GHSA-rfgv-xxqx-mfg5 undici vulnerable to Denial of Service via unrequested WebSocket subprotocol (HIGH)

Affected versions: >= 6.7.0 < 6.28.1; >= 7.0.0 < 7.29.1; >= 8.0.0 < 8.10.2

Patched version: 7.29.1

From: examples/cloudflare-think-agent/package.json → npm/@cloudflare/think@0.21.0 → npm/undici@7.29.0

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.29.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
High priority
High CVE: npm undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent

CVE: GHSA-2m5v-pch6-74hx undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent (HIGH)

Affected versions: >= 4.0.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/nextjs-ai-agent/package.json → npm/workflow@4.8.16 → npm/undici@7.30.0

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.30.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
High priority
High CVE: npm undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation

CVE: GHSA-qrxm-fqhp-jwvm undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation (HIGH)

Affected versions: >= 4.2.1 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/nextjs-ai-agent/package.json → npm/workflow@4.8.16 → npm/undici@7.30.0

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.30.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
High priority
High CVE: npm undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent

CVE: GHSA-2m5v-pch6-74hx undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent (HIGH)

Affected versions: >= 4.0.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 8.12.2

From: examples/eve-agent/package.json → npm/eve@0.81.1 → npm/undici@8.10.2

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@8.10.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Medium priority
License policy violation: npm bare-path under LicenseRef-PassiveTeX

License: LicenseRef-PassiveTeX - The applicable license policy does not permit this license (5) (package/NOTICE)

From: examples/firebase-functions/package.json → npm/nuxt@4.6.4 → npm/firebase-tools@15.36.0 → npm/bare-path@3.1.3

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/bare-path@3.1.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
License policy violation: npm caniuse-lite under CC-BY-4.0

License: CC-BY-4.0 - The applicable license policy does not permit this license (5) (npm metadata)

License: CC-BY-4.0 - The applicable license policy does not permit this license (5) (package/package.json)

License: CC-BY-4.0 - The applicable license policy does not permit this license (5) (package/LICENSE)

From: examples/cloudflare-think-agent/package.json → npm/@vitejs/plugin-react@5.2.0 → npm/firebase-functions-test@3.5.0 → npm/@nestjs/cli@11.0.24 → npm/@tanstack/react-start@1.168.60 → npm/@cloudflare/think@0.21.0 → npm/@react-router/dev@7.18.5 → npm/nuxt@4.6.4 → npm/next@16.4.6 → npm/caniuse-lite@1.0.30001826

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/caniuse-lite@1.0.30001826. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
License policy violation: npm node-forge

License: LicenseRef-Intel-BSD-GPL-2.0 - The applicable license policy does not permit this license (5) (package/LICENSE)

From: examples/express-newman/package.json → npm/newman@6.2.3 → npm/nuxt@4.6.4 → npm/node-forge@1.4.3

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/node-forge@1.4.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
License policy violation: npm playwright-core under MIT WITH Google-Patent-WebM

License: MIT WITH Google-Patent-WebM - The applicable license policy does not permit this license (5) (package/lib/webp_codec.LICENSE)

From: examples/nextjs/package.json → npm/@playwright/test@1.65.0 → npm/playwright-core@1.65.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/playwright-core@1.65.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Publisher changed: npm tslib is now published by microsoft1es

Author: microsoft1es

From: examples/astro/package.json → npm/@nestjs/schematics@11.1.0 → npm/firebase-admin@13.10.0 → npm/@nestjs/cli@11.0.24 → npm/@arcjet/sensitive-info-rampart@1.15.0 → npm/eve@0.81.1 → npm/@cloudflare/think@0.21.0 → npm/@astrojs/check@0.9.12 → npm/@flydotio/dockerfile@0.7.15 → npm/@nuxt/kit@4.6.4 → npm/nuxt@4.6.4 → npm/genkit@1.44.0 → npm/workflow@4.8.16 → npm/next@16.4.6 → npm/@strands-agents/sdk@1.25.0 → npm/astro@7.4.12 → npm/rxjs@7.8.2 → npm/tslib@2.9.1

ℹ Read more on: This package | This alert | What is unstable ownership?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Try to reduce the number of authors you depend on to reduce the risk to malicious actors gaining access to your supply chain. Packages should remove inactive collaborators with publishing rights from packages on npm.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/tslib@2.9.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Denial of Service via unbounded memory in the EventSource parser

CVE: GHSA-4qv8-2p9j-2685 undici vulnerable to Denial of Service via unbounded memory in the EventSource parser (MODERATE)

Affected versions: >= 6.5.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/cloudflare-think-agent/package.json → npm/@cloudflare/think@0.21.0 → npm/undici@7.29.0

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.29.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens

CVE: GHSA-f72v-6w45-q472 undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens (MODERATE)

Affected versions: >= 7.15.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/cloudflare-think-agent/package.json → npm/@cloudflare/think@0.21.0 → npm/undici@7.29.0

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.29.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Denial of Service via unbounded memory in the EventSource parser

CVE: GHSA-4qv8-2p9j-2685 undici vulnerable to Denial of Service via unbounded memory in the EventSource parser (MODERATE)

Affected versions: >= 6.5.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/nextjs-ai-agent/package.json → npm/workflow@4.8.16 → npm/undici@7.30.0

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.30.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens

CVE: GHSA-f72v-6w45-q472 undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens (MODERATE)

Affected versions: >= 7.15.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 7.30.1

From: examples/nextjs-ai-agent/package.json → npm/workflow@4.8.16 → npm/undici@7.30.0

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@7.30.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Denial of Service via unbounded memory in the EventSource parser

CVE: GHSA-4qv8-2p9j-2685 undici vulnerable to Denial of Service via unbounded memory in the EventSource parser (MODERATE)

Affected versions: >= 6.5.0 < 6.29.1; >= 7.0.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 8.12.2

From: examples/eve-agent/package.json → npm/eve@0.81.1 → npm/undici@8.10.2

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@8.10.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Medium priority
Medium CVE: npm undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens

CVE: GHSA-f72v-6w45-q472 undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens (MODERATE)

Affected versions: >= 7.15.0 < 7.30.1; >= 8.0.0 < 8.12.2

Patched version: 8.12.2

From: examples/eve-agent/package.json → npm/eve@0.81.1 → npm/undici@8.10.2

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undici@8.10.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn
Low priority
Native binaries present: npm @astrojs/compiler-binding-linux-x64-musl

Location: Package overview

From: examples/astro/package.json → npm/astro@7.4.12 → npm/@astrojs/compiler-binding-linux-x64-musl@0.5.3

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@astrojs/compiler-binding-linux-x64-musl@0.5.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Low priority
Potential security risk (AI signal): npm @fastify/proxy-addr is 63.0% likely risky

Notes: This file is best characterized as a dynamic JavaScript execution loader for all sibling .js files in its directory (excluding index.js). While not inherently malicious by itself, its design enables any additional/tampered co-located JavaScript shipped with or introduced into the package to execute automatically with inherited stdio. This creates a significant supply-chain risk if the directory contents are not strictly controlled and integrity-verified.

Confidence: 0.63

Severity: 0.78

From: examples/fastify/package.json → npm/fastify@5.12.8 → npm/@fastify/proxy-addr@5.1.2

ℹ Read more on: This package | This alert | What are AI-detected potential security risks?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system identified potential security problems in this package. It is advised to review the package thoroughly and assess the potential risks before installation. You may also consider reporting the issue to the package maintainer or seeking alternative solutions with a stronger security posture.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@fastify/proxy-addr@5.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Low priority
Potential security risk (AI signal): npm @google/adk is 99.0% likely risky

Notes: This module intentionally executes caller-supplied scripts locally as JavaScript, Python, shell, CMD, or PowerShell, with host-process privileges and no sandboxing. It can cause arbitrary host-side effects and return stdout, stderr, and files created in its temporary working directory; no credential harvesting, covert exfiltration, or hidden backdoor is evident in the shown code. Severity is high when code is untrusted, but the behavior is explicit and not concealed; use only with trusted code or an external sandbox.

Confidence: 0.99

Severity: 0.79

From: examples/google-adk-agent/package.json → npm/@google/adk@2.5.0

ℹ Read more on: This package | This alert | What are AI-detected potential security risks?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system identified potential security problems in this package. It is advised to review the package thoroughly and assess the potential risks before installation. You may also consider reporting the issue to the package maintainer or seeking alternative solutions with a stronger security posture.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@google/adk@2.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Low priority
Potential security risk (AI signal): npm @google/adk is 99.0% likely risky

Notes: This module intentionally executes supplied scripts locally via child processes, with host-user permissions and inherited environment, and does not provide sandboxing; executed code can access host resources and may expose data through output or generated files. This is a high security risk if code or inputs are untrusted, but the fragment does not itself show malicious intent, credential theft, or suspicious network destinations.

Confidence: 0.99

Severity: 0.91

From: examples/google-adk-agent/package.json → npm/@google/adk@2.5.0

ℹ Read more on: This package | This alert | What are AI-detected potential security risks?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system identified potential security problems in this package. It is advised to review the package thoroughly and assess the potential risks before installation. You may also consider reporting the issue to the package maintainer or seeking alternative solutions with a stronger security posture.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@google/adk@2.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Low priority
Potential security risk (AI signal): npm @google/adk is 60.0% likely risky

Notes: This module is an orchestrator for executing untrusted inline scripts using a configurable codeExecutor and then materializing produced outputs. While it implements a confirmation gate when toolContext.toolConfirmation is missing/unchecked, the actual security depends on runtime correctness (confirmation cannot be bypassed) and—most critically—on the sandboxing and output validation performed by codeExecutor and materializeFiles. No direct evidence of covert malware appears in the fragment, but the functionality is inherently high-risk due to dynamic code execution and possible filesystem/output side effects. Error messaging may also leak internal details.

Confidence: 0.60

Severity: 0.72

From: examples/google-adk-agent/package.json → npm/@google/adk@2.5.0

ℹ Read more on: This package | This alert | What are AI-detected potential security risks?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system identified potential security problems in this package. It is advised to review the package thoroughly and assess the potential risks before installation. You may also consider reporting the issue to the package maintainer or seeking alternative solutions with a stronger security posture.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@google/adk@2.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
Low priority
Potential security risk (AI signal): npm @google/adk is 98.0% likely risky

Notes: The code is ordinary Vertex AI RAG memory integration and contains no apparent malware or obfuscation. It has a significant fail-open authorization flaw: inability to enumerate tenant files disables tenant scoping and may cause cross-user or cross-application memory disclosure. The operation should fail closed, for example by throwing an error or returning no memories when tenant file enumeration cannot be completed.

Confidence: 0.98

Severity: 0.72

From: examples/google-adk-agent/package.json → npm/@google/adk@2.5.0

ℹ Read more on: This package | This alert | What are AI-detected potential security risks?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system identified potential security problems in this package. It is advised to review the package thoroughly and assess the potential risks before installation. You may also consider reporting the issue to the package maintainer or seeking alternative solutions with a stronger security posture.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@google/adk@2.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block
See 124 more rows in the dashboard

View full report

@arcjet-review arcjet-review Bot removed the needs review Awaiting human review label Nov 13, 2026
@arcjet-rei
arcjet-rei added this pull request to the merge queue Nov 13, 2026
Merged via the queue into main with commit 91f3c4f Nov 13, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants