@namzu/sandbox 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @namzu/sandbox
2
2
 
3
+ ## 5.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - a208ba8: The docker backend's default configuration could not create a sandbox, and the test that would have caught it had never run
8
+
9
+ `create()` failed on the documented defaults — `network: 'none'`, `hostReachability: 'host-port'` — with `index of untyped nil` thrown out of a `docker inspect` template, reported as "the container exited immediately". The container was alive and well. Docker binds a published port to the container's address by NAT, so a container with no route out has no address to bind to and nothing is published; measured against Docker 29.6, `--network none --publish 127.0.0.1::2024` is _accepted_ and `NetworkSettings.Ports` comes back `{"2024/tcp":[]}`. An `--internal` network behaves the same way.
10
+
11
+ `deny-all` had the same defect from the other side. It answered `--network none`, which reads as the strictest possible answer and removes the interface the worker is reached on — so it denied the way _in_ along with the way out, in both reachability modes.
12
+
13
+ **Why no one noticed.** `packages/sandbox/vitest.config.ts` excludes `**/*.smoke.test.ts` from every run it governs, including the `test:smoke` run that exists to run them; naming the files as CLI arguments does not re-include them, because positional arguments filter what discovery already found. With `--passWithNoTests`, `pnpm sandbox:smoke` printed `No test files found, exiting with code 0` and the workflow went green — after building a Debian image with a browser and an office suite in it to run nothing. The suite's own fail-fast guard for a misconfigured CI could not fire either: it lives inside a file that was never loaded.
14
+
15
+ **What changes for you.**
16
+
17
+ - The smoke suite has its own config and no `--passWithNoTests`, so an empty run is now a failure.
18
+ - `create()` checks the container's network against the daemon before starting anything, and refuses with the reason. **The `network` default of `'none'` is one of the pairings it refuses** — name a bridge to reach the worker by host port, or set `hostReachability: 'container-network'`.
19
+ - `deny-all` now keeps the configured network and **requires it to be one created with `docker network create --internal`**, verified rather than trusted. That is a real boundary: outbound gets `Network unreachable` from the kernel, not from an environment variable a workload may decline to read, while sibling containers still reach the worker by name.
20
+ - Consequently **`deny-all` over a published host port is refused as impossible**, not unsupported: a published port needs a route out and `deny-all` needs none. Closing that means moving the worker's control channel off TCP, which is tracked separately.
21
+ - `resolveNetwork` no longer returns `'none'` for `deny-all`. `assertNetworkCarriesThePolicy` and `isInternalNetwork` are exported alongside it.
22
+
23
+ ### Patch Changes
24
+
25
+ - 3e591c7: Record why the capability drop is load-bearing for egress denial
26
+
27
+ Comment only; no behaviour change.
28
+
29
+ `deny-all` is now enforced by the container's network being `--internal`, and it was worth measuring what that is actually worth. A container on such a network has no default route — but `ip route add default via <sibling>` is refused with `Operation not permitted` under docker's **default** capability set, before `--cap-drop=ALL` is applied at all. `NET_ADMIN` is what would lift that.
30
+
31
+ So the internal network removes the route and the capability drop removes the ability to put one back. Both are needed, and `HARDENING_ARGS` previously justified the drop only on unrelated grounds (`CAP_DAC_OVERRIDE` walking past read-only binds) — a rationale that would survive softening the flag, while this one would not.
32
+
33
+ Also recorded: given `NET_ADMIN` and a manually installed route, a dual-homed sibling _does_ forward the packet (`net.ipv4.ip_forward` is `1` inside a container). No connection establishes because nothing masquerades the internal subnet, but the docblock says plainly that this is not a security property — one-way egress is enough for exfiltration, and what was measured is a failed handshake, not a dropped packet.
34
+
3
35
  ## 4.0.0
4
36
 
5
37
  ### Major Changes
package/README.md CHANGED
@@ -64,11 +64,34 @@ throws instead of quietly ignoring it:
64
64
 
65
65
  | Backend | `deny-all` | `allow-all` | `static` | `resolver` |
66
66
  |---|---|---|---|---|
67
- | `container:docker` | enforced (`--network none`) | enforced | **throws** — no proxy to filter through | **throws** |
67
+ | `container:docker` | enforced on an `--internal` network, and **throws** under `hostReachability: 'host-port'` | enforced | **throws** — no proxy to filter through | **throws** |
68
68
  | `container:standby-pool` | **throws** | **throws** | **throws** | **throws** |
69
69
  | `microvm:firecracker` | enforced (empty allowlist) | enforced (no allowlist) | enforced | enforced — `resolve()` is called and its result forwarded |
70
70
 
