Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneeszack

Relationships

#3512 typed-secrets 0.4: characterize worker secret authorization and control-plane secret traffic

Opened by zack · 10/15/2026· Shipped 10/15/2026

Outcome

Characterization tests, with no behavior change, that document how a worker is authorized to read secrets today and where secret plaintext travels between serve, the worker supervisor and the runner. Phase 5 replaces this path with dispatch-bound handles and a protected data plane; it cannot be designed or reviewed against an undocumented baseline.

Why now

Design doc Phase 0 requires characterizing the post-resolution allowlist, remote readResource and control and data-plane secret traffic before any of it changes, and says any legacy repair ships with its own regression and release notes. Doing it first also separates the Phase 5 protocol work from any fix that turns out to be needed today.

Scope

In-process integration tests in integration/ using the serve, gateway and worker components on port-0 mock transports with fake vault providers, one named test per path:

  • Allowlist derivation: allowedSecrets comes from vault reference extraction over post-resolution arguments; an empty allowlist denies every resolveSecret unless dynamic references were detected.
  • Remote readResource: how the server authorizes the read, what the resource-schema fallback does for untagged legacy records, and what happens with a malformed sensitive-fields tag.
  • The resolveSecret control-RPC relay: the request and reply pass through supervisor and runner stdio; record what each hop logs.
  • Dispatch payload contents: the typed and untyped fields carried over the WebSocket dispatch and the runner bootstrap stdin frame, including globalArgs, methodArgs, secretValues and secretBag.
  • Per-dispatch credential: issuance, the sliding TTL, and behavior after completion, revocation and reassignment; the off-loopback TLS and auth requirement.
  • Output protection: what reaches the step lease from the worker result error, what the runner stderr debug log contains, whether serve registers resolved values with the redactor, and which file-writer data-plane routes have a redactor.

Each path gets a one-line classification in the PR description: expected by design, or a disclosure. The PR also records REMOTE_PROTOCOL_VERSION 4 and the exact-match rule at enrollment as the baseline Phase 5 revises.

Out of scope

  • Fixing anything found. A disclosure is filed as its own security issue and must not be linked to this feature issue.
  • The protocol revision, handles, the reveal endpoint and per-attempt re-rendering. Those are typed-secrets 5.1 to 5.6.

Acceptance

  • All six paths have passing characterization tests that would fail if the current behavior changed.
  • Every disclosure found has a filed security issue referenced from the PR before this issue closes.
  • No production code changes in the PR.
  • verify-build, verify-reviews and verify-skills pass at the reviewed commit.

References

  • Design doc Sections 7.1, 9 and Phase 0, landed by swamp-club#3509.
  • design/enablers/remote-execution.md for the current protocol description.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 15 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/15/2026, 10:52:45 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
zack assigned zack10/15/2026, 9:14:06 PM

Sign in to post a ripple.