Skip to content

chernistry/bernstein

v2.10.0 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

agent-orchestrator agentic-ai ai-agents aider air-gap audit-trail
+14 more
claude-code cli-tool codex-cli coding-agent deterministic-replay deterministic-scheduler hmac-audit mcp-server model-context-protocol multi-agent parallel-worktrees provenance python reproducibility

Affected surfaces

rce_ssrf deps

Summary

AI summary

--sandbox docker provisions a real Docker sandbox for spawned agents end to end.

Full changelog

v2.10.0

Released 2026-07-02.

Features

  • --sandbox docker now provisions a real Docker sandbox for spawned agents end to end: the seed launcher wires DockerSandboxBackend into the spawner, the host repo is bind-mounted read-only and cloned into an isolated workspace, and a host-side heartbeat proxy keeps sandboxed agents visible to the stall watchdog. Falls back to the legacy path when Docker is unavailable. Known limits of this first cut (result sync-back, per-agent sessions) are tracked in #2162. Contributed by @shanemmattner. (#2156)
  • bernstein run --worker <role> spawns a single worker directly against the seed goal, bypassing manager decomposition; combining it with an inline goal or --plan-file is a usage error. (#2156)

Fixes

  • Role templates render again: the orchestrator passed the templates root where the spawner expects templates/roles/, so every role silently fell back to a generic prompt. The fallback now warns, and a regression test pins the call site. (#2155, #2156)
  • --model propagates to manager-created child tasks and the server launch path instead of a hardcoded default, so non-Claude CLIs run on the requested model end to end. A/B pinned models survive the server round trip. (#2156)
  • Container execution hardening: adapter commands are shell-quoted, only the resolved adapter's API keys are forwarded into a sandbox, the sandbox container uses host networking for task-server parity with the legacy path, and containers are cleaned up on provisioning failure and on orchestrator exit. (#2156)

Dependencies

  • Routine updates: vite 8.1.3, lucide-react 1.23.0, prom/prometheus v3.13.0, docker/build-push-action, docker/login-action, and oss-fuzz base-builder digest bumps.

Security Fixes

  • Container execution hardening: adapter commands are shell‑quoted, only resolved adapter API keys are forwarded into the sandbox, host networking is used for task‑server parity, and containers are cleaned up on provisioning failure or orchestrator exit.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track chernistry/bernstein

Get notified when new releases ship.

Sign up free

About chernistry/bernstein

Deterministic multi-agent orchestrator for 18 CLI coding agents (Claude Code, Codex, Cursor, Aider, Gemini CLI, OpenAI Agents SDK, and more). MCP server mode (stdio + HTTP/SSE) exposes the orchestrator to any MCP client. Git worktree isolation per agent, HMAC-chained audit trail, cost-aware model routing via contextual bandit. ~11K monthly PyPI downloads, Apache 2.0.

All releases →

Related context

Earlier breaking changes

  • v3.7.1 `bernstein approve` and `bernstein reject` now enforce identifier regex `[A-Za-z0-9._-]{1,64}`.
  • v3.7.1 Tampered mission ledger reports as unverified rather than not-found.
  • v3.7.1 `mission define` now refuses phases without gate tasks.
  • v3.5.0 MCP client, transport, and gateway become stateless; calls carry content‑derived trace IDs in _meta.

Beta — feedback welcome: [email protected]