github / github/gh-aw

[domains-audit] Claude default domains include telemetry, package mirrors, PKI, and Playwright hosts

Open
#57,408 60 comments 0 reactions 0 assignees View on GitHub
cookie security
Dominant language
Go
Stars
5.1k
Forks
541
Avg merge
5h 46m
Merged PRs (30d)
760

Description

### Summary

`ClaudeDefaultDomains` currently includes 51 domains that are far broader than a minimal gateway/GitHub transport baseline. The set contains vendor telemetry and feature-flag hosts (`sentry.io`, `statsig.anthropic.com`), OS/package mirror endpoints (`archive.ubuntu.com`, `api.snapcraft.io`, `ppa.launchpad.net`, `packagecloud.io`), PKI hosts (`crl.geotrust.com`, `ocsp.digicert.com`), and Playwright download/CDN endpoints (`cdn.playwright.dev`, `playwright.download.prss.microsoft.com`). Because agents run behind the AWF/MCP gateway, these should be opt-in through dedicated ecosystem or feature sets rather than unconditional engine defaults.

### Affected sets

| Set | Domain | Bucket | File:line |
|---|---|---|---|
| `ClaudeDefaultDomains` | `sentry.io` | vendor-telemetry | `pkg/workflow/data/ecosystem_domains.json:323` |
| `ClaudeDefaultDomains` | `statsig.anthropic.com` | vendor-telemetry | `pkg/workflow/data/ecosystem_domains.json:324` |
| `ClaudeDefaultDomains` | `archive.ubuntu.com` | os-packages | `pkg/workflow/data/ecosystem_domains.json:281` |
| `ClaudeDefaultDomains` | `cdn.playwright.dev` | tooling-download | `pkg/workflow/data/ecosystem_domains.json:283` |
| `ClaudeDefaultDomains` | `crl.geotrust.com` | pki | `pkg/workflow/data/ecosystem_domains.json:285` |
| `ClaudeDefaultDomains` | `ghcr.io` | unclear | `pkg/workflow/data/ecosystem_domains.json:295` |

### Why this is suspicious

The shared-baseline comments in `pkg/workflow/domains.go:116-123` describe engine defaults as a gateway/GitHub transport baseline. Claude’s list is much broader and overlaps ecosystem sets directly: 34 domains overlap `defaults`, 8 overlap `github`, 2 overlap `playwright`, and 1 overlaps `containers`. Those are the exact kinds of domains that should be gated behind explicit `network.allowed` or runtime opt-in rather than included in the engine default allow-list.

### Suggested change

1. Trim `ClaudeDefaultDomains` back to the gateway/GitHub/model-API baseline, leaving vendor telemetry, package mirrors, PKI, and Playwright endpoints to dedicated opt-in sets.
2. Keep only the minimal transport hosts needed for Claude Code operation (for example `host.docker.internal`, `api.github.com`, and `api.anthropic.com`), and let `defaults`, `github`, `playwright`, and `containers` remain explicit opt-ins.
3. Add a regression test that asserts these categories are absent from `ClaudeDefaultDomains` unless the workflow explicitly enables them.

### Verification

Closest coverage currently lives in `pkg/workflow/domains_package_registry_test.go` and `pkg/workflow/http_mcp_domains_test.go`: package-registry overlap is already guarded, and Playwright domains are only expected when the Playwright tool is configured. There is no equivalent guard for Claude’s telemetry/package-mirror/PKI entries, so this issue should be covered by a new regression test that asserts those domains are absent from `ClaudeDefaultDomains` unless explicitly opted in.

> [!WARNING]
>
> Firewall blocked 2 domains
>
> The following domains were blocked by the firewall during workflow execution:
>
> - `ab.chatgpt.com`
> - `proxy.golang.org`
>
> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "ab.chatgpt.com"
> - "proxy.golang.org"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>

> Generated by [🌐 Weekly Network Domain Set Audit](https://github.com/github/gh-aw/actions/runs/33379192175) · codex · mai10 · 18.7 AIC · ⌖ 0.428 AIC · ⊞ 16.5K · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+is%3Aissue+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Fweekly-network-domains-audit%22&type=issues)

Contributor guide

Open the contributing guide

Research direction

Start with ClaudeDefaultDomains in pkg/workflow/data/ecosystem_domains.json and the shared-baseline comments in pkg/workflow/domains.go:116-123. Read pkg/workflow/domains_package_registry_test.go and pkg/workflow/http_mcp_domains_test.go, then add regression coverage for the listed telemetry, package, PKI, and Playwright domains. Done means those domains are absent from ClaudeDefaultDomains unless explicitly enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.