Skip to content

docker-sandbox-substrate: harden the isolation probe and model kit-supplied egress #2110

Description

@kyle-sexton

Durable home for the decisions from the docker-sandbox-substrate interview. The
contract slice itself is working state (docs/topics/ is pruned before merge per
docs/conventions/topic-docs/README.md), so the outcome lands here until an
implementation PR can carry the PLAN in its body.

What was decided

A kernel-separated local isolation substrate was evaluated and probed live on
Windows 11 Pro under a hardened invocation (clone mode + a default-deny network
posture). Both ladder assertions failed inside the boundary — the passing
condition — with the outer context proving each target reachable or present
first.

Integrating it costs zero files in this repository: the sandbox-provider seam
in plugins/autonomy/reference/runner.md already exists, the guided-setup slice
already detects capability-shaped rather than instance-shaped, and
guardrails/isolation-ladder.md forbids naming a product instance here at all.
The instance's only legitimate home is the substrate field in a consumer's
security binding, outside this repo.

The work this leaves

  1. Harden the probe's egress assertion. A connect-only test grades a
    microVM-class substrate wrongly: raw TCP connect() succeeds because the
    interception layer accepts the SYN and then drops the session, so TLS EOFs with
    no data. templates/isolation-probe.md currently leans toward "must fail to
    CONNECT" for metadata endpoints. The assertion must test whether data
    flows
    .
  2. Add a third assertion covering the workspace mount. The existing two —
    denied egress, absent host credentials — do not test the bind-mounted
    workspace at all. A substrate can pass the probe cleanly while the agent can
    still write host-executing files (.git/config alone is a command key ring;
    core.fsmonitor executes host code on git status). The ladder's levels
    describe the process boundary; the workspace mount is a deliberate hole
    through it that nothing currently measures.
  3. Decide whether the ladder models kit-supplied allow rules. During the
    probe a kit added its own network allow rule on top of a global deny-all.
    Installing a kit can widen egress. Unlike the other items this changes what a
    level binding certifies, and it is a supply-chain concern the ladder does not
    model.
  4. Record a re-verification cadence for version-bound substrate evidence. The
    probed product is pre-1.0 and ships roughly every two weeks; specific flags,
    defaults, and guarantees rot. The durable findings are the architecture and the
    posture, not the specifics.

Why this is not a plugin change

Naming any product in this repository's contract surface would violate the
ladder's "classes, never vendors" rule. Items 1–3 are all class-level and
vendor-neutral.

No linked issue — this IS the tracking item.

Related

  • melodic-software/dotfiles#427 (merged) — tracks the substrate CLI in the
    user-scope package list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions