You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: site/src/content/docs/reference/network.mdx
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,15 @@ description: "Reference for AWF network isolation, allowed domains, ecosystem id
5
5
6
6
## Network Isolation (AWF)
7
7
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.
9
11
10
12
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.
11
13
12
14
## Default Allowed Domains
13
15
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:
15
17
16
18
| Host Pattern | Purpose |
17
19
|-------------|---------|
@@ -47,7 +49,6 @@ The following domains are always allowed. Most are defined in `CORE_ALLOWED_HOST
47
49
|`dc.services.visualstudio.com`| Visual Studio telemetry |
48
50
|`rt.services.visualstudio.com`| Visual Studio runtime telemetry |
49
51
|`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`|
51
52
|`aka.ms`| Microsoft link shortener (used by `az` subcommand help/metadata) — contributed by the always-on Azure CLI extension |
The full domain lists are defined in `src/data/ecosystem_domains.json`.
93
94
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.
0 commit comments