fix(deps): remediate Vanta/Dependabot medium advisories (ENG-5578) - #64
Merged
Merged
Conversation
Clears all 13 medium-severity Dependabot findings for this repo. Every affected package is a transitive dev/build or Cloudflare Worker dependency — none reach the published `dist/` bundle, whose only runtime deps remain ajv and ajv-formats. Overrides added (repo already uses this pattern for fast-uri/ws): - hono 4.12.21 -> 4.12.33 CVE-2026-54286/54287/54288/54289 (<4.12.25) and CVE-2026-59895/59896/59897 (<4.12.27). Pulled in by @modelcontextprotocol/sdk, which declares ^4.11.4. - @hono/node-server 1.19.14 -> 2.0.12 GHSA-frvp-7c67-39w9 (<2.0.5). No patched 1.x exists — 2.0.5 is the only fix — so @modelcontextprotocol/sdk moves to ^1.30.0, which widened its range to `^1.19.9 || ^2.0.5` specifically for this advisory. - js-yaml 3.14.2 -> 3.15.1 and 4.1.1 -> 4.3.1 CVE-2026-53550. From ajv-cli (3.x) and json-schema-to-typescript / @apidevtools/json-schema-ref-parser (4.x). - undici 7.24.8 -> 7.29.0 CVE-2026-9678/9679 (>=7.0.0 <7.28.0). Pinned exactly by miniflare; upstream miniflare has since moved to 7.28.0 itself. - vite 8.0.12 -> 8.0.16 CVE-2026-53632 (8.0.0–8.0.15). vite is an auto-installed peer of vitest, which an override alone cannot re-resolve, so it is declared explicitly as a devDependency in both workspaces and pinned to `~8.0.16` to keep the change inside 8.0.x. @modelcontextprotocol/sdk is also overridden to ^1.30.0 because agents@0.13.0 pins it to exactly 1.29.0. Without the override the tree carries two SDK copies and `worker` typecheck fails on incompatible `McpServer` types across them. Verified: root lint, typecheck, 499 tests (Node + Bun), test:coverage, generate:types in sync, schema validation, esbuild worker-platform bundle, demo build, worker typecheck and 33 tests. The standalone bundle and src/types.generated.ts are byte-identical to before, so there is no behavior change for consumers. Refs ENG-5578 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154iDBUE6SWF9Q6uHSz1xqd
StephenTangCook
enabled auto-merge (squash)
August 3, 2026 23:54
StephenTangCook
disabled auto-merge
August 3, 2026 23:54
StephenTangCook
added a commit
to TightknitAI/block-kitchen
that referenced
this pull request
Aug 4, 2026
Patch release remediating Vanta/Dependabot medium advisories in its own dependency tree (TightknitAI/slack-block-kit-validator#64). pnpm outdated did not surface it: 0.1.12 was published 2026-08-03 and safe-chain's minimum-age filter suppressed it from the registry listing. Confirmed against the raw registry, then installed with --safe-chain-skip-minimum-package-age. Safe to skip the age guard here because this is our own first-party package, released by release-please from TightknitAI/slack-block-kit-validator. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Clears all 13 medium-severity Dependabot findings tracked in ENG-5578.
Every affected package is a transitive dev/build or Cloudflare Worker dependency — none of them reach the published
dist/bundle, whose only runtime dependencies remainajvandajv-formats. The fixes arepnpm.overridesentries, following the pattern this repo already uses forfast-uriandws.Type of change
Changes
<4.12.25)CVE-2026-59895/59896/59897 (
<4.12.27)hono@modelcontextprotocol/sdk(declares^4.11.4)<2.0.5)@hono/node-server@modelcontextprotocol/sdkjs-yaml4.1.1 → 4.3.1
ajv-cli(3.x);json-schema-to-typescript/@apidevtools/json-schema-ref-parser(4.x)>=7.0.0 <7.28.0)undiciminiflare(pins exactly)8.0.0–8.0.15)vitevitest/agentsTwo things reviewers should look at:
@hono/node-serverhad to cross a major. There is no patched 1.x — 2.0.5 is the only fix. Soworker's@modelcontextprotocol/sdkmoves^1.29.0→^1.30.0, which widened its own range to^1.19.9 || ^2.0.5specifically for this advisory (sdk#2549). 1.30.0 is a semver-minor with no breaking changes.@modelcontextprotocol/sdkis also overridden to^1.30.0becauseagents@0.13.0pins it to exactly1.29.0. Without that override the tree carries two SDK copies andworkertypecheck fails on incompatibleMcpServertypes across them (Types have separate declarations of a private property '_serverInfo'). This was caught and fixed before pushing.viteis declared as an explicitdevDependencyin both workspaces rather than only overridden: it is an auto-installed peer ofvitest, and pnpm will not re-resolve an auto-installed peer from anoverridesentry alone. It is pinned to~8.0.16to keep the bump inside8.0.x.Incidental lockfile churn:
rolldownpicks up a second copy (1.0.3 fromvite, 1.2.1 for@rolldown/plugin-babel's peer). Dev-tooling only — nothing imports it at runtime, and the Worker is bundled by wrangler/esbuild.demo/is unaffected (separate lockfile, installed with--ignore-workspace; itsviteis 6.4.3, outside the advisory range, and it has nojs-yaml/undici/hono).Testing
pnpm testpasses — 20 files, 499 tests (also verified under Bun viabun --bun run vitest run)pnpm typecheckpasses (root andworker)pnpm lintpassespnpm validate-schemapassestest/covering the change — n/a, dependency-only changeAdditional CI-equivalent checks run locally against a clean
pnpm install --frozen-lockfile:pnpm run test:coverage— 95.36% statements, unchangedpnpm run generate:types→src/types.generated.tsbyte-identical (86,512 bytes), so thejs-yaml4.x bump does not perturb generated outputpnpm run build→dist/standalone-validator.jsbyte-identical (873,648 bytes)pnpm exec esbuild --bundle --format=esm --platform=neutral ... scripts/smoke-worker.ts— cleanpnpm run build:demo— cleanworker: typecheck + 33 tests passNot run locally: the Deno smoke job (
denois not installed in this environment). It consumes the builtdist/artifacts, which are byte-identical tomain, so it carries no new risk.Schema changes
n/a —
src/slack-block-kit.schema.jsonis untouched.Checklist
README.md— n/a, no public API changeFollow-up
Per the issue's acceptance criteria, the Vanta test should be rerun after this merges. Note the push warning reports 31 total alerts on
main(13 high, 13 moderate, 5 low) — this PR addresses the 13 medium/moderate findings enumerated in ENG-5578; the high and low findings are out of scope here.🤖 Generated with Claude Code
https://claude.ai/code/session_0154iDBUE6SWF9Q6uHSz1xqd
Generated by Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.