This release includes 3 security fixes for security teams reviewing exposed deployments.
Topics
+14 more
Affected surfaces
ReleasePort's take
Moderate signalRelease 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 summaryUpdates Fleet and deployment, Highlights, and Durable, resilient execution across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| 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_failrecovery 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_enforcementis no longer auto-relaxed for a sandbox backend that cannot demonstrate a task-scoped mount. - Newsletter endpoint (bernstein.run).
POST /api/notifynow 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
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.
Related context
Related tools
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]