Skip to content

fix(deps): patch vulnerable transitive deps (shell-quote, protobufjs, hono) and align adapter-core - #224

Merged
willwashburn merged 2 commits into
mainfrom
advisor/001-dependency-vulnerability-remediation
Jun 10, 2026
Merged

willwashburn merged 2 commits into
mainfrom
advisor/001-dependency-vulnerability-remediation

Conversation

@willwashburn

Copy link
Copy Markdown
Member

Summary

pnpm audit --prod reported 16 vulnerabilities (1 critical, 4 high, 11 moderate), all transitive. After this change: 0 known vulnerabilities.

  • Bump @daytonaio/sdk ^0.179.0 → ^0.185.0 in packages/deploy and packages/daytona-runner (dev + peer). The SDK is the path to the critical shell-quote advisory and the four high protobufjs advisories — in the package that executes sandbox commands.
  • Add pnpm.overrides in the root manifest for what the SDK bump alone didn't fix:
    • shell-quote: >=1.8.4 — critical, shell injection via unescaped newlines
    • @opentelemetry/otlp-transformer>protobufjs: >=8.2.0 and @grpc/proto-loader>protobufjs: >=7.5.8 <8.0.0 — path-specific because the tree has two protobufjs lineages; a flat >=8.2.0 would break @grpc/proto-loader (requires ^7.5.5)
    • hono: >=4.12.21, qs: >=6.15.2 — moderates via @modelcontextprotocol/sdk
    • ws: >=8.20.1, plus a pnpm.packageExtensions entry making ws a direct dep of @daytonaio/sdk — overrides don't apply to peer-only deps (it reaches the tree solely via isomorphic-ws)
  • Align @relayfile/adapter-core at ^0.3.31 in @agentworkforce/runtime to match persona-kit (was ^0.3.29).

Verification

  • pnpm audit --prod → No known vulnerabilities found
  • pnpm -r build && pnpm typecheck && pnpm test → all green (no source changes; manifests + lockfile only)
  • pnpm why @daytonaio/sdk -r → 0.185.0 resolved everywhere; ws resolves to 8.21.0

Maintenance

Each override is tech debt to remove once the owning dependency (@daytonaio/sdk, @modelcontextprotocol/sdk) ships a release that no longer pulls the vulnerable range. The packageExtensions entry for ws should be removed together with the ws override.

🤖 Generated with Claude Code

… hono) and align adapter-core

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

"@opentelemetry/otlp-transformer>protobufjs": ">=8.2.0",

P2 Badge Keep legacy OTLP transformer on protobufjs 7

This override applies to both OTLP transformer lineages in the lockfile, including the production path packages/runtime → @agent-relay/events → @opentelemetry/exporter-trace-otlp-http@0.207.0 → @opentelemetry/otlp-transformer@0.207.0; that transformer declares protobufjs: ^7.3.0, but the lock now forces it to 8.6.2. In environments that enable the trace exporter from @agent-relay/events, this runs the older transformer against an unsupported major version, so the override should be version-qualified (keep 0.207.x on a patched 7.x such as >=7.5.8 <8, while only the 0.217.x lineage is forced to patched 8.x).

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

…207.x keeps protobufjs 7.x

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 10, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a4f71cf6-dd5d-461e-b37e-13780d26d270

📥 Commits

Reviewing files that changed from the base of the PR and between e0e9e86 and cd226b2.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • package.json
  • packages/daytona-runner/package.json
  • packages/deploy/package.json
  • packages/runtime/package.json

📝 Walkthrough

Walkthrough

This pull request updates dependencies across the workspace. The root package.json configures pnpm dependency resolution overrides to address compatibility constraints for protobufjs and other transitive dependencies. Multiple packages then upgrade @daytonaio/sdk to version 0.185.0, and the runtime package upgrades @relayfile/adapter-core to 0.3.31.

Changes

Dependency Updates

Layer / File(s) Summary
Root pnpm dependency resolution configuration
package.json
Adds pnpm overrides for shell-quote, @opentelemetry/otlp-transformer, @grpc/proto-loader with protobufjs version constraints, and minimum versions for hono, ws, and qs. Extends @daytonaio/sdk@* with a compatible ws dependency declaration.
@daytonaio/sdk version upgrades across packages
packages/daytona-runner/package.json, packages/deploy/package.json
Updates @daytonaio/sdk from ^0.179.0 to ^0.185.0 in both peerDependencies and devDependencies of daytona-runner, and in dependencies of deploy.
Runtime adapter-core dependency upgrade
packages/runtime/package.json
Bumps @relayfile/adapter-core from ^0.3.29 to ^0.3.31.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Dependenc-hop hop, all versions aligned,
SDK bumped, no conflicts to mind,
Overrides and extensions, a tidy array,
Package trees harmonize, hip hip hooray! 🌳✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: fixing vulnerable transitive dependencies and aligning adapter-core versions, which directly matches the changeset.
Description check ✅ Passed The description comprehensively covers the changeset, explaining the vulnerabilities fixed, specific dependency bumps, pnpm configuration changes, verification steps, and maintenance notes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch advisor/001-dependency-vulnerability-remediation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@willwashburn

Copy link
Copy Markdown
Member Author

Good catch — confirmed and fixed in cd226b2.

Verified the defect first: the lockfile's @opentelemetry/otlp-transformer@0.207.0 snapshot (reached via packages/runtime → @agent-relay/events → @opentelemetry/exporter-trace-otlp-http@0.207.0) was resolving protobufjs: 8.6.2 against its declared ^7.3.0, exactly as described.

The single un-qualified override is now split into two version-qualified entries:

"@opentelemetry/otlp-transformer@<0.217.0>protobufjs": ">=7.5.8 <8.0.0",
"@opentelemetry/otlp-transformer@>=0.217.0>protobufjs": ">=8.2.0",

Post-fix lockfile resolutions:

  • otlp-transformer@0.207.0 → protobufjs 7.6.3 (patched 7.x line, satisfies the advisories)
  • otlp-transformer@0.217.0 → protobufjs 8.6.2
  • @grpc/proto-loader paths unchanged on 7.6.3 (covered by its own pre-existing override)

pnpm audit --prod still reports no known vulnerabilities, and the full pnpm -r build && pnpm typecheck && pnpm test gate passes (880 tests, 0 failures).

@willwashburn
willwashburn merged commit b4bbd7b into main Jun 10, 2026
2 of 3 checks passed
@willwashburn
willwashburn deleted the advisor/001-dependency-vulnerability-remediation branch June 10, 2026 18:51
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.

1 participant