71
- Two rows carry the same lesson from opposite directions.
71
+ ### The network has to be able to carry the policy
72
+
73
+ `network` and `hostReachability` are not independent of the egress policy,
74
+ and pairing them wrongly used to produce a container nobody could reach:
75
+
76
+ | You want | `network` | `hostReachability` |
77
+ |---|---|---|
78
+ | no egress, enforced | a network created `--internal` | `container-network` |
79
+ | egress, restricted by allowlist | a bridge, plus an egress proxy | either |
80
+ | egress, unrestricted | a bridge | either |
81
+
82
+ Docker binds a published port to the container's address by NAT, so a
83
+ container with no route out has no address to bind to and **nothing is
84
+ published** — that holds for `--network none` and for an `--internal`
85
+ network alike. `deny-all` needs exactly such a network. The two
86
+ requirements are opposites, so *no egress plus a published host port* is
87
+ impossible rather than unsupported; closing that means moving the worker's
88
+ control channel off TCP.
89
+
90
+ `create()` checks both against the daemon and refuses with the reason.
91
+ Note that the `network` default of `'none'` is one of the pairings it
92
+ refuses.
93
+
94
+ Two rows of the table above carry the same lesson from opposite directions.
72
95
 
73
96
  The docker row used to accept a restrictive policy and silently grant the
74
97
  configured network, which is worse than not supporting the feature: the
@@ -120,7 +143,8 @@ Every container is launched with:
120
143
  layout advisory rather than enforced.
121
144
  - `--security-opt=no-new-privileges` — without it a setuid binary in the
122
145
  image re-escalates after the drop.
123
- - `--network none` by default (see the egress table above).
146
+ - the configured network, which defaults to `none` (see the egress table
147
+ above, and the network note below it).
124
148
 
125
149
  There is deliberately **no re-add list** for capabilities. A workload that
126
150
  genuinely needs one should say so somewhere a reviewer sees it, not inherit
@@ -134,10 +134,17 @@ export declare function buildDockerBackend(config: DockerBackendInternalConfig):
134
134
  *
135
135
  * The policy used to be accepted and silently ignored, which is worse than
136
136
  * not supporting it: a host that set `deny-all` believed the container had
137
- * no network and it had the configured one. Docker can enforce `deny-all`
138
- * natively (`--network none`); it cannot enforce a host allowlist without
139
- * a proxy this backend does not have, so those policies are REFUSED rather
140
- * than quietly downgraded to "allow everything".
137
+ * no network and it had the configured one. It cannot enforce a host
138
+ * allowlist without a proxy this backend does not have, so those policies
139
+ * are REFUSED rather than quietly downgraded to "allow everything".
140
+ *
141
+ * `deny-all` used to answer `'none'`, which reads as the strictest possible
142
+ * answer and produced a sandbox nobody could reach. `--network none`
143
+ * removes every interface, and this backend's control channel is inbound
144
+ * TCP to the worker — so removing the interfaces removes the way IN, not
145
+ * just the way out. It now keeps the configured network, and
146
+ * {@link assertNetworkCarriesThePolicy} is what makes that network a
147
+ * boundary.
141
148
  */
142
149
  export declare function resolveNetwork(configured: string, egress: EgressPolicy | undefined, hasProxy?: boolean): string;
143
150
  /**
@@ -151,6 +158,45 @@ export declare function resolveNetwork(configured: string, egress: EgressPolicy
151
158
  export declare function resolveAllowedHosts(egress: EgressPolicy): Promise<readonly string[]>;
152
159
  /** Whether a policy needs a boundary before it can be enforced at all. */
153
160
  export declare function needsEgressProxy(egress: EgressPolicy | undefined): boolean;
161
+ /**
162
+ * Whether the daemon says a network has no route out.
163
+ *
164
+ * Takes the raw `docker network inspect --format '{{.Internal}}'` output
165
+ * rather than reading it, so every decision below is testable without a
166
+ * daemon and the daemon call stays one line. Anything other than a literal
167
+ * `true` counts as "not internal": an unreadable answer is not evidence of
168
+ * a boundary.
169
+ */
170
+ export declare function isInternalNetwork(inspectedInternalFlag: string): boolean;
171
+ /**
172
+ * Refuse a container whose network cannot do what was asked of it.
173
+ *
174
+ * Two requirements meet on the same object here, and both were previously
175
+ * unstated — which is how the backend came to ship a default configuration
176
+ * that could not create a sandbox at all:
177
+ *
178
+ * - **A published host port needs a route out.** Docker binds the port by
179
+ * NAT to the container's address, so a container with no address gets no
180
+ * binding. Measured against Docker 29.6: `--network none --publish
181
+ * 127.0.0.1::2024` is *accepted*, `NetworkSettings.Ports` comes back
182
+ * `{"2024/tcp":[]}`, and `docker port` prints nothing. An `--internal`
183
+ * network behaves the same way. The port readback then failed with
184
+ * `index of untyped nil` and reported it as "the container exited
185
+ * immediately" — blaming a container that was alive and well.
186
+ * - **`deny-all` needs a network with no route out.** Since it no longer
187
+ * answers `--network none`, the configured name is all that stands
188
+ * between the policy and ordinary outbound networking, and a name says
189
+ * nothing. `deny-all` pointed at the default bridge would be full egress
190
+ * under a policy object claiming none — the "accepted and silently
191
+ * ignored" failure the rest of this file exists to refuse.
192
+ *
193
+ * They are exact opposites, so `deny-all` over a published host port is
194
+ * impossible rather than merely unsupported: no arrangement of docker
195
+ * networking both denies all egress and lets the host reach the worker over
196
+ * TCP. Closing that needs the control channel moved off TCP — see #398 —
197
+ * and is not a flag this function could accept.
198
+ */
199
+ export declare function assertNetworkCarriesThePolicy(network: string, reachability: 'host-port' | 'container-network', egress: EgressPolicy | undefined, inspectedInternalFlag: string): void;
154
200
  /**
155
201
  * The options the boundary is built from, as a value.
156
202
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/docker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EACN,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EAenC,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EACX,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAA;IAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAE9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAE5D;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAE3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC5C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAAA;IAC7D;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAClD;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,2BAA2B,GAAG,cAAc,CAQtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,QAAQ,UAAQ,GACd,MAAM,CAmBR;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAM1F;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,qBAAqB,GAAG,gBAAgB,CAAC,EACnF,MAAM,EAAE,YAAY,GAClB,kBAAkB,CASpB;AA0jBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,8BAA8B,CAmI5F;AAkCD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,EAAE,CA+BtF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,CAUvF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,CAKxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/docker/index.ts"],"names":[],"mappings":"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"}
@@ -47,17 +47,23 @@ export function buildDockerBackend(config) {
47
47
  *
48
48
  * The policy used to be accepted and silently ignored, which is worse than
49
49
  * not supporting it: a host that set `deny-all` believed the container had
50
- * no network and it had the configured one. Docker can enforce `deny-all`
51
- * natively (`--network none`); it cannot enforce a host allowlist without
52
- * a proxy this backend does not have, so those policies are REFUSED rather
53
- * than quietly downgraded to "allow everything".
50
+ * no network and it had the configured one. It cannot enforce a host
51
+ * allowlist without a proxy this backend does not have, so those policies
52
+ * are REFUSED rather than quietly downgraded to "allow everything".
53
+ *
54
+ * `deny-all` used to answer `'none'`, which reads as the strictest possible
55
+ * answer and produced a sandbox nobody could reach. `--network none`
56
+ * removes every interface, and this backend's control channel is inbound
57
+ * TCP to the worker — so removing the interfaces removes the way IN, not
58
+ * just the way out. It now keeps the configured network, and
59
+ * {@link assertNetworkCarriesThePolicy} is what makes that network a
60
+ * boundary.
54
61
  */
