Skip to content

chore(deps): refresh Go, Worker, Actions and runner image dependencies - #2453

Merged
steipete merged 4 commits into
mainfrom
codex/triage-20260921-deps-refresh
Sep 21, 2026
Merged

steipete merged 4 commits into
mainfrom
codex/triage-20260921-deps-refresh

Conversation

@steipete

Copy link
Copy Markdown
Contributor

Summary

Refresh all dependencies to current releases, in three commits:

  • Go: direct module updates including stable majors (Azure SDK majors, regexp2 v2), go mod tidy, generated runner dependency manifests regenerated. Intentional holds: Incus client at 7.3 (later versions need a newer Go toolchain than the pinned 1.26.5), and prerelease majors.
  • Worker: npm dependencies to latest (Vitest 5 among them), Node 22 type definitions held back deliberately; coordinator container image moves to Node 24 LTS.
  • CI/runners: GitHub Actions pins bumped to current majors; runner base-image digests refreshed the way scripts/check-docker-base-images.mjs expects.

Verification

  • go vet ./..., Linux cross-vet and deadcode, focused race tests for affected packages.
  • Worker: typecheck, lint, format check, 834 tests, build.
  • Generated-file and pin contract checks passed.
  • Branch autoreview clean through P2. Full CI and Docker qualification via this PR's checks.

Health checks and the exact holds are in the commit messages.

Update direct and reachable transitive modules, migrate Azure compute/network/resources and regexp2, and preserve Go 1.26.5. Hold Incus at 7.3.0 because 7.4 requires Go 1.26.7. Retain the newer jsonschema fork revision and stable SFTP, OIDC, and Connect majors.

Validated with go vet, focused race tests for Azure/schema, AWS/GCP and provider adapters, plus Linux cross-vet for Firecracker and Phala.
Upgrade Vitest to 5.0.1 and refresh AWS credentials, pg-boss, Cloudflare types, Wrangler, formatting and lint tooling. Keep Node 22 types aligned with the supported runtime floor; opt out of the newly enabled function-scoping style rule.

Verified clean npm installation, both TypeScript configurations, lint, formatting, focused Vitest files, Node build and Worker dry-run. Final lockfile also refreshes compatible transitive dependencies.
Use current stable action commits, refresh multi-platform runner digests and deadcode tooling, and preserve Rust 1.90 warnings-as-errors explicitly. Keep existing Bookworm and Ubuntu baselines; MCR runtime-deps 10 has no Bookworm image. Cloudflare runner tool pins already match latest releases.

