Skip to content

Daily security sweep — backlog #10

Description

@benfrank241

Items from the daily security sweep that could not be bundled into a PR. Appended to per run.


2026-08-26 — datasheetsChat (npm)

Bundle PR: #9 (closes 22 of 23 open alerts).

1. Alert #52 — @ai-sdk/provider-utils (low) — no upstream fix exists

GHSA-866g-f22w-33x8, vulnerable range <= 3.0.97. Dependabot reports no patched version — there is nothing to bump to.

npm audit proposes fixes, but every one is a semver-major across the whole AI SDK surface:

package current audit's proposed fix
ai ^5.0.68 7.0.79 (major)
@ai-sdk/openai ^1.1.9 4.0.47 (major)
@ai-sdk/react ^1.2.2 4.0.82 (major)
@ai-sdk/groq ^1.1.7 4.0.31 (major)

Six resolved copies of @ai-sdk/provider-utils are present (2.2.0, 2.2.1, 3.0.12) across ai, @ai-sdk/gateway, @ai-sdk/groq, @ai-sdk/openai, @ai-sdk/react, @ai-sdk/ui-utils.

Not dismissed — the advisory is in the AI SDK request path, which this app genuinely uses, so it is not unreachable. Needs a human decision on the AI SDK major migration (see item 2, which forces the same migration anyway).

2. main does not build — pre-existing, blocks meaningful verification

Reproduced on a clean, unmodified checkout of main (next@15.5.18, before any sweep changes):

./src/app/api/chat/route.ts:134:5
Type error: Type 'LanguageModelV1' is not assignable to type 'LanguageModel'.
  Property 'supportedUrls' is missing in type 'LanguageModelV1' but required in type 'LanguageModelV2'.

tsc --noEmit reports 8 errors, all in src/app/api/chat/route.ts:

  • (134,5) TS2322 — LanguageModelV1 not assignable to LanguageModel
  • (160,9) (184,9) (226,9) (259,9) (331,9) (371,9) TS2353 — 'parameters' does not exist in type ... (renamed to inputSchema in AI SDK v5)
  • (379,17) TS2551 — Property 'toDataStreamResponse' does not exist on type 'StreamTextResult'. Did you mean 'toTextStreamResponse'? (renamed to toUIMessageStreamResponse in v5)

Cause: package.json pairs ai@^5.0.68 with v1-line providers (@ai-sdk/openai@^1.1.9, @ai-sdk/react@^1.2.2, @ai-sdk/groq@^1.1.7), while route.ts is written against the AI SDK v4 API. The ai package was bumped to v5 at some point without migrating the providers or the call sites.

Fix required: migrate src/app/api/chat/route.ts to the AI SDK v5 API and bring @ai-sdk/* onto the matching major. This is app-code work, deliberately kept out of the security bundle. It would also resolve item 1.

Impact: the sweep cannot get a green build for this repo, so security bundles here can only be verified by differential comparison against main (confirming no new errors), not by an absolute green. PR #9 was verified that way.

3. npm run lint is not runnable

No ESLint config is committed, so next lint drops into an interactive "How would you like to configure ESLint?" prompt and never exits non-interactively. Same on main. Also note next lint is deprecated and removed in Next.js 16.

Fix required: commit an eslint.config.mjs (or migrate to the ESLint CLI per the Next.js codemod) so lint is a usable CI signal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions