Skip to content

Commit 158f305

Browse files
docs(site): update network isolation to reflect AWF strict topology (#1618)
1 parent 5ad7f63 commit 158f305

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

site/src/content/docs/reference/network.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ description: "Reference for AWF network isolation, allowed domains, ecosystem id
55

66
## Network Isolation (AWF)
77

8-
Network isolation is provided by AWF (Agentic Workflow Firewall), which provides L7 (HTTP/HTTPS) egress control using Squid proxy and Docker containers. AWF restricts network access to an allowlist of approved domains.
8+
Network isolation is provided by AWF (Agentic Workflow Firewall), which provides L7 (HTTP/HTTPS) egress filtering using a rootless Docker topology. AWF restricts network access to an allowlist of approved domains.
9+
10+
Generated pipelines run AWF in **strict topology mode**: both the Agent and Detection jobs invoke AWF rootlessly with `--network-isolation` — there is no `sudo`, `--enable-host-access`, or legacy-security fallback. The Agent additionally passes `--topology-attach awmg-mcpg` so the trusted MCP Gateway container is reachable inside AWF's internal network; the agent has no route to the build-agent host. Detection runs without MCPG attachment.
911

1012
The `ado-aw` compiler binary is distributed via [GitHub Releases](https://github.com/githubnext/ado-aw/releases) with SHA256 checksum verification. The AWF binary is distributed via [GitHub Releases](https://github.com/github/gh-aw-firewall/releases) with SHA256 checksum verification. Docker is sourced via the `DockerInstaller@0` ADO task.
1113

1214
## Default Allowed Domains
1315

14-
The following domains are always allowed. Most are defined in `CORE_ALLOWED_HOSTS` in `allowed_hosts.rs`; `host.docker.internal` is the exception — it is added by `generate_allowed_domains` (`src/compile/common.rs`) for any target that uses AWF (`standalone` and `1es` targets), but not for `job` or `stage` targets. AWF-sandboxed agents need `host.docker.internal` to reach MCPG and SafeOutputs MCP servers running on the host:
16+
The following domains are always allowed, defined in `CORE_ALLOWED_HOSTS` in `allowed_hosts.rs`. Under AWF's strict topology, `host.docker.internal` is deliberately **not** on this list — the agent has no route to the build-agent host, and SafeOutputs runs as a hardened sibling container inside MCPG, not as a host-side process:
1517

1618
| Host Pattern | Purpose |
1719
|-------------|---------|
@@ -47,7 +49,6 @@ The following domains are always allowed. Most are defined in `CORE_ALLOWED_HOST
4749
| `dc.services.visualstudio.com` | Visual Studio telemetry |
4850
| `rt.services.visualstudio.com` | Visual Studio runtime telemetry |
4951
| `config.edge.skype.com` | Configuration |
50-
| `host.docker.internal` | MCP Gateway (MCPG) and SafeOutputs on host — added for AWF targets (`standalone`, `1es`), not part of `CORE_ALLOWED_HOSTS` |
5152
| `aka.ms` | Microsoft link shortener (used by `az` subcommand help/metadata) — contributed by the always-on Azure CLI extension |
5253

5354
## Adding Additional Hosts
@@ -91,7 +92,7 @@ Additional ecosystems: `bazel`, `chrome`, `clojure`, `dart`, `deno`, `elixir`, `
9192

9293
The full domain lists are defined in `src/data/ecosystem_domains.json`.
9394

94-
All hosts (core + MCP-specific + ecosystem expansions + user-specified) are combined into a comma-separated domain list passed to AWF's `--allow-domains` flag.
95+
All hosts (core + ecosystem expansions + user-specified) are combined into a comma-separated domain list passed to AWF's `--allow-domains` flag.
9596

9697
### Blocking Hosts
9798

0 commit comments

Comments
 (0)