Record one Unreleased dependency-refresh entry. Workflow/pin checks, generated-source checks and focused script tests pass.
@steipete
steipete requested a review from a team as a code owner September 21, 2026 17:34
@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
Updatedgolang/​cloud.google.com/​go/​compute@​v1.65.0 ⏵ v1.69.076 +110010010060
Updatedgolang/​github.com/​hashicorp/​nomad/​api@​v0.0.0-20260724112153-37c73b2918bd ⏵ v0.0.0-20260921134951-9e1409fc523a9010010010070
Updatedgolang/​github.com/​lxc/​incus/​v7@​v7.1.0 ⏵ v7.3.071 +15100 +7510010070
Updatedgolang/​golang.org/​x/​oauth2@​v0.36.0 ⏵ v0.37.071100100100100
Updatedgolang/​github.com/​Azure/​azure-sdk-for-go/​sdk/​azcore@​v1.22.0 ⏵ v1.23.171 +1100100100100
Updatedgolang/​github.com/​aws/​aws-sdk-go-v2@​v1.43.0 ⏵ v1.47.072 +1100100100100
Updatedgolang/​connectrpc.com/​connect@​v1.20.0 ⏵ v1.21.072 +1100100100100
Updatedgolang/​github.com/​zitadel/​oidc/​v3@​v3.48.1 ⏵ v3.51.372 +1100100100100
Updatedgolang/​github.com/​aws/​smithy-go@​v1.27.4 ⏵ v1.28.273 +1100100100100
Updatedgolang/​golang.org/​x/​crypto@​v0.54.0 ⏵ v0.57.074 +1100100100100
Addedgolang/​github.com/​Azure/​azure-sdk-for-go/​sdk/​resourcemanager/​compute/​armcompute/​v8@​v8.3.074100100100100
Updatedgolang/​github.com/​scaleway/​scaleway-sdk-go@​v1.0.0-beta.36 ⏵ v1.0.0-beta.3774 +1100100100100
Addedgolang/​github.com/​Azure/​azure-sdk-for-go/​sdk/​resourcemanager/​network/​armnetwork/​v12@​v12.0.075100100100100
Updatedgolang/​google.golang.org/​grpc@​v1.82.1 ⏵ v1.84.075 +185 +8100100100
Updatedgolang/​google.golang.org/​protobuf@​v1.36.11 ⏵ v1.36.1275 +1100100100100
Updatedgolang/​google.golang.org/​api@​v0.290.0 ⏵ v0.298.079 +1100100100100
Updatednpm/​vitest@​4.1.11 ⏵ 5.0.198 +110079 +199100
Updatedgolang/​github.com/​islo-labs/​go-sdk@​v0.0.0-20260719125711-521c0d4b53aa ⏵ v0.0.0-20260902083704-1464faf8f1fd80 -1100100100100
Updatedgolang/​google.golang.org/​genproto/​googleapis/​api@​v0.0.0-20260724162435-b2f20204f0df ⏵ v0.0.0-20260921155816-b1422766945980100100100100
Updatedgolang/​github.com/​alibaba/​OpenSandbox/​sdks/​sandbox/​go@​v1.0.5 ⏵ v1.1.081 -6100100100100
Updatednpm/​@​types/​node@​22.20.1 ⏵ 22.20.410010081 +196100
Updatedgolang/​github.com/​Azure/​azure-sdk-for-go/​sdk/​azidentity@​v1.14.0 ⏵ v1.14.182100100100100
Updatedgolang/​golang.org/​x/​sys@​v0.47.0 ⏵ v0.48.084 +1100100100100
Updatednpm/​oxfmt@​0.65.0 ⏵ 0.70.086 +110088 +196 +1100
Updatedgolang/​github.com/​aws/​aws-sdk-go-v2/​config@​v1.32.31 ⏵ v1.33.588100100100100
Addedgolang/​github.com/​Azure/​azure-sdk-for-go/​sdk/​resourcemanager/​resources/​armresources/​v4@​v4.0.090100100100100
Updatednpm/​oxlint-tsgolint@​7.0.2001 ⏵ 7.0.2002991009791 -3100
Updatedgolang/​github.com/​containernetworking/​cni@​v1.3.0 ⏵ v1.3.191 +1100100100100
Updatednpm/​oxlint@​1.80.0 ⏵ 1.85.099 +110091 +196 +1100
Updatednpm/​wrangler@​4.127.0 ⏵ 4.136.1981009296 +1100
Updatedgolang/​github.com/​pkg/​sftp@​v1.13.10 ⏵ v1.13.1194 +1100100100100
See 15 more rows in the dashboard

View full report

@socket-security

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: golang github.com/containernetworking/plugins is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: go.mod → golang/github.com/firecracker-microvm/firecracker-go-sdk@v1.0.0 → golang/github.com/containernetworking/plugins@v1.9.1

ℹ Read more on: This package | This alert | What is obfuscated code?

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: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/containernetworking/plugins@v1.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.

View full report

@clawsweeper

clawsweeper Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed September 21, 2026, 2:14 PM ET / 18:14 UTC (Revision 2).

ClawSweeper review

What this changes

Refresh Go and Worker dependencies, update pinned Actions and container images, adapt Azure and regexp imports, and move the Node coordinator container to Node 24.

Merge readiness

⛔ Blocked before merge - 5 items remain

The refresh remains useful and is absent from current main and v0.63.0. No concrete introduced correctness bug was established, but existing-database upgrade validation and the dependency security alert remain unresolved.

Priority: P2
Reviewed head: 9f82ea4ce873a2e9e70f7cacf35c09201231ccf6

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) Recorded reviewer rating: The refresh is coherent and preserves several existing contracts, but database upgrade safety remains insufficiently demonstrated. Real behavior proof remains required by host policy.
Proof confidence 🌊 off-meta tidepool Recorded reviewer rating; Required by policy: the recorded not-applicable assessment does not satisfy the current PR proof policy. Put relevant after-change evidence in the main PR body, then request a fresh review with @clawsweeper re-review. Recorded reviewer context: GitHub verifies the author as a repository administrator, exempting this PR from ordinary external-contributor proof. The reported PostgreSQL integration check exercises fresh NodeCoordinatorRuntime startup; existing-schema upgrade evidence remains a separate compatibility requirement.
Patch quality 🦐 gold shrimp (3/6) Security review found an item that needs attention.

Verification

