Skip to content

chernistry/bernstein

v3.7.0 Security

This release includes 3 security fixes for security teams reviewing exposed deployments.

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

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

auth rbac deps

ReleasePort's take

Moderate signal
editorial:auto 9d

Release v3.7.0 enforces memory provenance on spawned‑agent prompts and hardens sandbox scope enforcement, while removing subscriber‑enumeration oracles from the newsletter API.

Why it matters: Security fixes with high severity (90 for prompt path, 85 for sandbox) mitigate privilege escalation risks; eliminating the enumeration oracle prevents user data leakage. Operators should prioritize deployment of these changes.

Summary

AI summary

Updates Fleet and deployment, Highlights, and Durable, resilient execution across a mixed release.

Changes in this release

Security Critical

Enforces memory provenance on spawned-agent prompt path (#2624).

Enforces memory provenance on spawned-agent prompt path (#2624).

Source: llm_adapter@2026-07-17

Confidence: high

Security High

Enforces sandbox scope enforcement without auto‑relaxation (#2622).

Enforces sandbox scope enforcement without auto‑relaxation (#2622).

Source: llm_adapter@2026-07-17

Confidence: high

Security High

Uniform response for newsletter endpoint to remove subscriber‑enumeration oracle (#2623).

Uniform response for newsletter endpoint to remove subscriber‑enumeration oracle (#2623).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Adds export of audit chain as standard verifiable receipts (COSE_Sign1, in‑toto, signed receipt) (#2617).

Adds export of audit chain as standard verifiable receipts (COSE_Sign1, in‑toto, signed receipt) (#2617).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Introduces per‑goal SLA contracts with signed violation receipts (#2618).

Introduces per‑goal SLA contracts with signed violation receipts (#2618).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Adds browser and computer‑use adapter for non‑coding agents (#2621).

Adds browser and computer‑use adapter for non‑coding agents (#2621).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Introduces research activity worker for non‑coding research artifacts (#2630).

Introduces research activity worker for non‑coding research artifacts (#2630).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Adds durable task suspend and resume with attested receipt (#2616).

Adds durable task suspend and resume with attested receipt (#2616).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Introduces cache policy engine with composable content‑addressed keys and signed duplicate‑of receipts (#2625).

Introduces cache policy engine with composable content‑addressed keys and signed duplicate‑of receipts (#2625).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Medium

Adds lineage‑attested failure receipts in recovery tasks (#2628).

Adds lineage‑attested failure receipts in recovery tasks (#2628).

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Introduces named sandbox pools with chain‑projected manifests and signed worker enrolment (#2547).

Introduces named sandbox pools with chain‑projected manifests and signed worker enrolment (#2547).

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Feature Low

Adds sovereign deployment profile with signed residency posture attestation anchored in the audit chain (#2629).

Adds sovereign deployment profile with signed residency posture attestation anchored in the audit chain (#2629).

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Feature Low

Provides mission timeline UI backed by signed daily progress digests (#2510).

Provides mission timeline UI backed by signed daily progress digests (#2510).

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Full changelog

v3.7.0

Released 2026-07-17.

Theme

v3.7.0 opens the orchestrator beyond coding agents and turns its determinism and audit chain into standard, independently verifiable receipts. The through-line: any agent, any artifact, and every result provable offline.

Highlights

Verifiable receipts, in standard formats

  • Export the audit chain as standard verifiable receipts (#2617). Projects an HMAC audit-chain range into COSE_Sign1, in-toto attestation, and a transparency-log-style signed receipt, each re-verifiable offline by a standard verifier with zero Bernstein imports. Tampering with a chain entry breaks the receipt exactly as it breaks the chain.
  • Per-goal SLA contracts (#2618). Signed violation receipts, lineage-anchored freshness, and ledger-projected error budgets: a breach is a signed, offline-verifiable receipt, not just a log line.

Universalization: non-coding agents as first-class

  • Browser and computer-use adapter (#2621). A new adapter family fronts autonomous browser and computer-use agents. Every action is a content-addressed lineage anchor; the action sequence replays deterministically and a divergence surfaces as a hash mismatch at the exact action index.
  • Research activity worker (#2630). Non-coding research runs land as artifacts whose every citation is an offline-resolvable lineage anchor, so a report reconstructs from the chain alone.

Durable, resilient execution

  • Durable task suspend and resume (#2616). A task waiting on a human or external event parks with an attested receipt that releases the seat, sandbox, and budget envelope; resume reconstructs byte-identically from the receipt.
  • Cache policy engine (#2625). Composable content-addressed key recipes, repo-drift expiry, claim-based fleet dedup with a signed duplicate-of receipt, and lineage-propagated eviction. Two operators derive byte-identical cache keys and verdicts.
  • Lineage-attested failure receipts in recovery (#2628). An on_fail recovery task now carries a lineage-attested failure receipt, so why-it-failed and what-recovered are a single verifiable edge.

Fleet and deployment

  • Named sandbox pools (#2547). Chain-projected pool manifests, governed overrides with capability and egress ceilings, and signed worker enrolment. Two hosts holding the same manifest compute a byte-identical effective-manifest hash; a widening override is refused with a chained receipt and no sandbox is created.
  • Sovereign deployment profile (#2629). A signed residency posture attestation anchored in the audit chain; posture drift at spawn is a signed, offline-verifiable refusal rather than a silent misconfiguration.
  • Mission timeline and signed daily digests (#2510). A mission screen backed by signed daily progress digests, each a verifiable projection of the day's chain.

Security

Hardening from coordinated disclosure (all fixed and merged):

  • Memory provenance on the spawned-agent prompt path (#2624). The cross-adapter memory-poisoning invariant is now enforced where the spawned-agent prompt is built, not only in the opt-in query path.
  • Sandbox scope enforcement (#2622). scope_enforcement is no longer auto-relaxed for a sandbox backend that cannot demonstrate a task-scoped mount.
  • Newsletter endpoint (bernstein.run). POST /api/notify now returns a uniform response regardless of prior subscription state, closing a subscriber-membership oracle.

The disclosure policy was also corrected (#2623, #2627, #2634): the prior SECURITY.md advertised a paid bug bounty with no budget behind it. It is replaced with an honest recognition-only coordinated-disclosure policy, and the sovereign profile now attests egress truthfully at spawn time.

Acknowledgments

Thanks to the researchers who reported the issues above through coordinated disclosure:

  • Dmitriy Filatov (Malder) (@Malder-coder) for the memory-provenance and sandbox scope-enforcement reports.
  • Gaurav Popalghat (https://www.linkedin.com/in/noobx/) for the newsletter subscriber-enumeration report.

Security Fixes

  • Memory provenance enforcement on spawned‑agent prompt path (#2624)
  • Sandbox scope enforcement no longer auto‑relaxes when mount cannot be demonstrated (#2622)
  • Newsletter endpoint POST /api/notify now returns uniform response, closing subscriber enumeration oracle

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]