55
62
  export function resolveNetwork(configured, egress, hasProxy = false) {
56
63
  if (!egress)
57
64
  return configured;
58
65
  switch (egress.kind) {
59
66
  case 'deny-all':
60
- return 'none';
61
67
  case 'allow-all':
62
68
  return configured;
63
69
  default:
@@ -90,6 +96,55 @@ export async function resolveAllowedHosts(egress) {
90
96
  export function needsEgressProxy(egress) {
91
97
  return egress?.kind === 'static' || egress?.kind === 'resolver';
92
98
  }
99
+ /**
100
+ * Whether the daemon says a network has no route out.
101
+ *
102
+ * Takes the raw `docker network inspect --format '{{.Internal}}'` output
103
+ * rather than reading it, so every decision below is testable without a
104
+ * daemon and the daemon call stays one line. Anything other than a literal
105
+ * `true` counts as "not internal": an unreadable answer is not evidence of
106
+ * a boundary.
107
+ */
108
+ export function isInternalNetwork(inspectedInternalFlag) {
109
+ return inspectedInternalFlag.trim() === 'true';
110
+ }
111
+ /**
112
+ * Refuse a container whose network cannot do what was asked of it.
113
+ *
114
+ * Two requirements meet on the same object here, and both were previously
115
+ * unstated — which is how the backend came to ship a default configuration
116
+ * that could not create a sandbox at all:
117
+ *
118
+ * - **A published host port needs a route out.** Docker binds the port by
119
+ * NAT to the container's address, so a container with no address gets no
120
+ * binding. Measured against Docker 29.6: `--network none --publish
121
+ * 127.0.0.1::2024` is *accepted*, `NetworkSettings.Ports` comes back
122
+ * `{"2024/tcp":[]}`, and `docker port` prints nothing. An `--internal`
123
+ * network behaves the same way. The port readback then failed with
124
+ * `index of untyped nil` and reported it as "the container exited
125
+ * immediately" — blaming a container that was alive and well.
126
+ * - **`deny-all` needs a network with no route out.** Since it no longer
127
+ * answers `--network none`, the configured name is all that stands
128
+ * between the policy and ordinary outbound networking, and a name says
129
+ * nothing. `deny-all` pointed at the default bridge would be full egress
130
+ * under a policy object claiming none — the "accepted and silently
131
+ * ignored" failure the rest of this file exists to refuse.
132
+ *
133
+ * They are exact opposites, so `deny-all` over a published host port is
134
+ * impossible rather than merely unsupported: no arrangement of docker
135
+ * networking both denies all egress and lets the host reach the worker over
136
+ * TCP. Closing that needs the control channel moved off TCP — see #398 —
137
+ * and is not a flag this function could accept.
138
+ */
139
+ export function assertNetworkCarriesThePolicy(network, reachability, egress, inspectedInternalFlag) {
140
+ const internal = isInternalNetwork(inspectedInternalFlag);
141
+ if (reachability === 'host-port' && (network === 'none' || internal)) {
142
+ throw new Error(`The docker sandbox backend cannot publish the worker's port on network '${network}': docker binds a published port to the container's address, and a container with no route out has no address to bind to, so nothing is published and the sandbox is unreachable. Either give config.network a bridge that has one, or set hostReachability: 'container-network' and reach the worker by container name. Refusing rather than starting a container nobody can reach.`);
143
+ }
144
+ if (egress?.kind === 'deny-all' && !internal) {
145
+ throw new Error(`The docker sandbox backend was asked for an egress policy of 'deny-all' on network '${network}', but that network is not internal, so the container can still reach the world. Create it with 'docker network create --internal ${network}' — an internal bridge denies egress in the kernel, rather than through an environment variable a workload may decline to read, while sibling containers still reach the worker by name. Refusing rather than reporting a boundary that is not there.`);
146
+ }
147
+ }
93
148
  /**
94
149
  * The options the boundary is built from, as a value.
95
150
  *
@@ -122,6 +177,30 @@ export function egressProxyOptions(config, policy) {
122
177
  * `--cap-drop=ALL` is deliberately not softened by a re-add list: a
123
178
  * workload that genuinely needs a capability should say so through
124
179
  * `extraRunArgs` and be visible in review.
180
+ *
181
+ * **It carries a second, independent load, and this is the one that would
182
+ * survive being forgotten.** An egress policy of `deny-all` is enforced by
183
+ * the container's network being `--internal`, which gives it no route out.
184
+ * Measured against Docker 29.6: a container on such a network has only its
185
+ * own subnet in `ip route` and no default, and `ip route add default via
186
+ * <a sibling>` answers `RTNETLINK answers: Operation not permitted` —
187
+ * already, with docker's DEFAULT capability set, before this flag is
188
+ * applied. `NET_ADMIN` is what would lift that, and dropping every
189
+ * capability is what guarantees the workload does not have it.
190
+ *
191
+ * So the internal network removes the route and this flag removes the
192
+ * ability to put one back. Both are needed. Measured on a container given
193
+ * `--cap-add=NET_ADMIN`, adding the route and reaching a sibling attached
194
+ * to an external bridge produces `download timed out` rather than
195
+ * `Network unreachable` — the route existed, the packet left, and the
196
+ * dual-homed sibling forwarded it (`net.ipv4.ip_forward` is `1` inside a
197
+ * container). Nothing masquerades the internal subnet so no reply finds its
198
+ * way back and no connection establishes, **but that is not a security
199
+ * property**: one-way egress is sufficient for exfiltration, and what was
200
+ * measured is that the handshake fails, not that the packet was dropped.
201
+ *
202
+ * Recorded here because the first justification above would survive
203
+ * softening this flag and the second would not.
125
204
  */
126
205
  const HARDENING_ARGS = ['--cap-drop=ALL', '--security-opt=no-new-privileges'];
127
206
  /** Name the container reaches the host-side egress proxy by. */
@@ -139,9 +218,25 @@ async function spawnDockerSandbox(config, options) {
139
218
  const policy = options.egress;
140
219
  egressProxy = await new EgressProxy(egressProxyOptions(config, policy)).listen();
141
220
  }
221
+ const hostReachability = config.hostReachability ?? 'host-port';
142
222
  const network = resolveNetwork(config.network ?? 'none', options.egress, egressProxy !== undefined);
223
+ // Whether this network can carry the reachability mode and the policy is
224
+ // a fact about the network, so it is checked against the daemon rather
225
+ // than inferred from its name. Before the container starts on purpose: a
226
+ // refusal here is a wiring mistake and must not arrive dressed as a
227
+ // container that failed to come up, which is exactly how it used to
228
+ // arrive.
229
+ try {
230
+ assertNetworkCarriesThePolicy(network, hostReachability, options.egress, await inspectNetworkInternalFlag(docker, network));
231
+ }
232
+ catch (err) {
233
+ // The allowlist kinds start a proxy above, and this is outside the
234
+ // try/catch that owns teardown — so without this the refusal would
235
+ // leave a listening server on loopback stamping real credentials.
236
+ await egressProxy?.close().catch(() => undefined);
237
+ throw err;
238
+ }
143
239
  const runtime = config.runtime;
144
- const hostReachability = config.hostReachability ?? 'host-port';
145
240
  const containerName = `namzu-sandbox-${id}`;
146
241
  // All bind sources come from the consumer-supplied layout. The
147
242
  // backend never allocates host directories and never removes them
@@ -563,6 +658,23 @@ function runOnce(binary, args) {
563
658
  });
564
659
  });
565
660
  }
661
+ /**
662
+ * Read a network's `Internal` flag from the daemon.
663
+ *
664
+ * A network that does not exist, or a daemon that is down, comes back as the
665
+ * empty string rather than throwing, so {@link assertNetworkCarriesThePolicy}
666
+ * refuses it for the reason the caller actually cares about — "this is not
667
+ * a boundary" — instead of surfacing a docker CLI error that says nothing
668
+ * about the egress policy that prompted the lookup.
669
+ */
670
+ async function inspectNetworkInternalFlag(docker, network) {
671
+ try {
672
+ return await runOnce(docker, ['network', 'inspect', '--format', '{{.Internal}}', network]);
673
+ }
674
+ catch {
675
+ return '';
676
+ }
677
+ }
566
678
  function runOnceQuiet(binary, args) {
567
679
  return new Promise((resolve) => {
568
680
  const child = spawn(binary, args, { stdio: 'ignore' });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/docker/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/docker/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -148,11 +148,19 @@ export interface ContainerBackendConfig {
148
148
  readonly hostReachability?: 'host-port' | 'container-network';
149
149
  /**
150
150
  * Docker network the spawned container attaches to. Default
151
- * `'none'` (no inbound or outbound network). Set to a docker
152
- * bridge name when `hostReachability='container-network'` so the
153
- * SDK consumer (also on that bridge) can reach the worker by
154
- * container DNS name. Egress from the sandbox is governed
155
- * separately by `EgressPolicy`.
151
+ * `'none'` (no inbound or outbound network).
152
+ *
153
+ * **The default does not work with the default `hostReachability`,
154
+ * and `create()` refuses rather than starting a container nobody can
155
+ * reach.** Docker binds a published port to the container's address,
156
+ * so a container with no route out has no address to bind to and
157
+ * nothing is published. Name a bridge here to reach the worker by host
158
+ * port, or set `hostReachability: 'container-network'` and reach it by
159
+ * container name — that mode works on an `--internal` network, which
160
+ * is also the only way to get `deny-all` enforced.
161
+ *
162
+ * Egress from the sandbox is governed separately by `EgressPolicy`,
163
+ * which is checked against this network rather than trusted.
156
164
  */
157
165
  readonly network?: 'none' | 'bridge' | string;
158
166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AASH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAazE,qEAAqE;AACrE,2DAA2D;AAC3D,iEAAiE;AACjE,6DAA6D;AAC7D,oEAAoE;AACpE,OAAO,EACN,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,gCAAgC,EAChC,4BAA4B,GAC5B,MAAM,YAAY,CAAA;AAUnB,OAAO,EAGN,mBAAmB,GACnB,MAAM,qCAAqC,CAAA;AAqR5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACN,WAAW,EACX,aAAa,EACb,cAAc,GACd,MAAM,mBAAmB,CAAA;AAmH1B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IAClE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,SAAS,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;IAClD,MAAM,IAAI,GAAG,mBAAmB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;IACjE,OAAO;QACN,EAAE;QACF,IAAI;QACJ,WAAW,EAAE,OAAO;QACpB,KAAK,CAAC,MAAM,CAAC,OAA6B;YACzC,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC;gBAC3B,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,YAAY;gBAC3D,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;oBAClC,CAAC,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;wBACtC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE;wBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;oBAC1C,CAAC,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;wBAC1C,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS;oBACtC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;oBACxC,CAAC,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS;wBACzC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,mBAAmB,EAAE;wBAC9C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAA;QACH,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,MAA6B;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChF,0DAA0D;QAC1D,yDAAyD;QACzD,aAAa;QACb,MAAM,MAAM,GAAI,MAA6E;aAC3F,MAAM,CAAA;QACR,gEAAgE;QAChE,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,kBAAkB,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,QAAQ;YAChB,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC,CAAA;IACH,CAAC;IACD,IACC,OAAO,CAAC,IAAI,KAAK,WAAW;QAC3B,OAA2C,CAAC,OAAO,KAAK,kBAAkB,EAC1E,CAAC;QACF,MAAM,UAAU,GAAG,OAAiD,CAAA;QACpE,MAAM,MAAM,GAAI,MAA6E;aAC3F,MAAM,CAAA;QACR,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,0BAA0B,CAAC;YACjC,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,+BAA+B,EAAE,UAAU,CAAC,+BAA+B;YAC3E,GAAG,CAAC,UAAU,CAAC,6BAA6B,KAAK,SAAS;gBACzD,CAAC,CAAC,EAAE,6BAA6B,EAAE,UAAU,CAAC,6BAA6B,EAAE;gBAC7E,CAAC,CAAC,EAAE,CAAC;YACN,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE;gBACzD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS;gBAC1C,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,UAAU,CAAC,aAAa,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE;gBACzD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACjE,MAAM,MAAM,GAAI,MAA6E;aAC3F,MAAM,CAAA;QACR,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,kBAAkB,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO;YAChB,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC,CAAA;IACH,CAAC;IACD,8DAA8D;IAC9D,mEAAmE;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,6DAA6D;IAC7D,IACC,OAAO,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,CAAC,OAAO,KAAK,aAAa;QACjC,OAAO,CAAC,oBAAoB,KAAK,SAAS;QAC1C,OAAO,CAAC,QAAQ,KAAK,SAAS,EAC7B,CAAC;QACF,OAAO,uBAAuB,CAAC;YAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;gBAC5C,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,iCAAiC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAA4B;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,WAAW,MAAM,CAAC,OAAO,EAAE,CAAA;IACjE,OAAO,aAAa,MAAM,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAA;AACjD,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAG/B;IAFV,IAAI,GAAG,mCAAmC,CAAA;IAE5D,YAA4B,OAAe;QAC1C,KAAK,CACJ,oBAAoB,OAAO,2FAA2F,CACtH,CAAA;QAH0B,YAAO,GAAP,OAAO,CAAQ;IAI3C,CAAC;CACD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IAI9C;IAHC,IAAI,GAAG,uCAAuC,CAAA;IAEhE,YACiB,OAA0B,EAC1C,OAA6B;QAE7B,KAAK,CACJ,mCAAmC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvD,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CACnE,CAAA;QANe,YAAO,GAAP,OAAO,CAAmB;IAO3C,CAAC;IAED,MAAM;QAML,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAA;IACF,CAAC;CACD;AAsDD;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAChE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;IAC1E,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAA;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAA;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC3D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACpD,CAAC;IACD,6DAA6D;IAC7D,gEAAgE;IAChE,gDAAgD;IAChD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IACjD,OAAO,kBAAkB,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,IAAqB;IAC9D,iEAAiE;IACjE,gEAAgE;IAChE,8DAA8D;IAC9D,iDAAiD;IACjD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;YAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;QACD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;IAC5D,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEb,MAAM,GAAG,GAML;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;KACpB,CAAA;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IAClD,IAAI,GAAG,YAAY,qCAAqC,EAAE,CAAC;QAC1D,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC1B,CAAC;IACD,gEAAgE;IAChE,8DAA8D;IAC9D,kEAAkE;IAClE,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sandbox",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "Pluggable sandbox provider for @namzu/sdk. Process-level isolation (bubblewrap on Linux, Seatbelt on macOS, via @anthropic-ai/sandbox-runtime) for developer dev loops; container-level isolation (HTTP worker + a loopback-bound egress proxy that allows by resolved address and brokers outbound credentials so they never enter the sandbox) for multi-tenant production. Backend selected at construction time; the SDK consumes both through the same SandboxProvider interface.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "@types/node": "^22.19.17",
51
51
  "typescript": "^5.5.0",
52
52
  "vitest": "^3.2.6",
53
- "@namzu/sdk": "^26.1.0"
53
+ "@namzu/sdk": "^27.1.0"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "tsc --build",
@@ -59,7 +59,7 @@
59
59
  "lint:fix": "biome check --write src/",
60
60
  "format": "biome format --write src/",
61
61
  "test": "vitest run --passWithNoTests",
62
- "test:smoke": "vitest run --passWithNoTests src/**/*.smoke.test.ts",
62
+ "test:smoke": "vitest run --config vitest.smoke.config.ts",
63
63
  "typecheck": "tsc --noEmit"
64
64
  }
65
65
  }
@@ -186,10 +186,17 @@ export function buildDockerBackend(config: DockerBackendInternalConfig): Sandbox
186
186
  *
187
187
  * The policy used to be accepted and silently ignored, which is worse than
188
188
  * not supporting it: a host that set `deny-all` believed the container had
189
- * no network and it had the configured one. Docker can enforce `deny-all`
190
- * natively (`--network none`); it cannot enforce a host allowlist without
191
- * a proxy this backend does not have, so those policies are REFUSED rather
192
- * than quietly downgraded to "allow everything".
189
+ * no network and it had the configured one. It cannot enforce a host
190
+ * allowlist without a proxy this backend does not have, so those policies
191
+ * are REFUSED rather than quietly downgraded to "allow everything".
192
+ *
193
+ * `deny-all` used to answer `'none'`, which reads as the strictest possible
194
+ * answer and produced a sandbox nobody could reach. `--network none`
195
+ * removes every interface, and this backend's control channel is inbound
196
+ * TCP to the worker — so removing the interfaces removes the way IN, not
197
+ * just the way out. It now keeps the configured network, and
198
+ * {@link assertNetworkCarriesThePolicy} is what makes that network a
199
+ * boundary.
193
200
  */
194
201
  export function resolveNetwork(
195
202
  configured: string,
@@ -200,7 +207,6 @@ export function resolveNetwork(
200
207
 
201
208
  switch (egress.kind) {
202
209
  case 'deny-all':
203
- return 'none'
204
210
  case 'allow-all':
205
211
  return configured
206
212
  default:
@@ -237,6 +243,68 @@ export function needsEgressProxy(egress: EgressPolicy | undefined): boolean {
237
243
  return egress?.kind === 'static' || egress?.kind === 'resolver'
238
244
  }
239
245
 
246
+ /**
247
+ * Whether the daemon says a network has no route out.
248
+ *
249
+ * Takes the raw `docker network inspect --format '{{.Internal}}'` output
250
+ * rather than reading it, so every decision below is testable without a
251
+ * daemon and the daemon call stays one line. Anything other than a literal
252
+ * `true` counts as "not internal": an unreadable answer is not evidence of
253
+ * a boundary.
254
+ */
255
+ export function isInternalNetwork(inspectedInternalFlag: string): boolean {
256
+ return inspectedInternalFlag.trim() === 'true'
257
+ }
258
+
259
+ /**
260
+ * Refuse a container whose network cannot do what was asked of it.
261
+ *
262
+ * Two requirements meet on the same object here, and both were previously
263
+ * unstated — which is how the backend came to ship a default configuration
264
+ * that could not create a sandbox at all:
265
+ *
266
+ * - **A published host port needs a route out.** Docker binds the port by
267
+ * NAT to the container's address, so a container with no address gets no
268
+ * binding. Measured against Docker 29.6: `--network none --publish
269
+ * 127.0.0.1::2024` is *accepted*, `NetworkSettings.Ports` comes back
270
+ * `{"2024/tcp":[]}`, and `docker port` prints nothing. An `--internal`
271
+ * network behaves the same way. The port readback then failed with
272
+ * `index of untyped nil` and reported it as "the container exited
273
+ * immediately" — blaming a container that was alive and well.
274
+ * - **`deny-all` needs a network with no route out.** Since it no longer
275
+ * answers `--network none`, the configured name is all that stands
276
+ * between the policy and ordinary outbound networking, and a name says
277
+ * nothing. `deny-all` pointed at the default bridge would be full egress
278
+ * under a policy object claiming none — the "accepted and silently
279
+ * ignored" failure the rest of this file exists to refuse.
280
+ *
281
+ * They are exact opposites, so `deny-all` over a published host port is
282
+ * impossible rather than merely unsupported: no arrangement of docker
283
+ * networking both denies all egress and lets the host reach the worker over
284
+ * TCP. Closing that needs the control channel moved off TCP — see #398 —
285
+ * and is not a flag this function could accept.
286
+ */
287
+ export function assertNetworkCarriesThePolicy(
288
+ network: string,
289
+ reachability: 'host-port' | 'container-network',
290
+ egress: EgressPolicy | undefined,
291
+ inspectedInternalFlag: string,
292
+ ): void {
293
+ const internal = isInternalNetwork(inspectedInternalFlag)
294
+
295
+ if (reachability === 'host-port' && (network === 'none' || internal)) {
296
+ throw new Error(
297
+ `The docker sandbox backend cannot publish the worker's port on network '${network}': docker binds a published port to the container's address, and a container with no route out has no address to bind to, so nothing is published and the sandbox is unreachable. Either give config.network a bridge that has one, or set hostReachability: 'container-network' and reach the worker by container name. Refusing rather than starting a container nobody can reach.`,
298
+ )
299
+ }
300
+
301
+ if (egress?.kind === 'deny-all' && !internal) {
302
+ throw new Error(
303
+ `The docker sandbox backend was asked for an egress policy of 'deny-all' on network '${network}', but that network is not internal, so the container can still reach the world. Create it with 'docker network create --internal ${network}' — an internal bridge denies egress in the kernel, rather than through an environment variable a workload may decline to read, while sibling containers still reach the worker by name. Refusing rather than reporting a boundary that is not there.`,
304
+ )
305
+ }
306
+ }
307
+
240
308
  /**
241
309
  * The options the boundary is built from, as a value.
242
310
  *
@@ -273,6 +341,30 @@ export function egressProxyOptions(
273
341
  * `--cap-drop=ALL` is deliberately not softened by a re-add list: a
274
342
  * workload that genuinely needs a capability should say so through
275
343
  * `extraRunArgs` and be visible in review.
344
+ *
345
+ * **It carries a second, independent load, and this is the one that would
346
+ * survive being forgotten.** An egress policy of `deny-all` is enforced by
347
+ * the container's network being `--internal`, which gives it no route out.
348
+ * Measured against Docker 29.6: a container on such a network has only its
349
+ * own subnet in `ip route` and no default, and `ip route add default via
350
+ * <a sibling>` answers `RTNETLINK answers: Operation not permitted` —
351
+ * already, with docker's DEFAULT capability set, before this flag is
352
+ * applied. `NET_ADMIN` is what would lift that, and dropping every
353
+ * capability is what guarantees the workload does not have it.
354
+ *
355
+ * So the internal network removes the route and this flag removes the
356
+ * ability to put one back. Both are needed. Measured on a container given
357
+ * `--cap-add=NET_ADMIN`, adding the route and reaching a sibling attached
358
+ * to an external bridge produces `download timed out` rather than
359
+ * `Network unreachable` — the route existed, the packet left, and the
360
+ * dual-homed sibling forwarded it (`net.ipv4.ip_forward` is `1` inside a
361
+ * container). Nothing masquerades the internal subnet so no reply finds its
362
+ * way back and no connection establishes, **but that is not a security
363
+ * property**: one-way egress is sufficient for exfiltration, and what was
364
+ * measured is that the handshake fails, not that the packet was dropped.
365
+ *
366
+ * Recorded here because the first justification above would survive
367
+ * softening this flag and the second would not.
276
368
  */
277
369
  const HARDENING_ARGS: readonly string[] = ['--cap-drop=ALL', '--security-opt=no-new-privileges']
278
370
 
@@ -297,13 +389,33 @@ async function spawnDockerSandbox(
297
389
  egressProxy = await new EgressProxy(egressProxyOptions(config, policy)).listen()
298
390
  }
299
391
 
392
+ const hostReachability = config.hostReachability ?? 'host-port'
300
393
  const network = resolveNetwork(
301
394
  config.network ?? 'none',
302
395
  options.egress,
303
396
  egressProxy !== undefined,
304
397
  )
398
+ // Whether this network can carry the reachability mode and the policy is
399
+ // a fact about the network, so it is checked against the daemon rather
400
+ // than inferred from its name. Before the container starts on purpose: a
401
+ // refusal here is a wiring mistake and must not arrive dressed as a
402
+ // container that failed to come up, which is exactly how it used to
403
+ // arrive.
404
+ try {
405
+ assertNetworkCarriesThePolicy(
406
+ network,
407
+ hostReachability,
408
+ options.egress,
409
+ await inspectNetworkInternalFlag(docker, network),
410
+ )
411
+ } catch (err) {
412
+ // The allowlist kinds start a proxy above, and this is outside the
413
+ // try/catch that owns teardown — so without this the refusal would
414
+ // leave a listening server on loopback stamping real credentials.
415
+ await egressProxy?.close().catch(() => undefined)
416
+ throw err
417
+ }
305
418
  const runtime = config.runtime
306
- const hostReachability = config.hostReachability ?? 'host-port'
307
419
  const containerName = `namzu-sandbox-${id}`
308
420
 
309
421
  // All bind sources come from the consumer-supplied layout. The
@@ -806,6 +918,23 @@ function runOnce(binary: string, args: string[]): Promise<string> {
806
918
  })
807
919
  }
808
920
 
921
+ /**
922
+ * Read a network's `Internal` flag from the daemon.
923
+ *
924
+ * A network that does not exist, or a daemon that is down, comes back as the
925
+ * empty string rather than throwing, so {@link assertNetworkCarriesThePolicy}
926
+ * refuses it for the reason the caller actually cares about — "this is not
927
+ * a boundary" — instead of surfacing a docker CLI error that says nothing
928
+ * about the egress policy that prompted the lookup.
929
+ */
930
+ async function inspectNetworkInternalFlag(docker: string, network: string): Promise<string> {
931
+ try {
932
+ return await runOnce(docker, ['network', 'inspect', '--format', '{{.Internal}}', network])
933
+ } catch {
934
+ return ''
935
+ }
936
+ }
937
+
809
938
  function runOnceQuiet(binary: string, args: string[]): Promise<void> {
810
939
  return new Promise((resolve) => {
811
940
  const child = spawn(binary, args, { stdio: 'ignore' })
package/src/index.ts CHANGED
@@ -203,11 +203,19 @@ export interface ContainerBackendConfig {
203
203
  readonly hostReachability?: 'host-port' | 'container-network'
204
204
  /**
205
205
  * Docker network the spawned container attaches to. Default
206
- * `'none'` (no inbound or outbound network). Set to a docker
207
- * bridge name when `hostReachability='container-network'` so the
208
- * SDK consumer (also on that bridge) can reach the worker by
209
- * container DNS name. Egress from the sandbox is governed
210
- * separately by `EgressPolicy`.
206
+ * `'none'` (no inbound or outbound network).
207
+ *
208
+ * **The default does not work with the default `hostReachability`,
209
+ * and `create()` refuses rather than starting a container nobody can
210
+ * reach.** Docker binds a published port to the container's address,
211
+ * so a container with no route out has no address to bind to and
212
+ * nothing is published. Name a bridge here to reach the worker by host
213
+ * port, or set `hostReachability: 'container-network'` and reach it by
214
+ * container name — that mode works on an `--internal` network, which
215
+ * is also the only way to get `deny-all` enforced.
216
+ *
217
+ * Egress from the sandbox is governed separately by `EgressPolicy`,
218
+ * which is checked against this network rather than trusted.
211
219
  */
212
220
  readonly network?: 'none' | 'bridge' | string
213
221
  /**