Check Result Evidence
Real behavior Required by policy Required by policy: the recorded not-applicable assessment does not satisfy the current PR proof policy. Put relevant after-change evidence in the main PR body, then request a fresh review with @clawsweeper re-review. Recorded reviewer context: GitHub verifies the author as a repository administrator, exempting this PR from ordinary external-contributor proof. The reported PostgreSQL integration check exercises fresh NodeCoordinatorRuntime startup; existing-schema upgrade evidence remains a separate compatibility requirement.
Evidence reviewed 12 items Pinned introduction boundary: Reviewed the merge-base-to-head changes: 31 files, 1,149 additions and 1,139 deletions. The checkout is the original PR head; no removal claims were inferred from current-main drift. No builds or tests were executed during this read-only review.
Verified repository administrator: GitHub reports steipete's repository permission and role as admin. This establishes the maintainer exemption from ordinary external-contributor proof and permits maintainer-owned changelog maintenance despite the CONTRIBUTOR association shown on the PR.
Refresh remains absent from main: Fetched main still declares pg-boss ^12.28.0 and Vitest ^4.1.11; the reviewed head declares ^12.33.3 and ^5.0.1. A bounded REST search of the 50 most recently updated PRs found no competing dependency-refresh candidate.
Findings None None.
Security Needs attention Resolve the CNI dependency alert: Socket flags possible obfuscation in containernetworking/plugins v1.9.1, newly selected through Firecracker. The public alert provides no flagged file and its detailed report was inaccessible, so no malicious behavior is established; a source-level disposition is still needed.

How this fits together

These dependencies support Crabbox’s provider CLI, coordinator, and build workflows. The Node coordinator also starts a PostgreSQL job scheduler that maintains durable alarms and reconciliation schedules.

flowchart TD
  A[Dependency manifests and pins] --> B[CLI and provider clients]
  A --> C[Build and release workflows]
  A --> D[Node coordinator]
  D --> E[Job scheduler startup]
  F[Existing PostgreSQL jobs and schedules] --> E
  E --> G[Schema migration and scheduled work]
Loading

Before merge

  • Add real behavior proof - Required by policy: the recorded not-applicable assessment does not satisfy the current PR proof policy. Put relevant after-change evidence in the main PR body, then request a fresh review with @clawsweeper re-review. Recorded reviewer context: GitHub verifies the author as a repository administrator, exempting this PR from ordinary external-contributor proof. The reported PostgreSQL integration check exercises fresh NodeCoordinatorRuntime startup; existing-schema upgrade evidence remains a separate compatibility requirement.
  • Resolve security concern: Resolve the CNI dependency alert - Socket flags possible obfuscation in containernetworking/plugins v1.9.1, newly selected through Firecracker. The public alert provides no flagged file and its detailed report was inaccessible, so no malicious behavior is established; a source-level disposition is still needed.
  • Resolve merge risk (P1) - Deploying the new queue library automatically migrates existing crabbox_jobs databases from schema 38 to 42; retained alarm execution, reconciliation schedules, and rollback or recovery have not been demonstrated.
  • Resolve merge risk (P1) - The obfuscation alert for the updated Firecracker networking dependency lacks a source-level disposition; the inaccessible report prevented this reviewer from identifying or clearing the flagged code.
  • Complete next step (P2) - Supply existing-database upgrade and recovery evidence, and record the source-level disposition of the CNI security alert before merge.

Findings

  • [medium] Resolve the CNI dependency alert — go.mod:103
Agent review details

Security

Needs attention: Pins and permission boundaries appear consistent, but the CNI package-level obfuscation alert remains untriaged.

Review metrics

Metric Value Why it matters
Persistent schema upgrade 4 migrations: schema 38 → 42 A runtime dependency update changes existing PostgreSQL storage automatically at startup.
Workflow coverage 18 workflows updated The Action refresh spans CI, deployment, image qualification, and release verification.

Merge-risk options

Maintainer options:

  1. Validate the migration and resolve the alert (recommended)
    Demonstrate retained jobs and schedules surviving the PostgreSQL upgrade with a recovery path, and identify and assess the CNI source flagged by Socket.
  2. Defer the unresolved dependency bumps
    Keep pg-boss and the flagged CNI dependency at their existing versions while landing independently validated updates.

Technical review

Best possible solution:

Retain the refresh with demonstrated PostgreSQL upgrade and recovery behavior, and a documented source-level disposition of the CNI alert.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this PR refreshes dependencies rather than reporting a specific runtime bug; no introduced failure was reproduced.

Is this the best way to solve the issue?

Unclear until upgrade validation is supplied: the narrow import adaptations and compatibility holds are reasonable, but fresh-start tests do not establish safety for existing PostgreSQL job databases.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 6aa35cea5840.

Labels

Label changes:

  • add P2: This is a useful dependency refresh without an established urgent user-facing regression.
  • add merge-risk: 🚨 compatibility: The pg-boss update automatically migrates persisted coordinator jobs without demonstrated existing-database upgrade and recovery coverage.
  • add merge-risk: 🚨 security-boundary: An unresolved obfuscation alert affects an updated dependency used by Firecracker networking; this signals review uncertainty, not a proven exploit.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🌊 off-meta tidepool and patch quality is 🦐 gold shrimp. This is the recorded reviewer rating; real behavior proof remains required by host policy.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Required by policy: the recorded not-applicable assessment does not satisfy the current PR proof policy. Put relevant after-change evidence in the main PR body, then request a fresh review with @clawsweeper re-review. Recorded reviewer context: GitHub verifies the author as a repository administrator, exempting this PR from ordinary external-contributor proof. The reported PostgreSQL integration check exercises fresh NodeCoordinatorRuntime startup; existing-schema upgrade evidence remains a separate compatibility requirement.

