From c1ae9681f03f2734d87b14f8eebf6767e58300de Mon Sep 17 00:00:00 2001 From: SaladDay <1203511142@qq.com> Date: Wed, 28 Oct 2026 07:45:32 +0000 Subject: [PATCH 1/6] Drop the microsandbox network interims and accept *.suffix in the cap Create and restore both turn off strict hostname enforcement and DNS rebind protection, so the private pre-resolution and the restore address pins go. The cap accepts *.example.com for subdomains, enforced as a suffix allow behind an apex deny. --- .../src/features/sandbox/NetworkSettings.tsx | 2 +- apps/web/src/i18n/locales/zh-CN/sandbox.ts | 2 +- contracts/agents-api/environments.md | 7 +- contracts/agents-api/index.md | 2 +- contracts/agents-api/sandbox-deployment.md | 8 +- contracts/agents-api/zh/environments.md | 9 +- contracts/agents-api/zh/index.md | 4 +- contracts/agents-api/zh/sandbox-deployment.md | 10 +- deploy/node/node_spec.py | 2 +- docs/sandbox-provider.md | 6 +- docs/zh/sandbox-provider.md | 8 +- .../agents-client/src/deployment-contract.ts | 2 +- .../core/internal/execution/network_egress.go | 15 +- .../internal/execution/network_egress_test.go | 15 ++ services/core/internal/sandbox/network.go | 27 ++- .../core/internal/sandbox/network_test.go | 14 +- .../core/internal/sandbox/sandbox_provider.go | 6 +- .../sandbox/testdata/deployment-contract.json | 4 +- .../tools/microsandbox-provider/README.md | 2 +- .../tools/microsandbox-provider/backend.go | 7 +- .../tools/microsandbox-provider/bootstrap.go | 2 +- .../tools/microsandbox-provider/network.go | 186 ++++++------------ .../microsandbox-provider/network_test.go | 123 ++++-------- .../tools/microsandbox-provider/snapshot.go | 5 +- 24 files changed, 205 insertions(+), 263 deletions(-) diff --git a/apps/web/src/features/sandbox/NetworkSettings.tsx b/apps/web/src/features/sandbox/NetworkSettings.tsx index eea68a5cc..91a31e0cc 100644 --- a/apps/web/src/features/sandbox/NetworkSettings.tsx +++ b/apps/web/src/features/sandbox/NetworkSettings.tsx @@ -55,7 +55,7 @@ export function NetworkForm({ deployment, disabled, onSave }: { deployment: Sand
-
{support.private_domains ? t("One host name per line, such as gitlab.example.com, up to {{count}}. Sandboxes can reach these names, including names on your private network. Wildcards are not accepted.", { count: maxDomains }) : t("{{provider}} sandboxes run in the provider's cloud and cannot reach your private network.", { provider })}
+
{support.private_domains ? t("One host name per line, such as gitlab.example.com, up to {{count}}. Sandboxes can reach these names, including names on your private network. *.example.com allows its subdomains, not example.com itself.", { count: maxDomains }) : t("{{provider}} sandboxes run in the provider's cloud and cannot reach your private network.", { provider })}