Label justifications:

  • P2: This is a useful dependency refresh without an established urgent user-facing regression.
  • merge-risk: 🚨 compatibility: The pg-boss update automatically migrates persisted coordinator jobs without demonstrated existing-database upgrade and recovery coverage.
  • merge-risk: 🚨 security-boundary: An unresolved obfuscation alert affects an updated dependency used by Firecracker networking; this signals review uncertainty, not a proven exploit.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🌊 off-meta tidepool and patch quality is 🦐 gold shrimp. This is the recorded reviewer rating; real behavior proof remains required by host policy.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Required by policy: the recorded not-applicable assessment does not satisfy the current PR proof policy. Put relevant after-change evidence in the main PR body, then request a fresh review with @clawsweeper re-review. Recorded reviewer context: GitHub verifies the author as a repository administrator, exempting this PR from ordinary external-contributor proof. The reported PostgreSQL integration check exercises fresh NodeCoordinatorRuntime startup; existing-schema upgrade evidence remains a separate compatibility requirement.

Evidence

Security concerns:

  • [medium] Resolve the CNI dependency alert — go.mod:103
    Socket flags possible obfuscation in containernetworking/plugins v1.9.1, newly selected through Firecracker. The public alert provides no flagged file and its detailed report was inaccessible, so no malicious behavior is established; a source-level disposition is still needed.
    Confidence: 0.7

What I checked:

  • Pinned introduction boundary: Reviewed the merge-base-to-head changes: 31 files, 1,149 additions and 1,139 deletions. The checkout is the original PR head; no removal claims were inferred from current-main drift. No builds or tests were executed during this read-only review. (9f82ea4ce873)
  • Verified repository administrator: GitHub reports steipete's repository permission and role as admin. This establishes the maintainer exemption from ordinary external-contributor proof and permits maintainer-owned changelog maintenance despite the CONTRIBUTOR association shown on the PR.
  • Refresh remains absent from main: Fetched main still declares pg-boss ^12.28.0 and Vitest ^4.1.11; the reviewed head declares ^12.33.3 and ^5.0.1. A bounded REST search of the 50 most recently updated PRs found no competing dependency-refresh candidate. (worker/package.json:33, 6aa35cea5840)
  • Latest-release comparison: The supplied latest release, v0.63.0, also retains pg-boss ^12.28.0 and Vitest ^4.1.11, so the central refresh is not already shipped. (worker/package.json:33, 8a8b22d6fd4f)
  • Production dependency and persistence boundary: NodeCoordinatorRuntime imports PgBoss, opens the crabbox_jobs schema, calls boss.start(), and creates alarm and reconciliation queues. This direct runtime use establishes the relevance of pg-boss's migration contract to the dependency update. (worker/node/node-runtime.ts:92, 9f82ea4ce873)
  • Persisted schema changes: Upstream 12.28.0 declares schema 38; 12.33.3 declares schema 42. Migrations 39–42 add columns, backfill queue metadata, replace fetch indexes, update schedules, and install a clock function. Upstream Contractor.start automatically migrates older installed schemas. (src/migrationStore.ts:1729, 512b60a5ba6f)

Likely related people:

  • unknown: The claimed source-line change could not be verified from bounded local history. (role: source history unknown; confidence: low)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Demonstrate schema 38→42 upgrade with retained alarms and reconciliation schedules, including supported rollback or recovery.
  • Record a source-level disposition of Socket's containernetworking/plugins v1.9.1 alert.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (1 earlier review cycle)
  • reviewed 2026-09-21T17:39:49.125Z sha b8e8a91 :: needs real behavior proof before merge. :: none

Restore Incus 7.1.0 because 7.3 switches client config discovery to os.UserConfigDir and migrates trust state on read. Retain YAML v4 rc.4 for its yaml.V2 API and Scaleway beta.36, since beta.37 requires the incompatible YAML rc.6. Tidy removes the unused Incus transitive dependencies.

Restore deadcode 0.45.0 to match the unchanged exact CI command contract. Full Incus/scripts race tests and focused Scaleway transport/lifecycle tests pass with Go 1.26.5; test assertions remain unchanged.
@clawsweeper clawsweeper Bot added P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Sep 21, 2026
@steipete
steipete merged commit 136804c into main Sep 21, 2026
30 of 32 checks passed
@steipete
steipete deleted the codex/triage-20260921-deps-refresh branch September 21, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. P2 Normal priority bug or improvement with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant