Make engine domain sets explicit opt-in - #56447
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot fix GO / impacted-go-tests (pull_request)Failing after 1m |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed in |
|
@copilot resolve the merge conflicts on this branch. |
There was a problem hiding this comment.
Pull request overview
Makes built-in engine domain sets explicit network.allowed opt-ins while preserving validation and threat-detection handling.
Changes:
- Removes automatic engine-domain merging and enables named set expansion.
- Aligns tests, schema, CLI help, and reference documentation.
- Regenerates affected workflow locks and WASM output.
Show a summary per file
| File | Description |
|---|---|
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden |
Updates WASM output. |
pkg/workflow/mcp_scripts_firewall_test.go |
Adds explicit Copilot opt-in. |
pkg/workflow/http_mcp_domains_test.go |
Updates engine-domain tests. |
pkg/workflow/firewall_workflow_test.go |
Opts Claude test into its set. |
pkg/workflow/firewall_args_test.go |
Opts firewall tests into Copilot. |
pkg/workflow/domains.go |
Implements explicit domain-set resolution. |
pkg/workflow/domains_test.go |
Tests opt-in behavior. |
pkg/workflow/domains_protocol_test.go |
Updates protocol-domain fixtures. |
pkg/workflow/compiler_cache_regression_test.go |
Updates cache fixtures. |
pkg/workflow/compiler_activation_steps_test.go |
Updates activation-domain fixture. |
pkg/workflow/codex_engine.go |
Uses explicit Codex domain resolution and refactors helpers. |
pkg/workflow/codex_engine_test.go |
Removes automatic-domain expectation. |
pkg/parser/schemas/main_workflow_schema.json |
Updates safe-output domain help. |
pkg/cli/domains_command.go |
Updates CLI domain terminology. |
pkg/cli/domains_command_test.go |
Tests empty implicit engine domains. |
pkg/cli/cli_consistency_help_test.go |
Updates CLI help assertion. |
docs/src/content/docs/reference/network.md |
Documents engine domain sets. |
docs/src/content/docs/reference/frontmatter-full.md |
Updates frontmatter reference. |
docs/adr/55461-centralize-engine-default-domain-sets.md |
Records superseded automatic injection. |
.github/workflows/weekly-network-domains-audit.lock.yml |
Regenerates domain allow-lists. |
.github/workflows/video-analyzer.lock.yml |
Regenerates domain allow-lists. |
.github/workflows/terminal-stylist.lock.yml |
Regenerates domain allow-lists. |
.github/workflows/smoke-pydantic.lock.yml |
Aligns sanitization with Python runtime domains. |
.github/workflows/smoke-copilot-auto.lock.yml |
Removes implicit engine domains. |
.github/workflows/smoke-ci.lock.yml |
Removes implicit engine domains. |
.github/workflows/smoke-aider.lock.yml |
Aligns Python sanitization domains. |
.github/workflows/notion-issue-summary.lock.yml |
Removes implicit engine domains. |
.github/workflows/metrics-collector.lock.yml |
Removes implicit engine domains. |
.github/workflows/example-permissions-warning.lock.yml |
Removes implicit engine domains. |
.github/workflows/daily-max-ai-credits-test.lock.yml |
Removes implicit allow-list output. |
.github/workflows/daily-go-test-stubs-aider.lock.yml |
Adds runtime-derived Python domains. |
.github/workflows/daily-credit-limit-test.lock.yml |
Removes implicit allow-list output. |
.github/workflows/daily-code-debt-aider.lock.yml |
Adds runtime-derived Python domains. |
.github/workflows/codex-github-remote-mcp-test.lock.yml |
Removes implicit Codex domains. |
.github/aw/network.md |
Updates internal network guidance. |
Review details
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Suppressed comments (1)
.github/aw/network.md:103
- This new explicit-opt-in guidance conflicts with
.github/aw/workflow-constraints.md:74, which still tells workflow authors thatdefaultssupplies core Copilot endpoints. After this change that advice omits the requiredcopilotset and can generate workflows with blocked direct transport; update the shared constraint guidance as part of this documentation migration.
- Files reviewed: 27/303 changed files
- Comments generated: 1
- Review effort level: Balanced
| and direct provider transport. They are **not** added automatically. Add the | ||
| matching identifier to `network.allowed` only when the agent needs direct |
…er-domain-set-handling # Conflicts: # .github/workflows/design-decision-gate.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Resolved in |
|
✅ Smoke Copilot Auto completed successfully!
|
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "ab.chatgpt.com"
- "chatgpt.com"See Network Configuration for more information.
|
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "clients2.google.com"
- "mtalk.google.com"See Network Configuration for more information.
|
|
❌ Tool validation failed! Agent Container Smoke Test detected missing tools: failed to deliver outputs Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "ab.chatgpt.com"
- "chatgpt.com"See Network Configuration for more information.
|
|
✅ Smoke Copilot MAI completed successfully!
|
|
Warning Threat Detection Engine Failure — The analysis engine could not complete. This is a tooling failure, not a security finding. What happenedThe threat detection engine failed to produce results. Review the workflow run logs for details.
|
|
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "proxy.golang.org"See Network Configuration for more information.
|
|
Gates once shut behind Caption: Inspired by the PR's shift from auto-merged engine domain sets to explicit, name-your-own opt-in domains in the firewall allow-list.
|
|
Smoke test summary: workflow/security hardening, docs updates, and multiple bug fixes landed in the last 24h.
|
Smoke Test Results — Run 33138018885
Overall: PARTIAL — 15 ✅, 1 ❌, 3 Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "clients2.google.com"
- "mtalk.google.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal! (Run 33138018885)
Warning
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
clients2.google.commtalk.google.com
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
network:
allowed:
- defaults
- "clients2.google.com"
- "mtalk.google.com"See Network Configuration for more information.
💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 66.7 AIC · ⌖ 18 AIC · ⊞ 7.2K
Comment /smoke-claude to run again
| | `python-native` | Python native build deps | Native toolchain mirrors for building Python packages from source | | ||
| | `copilot-vendor` | Copilot plan-specific APIs / telemetry | `api.business.githubcopilot.com`, `api.enterprise.githubcopilot.com`, `api.individual.githubcopilot.com`, `telemetry.enterprise.githubcopilot.com` | | ||
| | `copilot` | Copilot engine transport | `api.githubcopilot.com`, GitHub API/web, `host.docker.internal`, `raw.githubusercontent.com` | | ||
| | `claude` | Claude engine transport | Anthropic APIs, GitHub transport, certificate/OCSP services, Ubuntu package metadata, Playwright downloads | |
There was a problem hiding this comment.
🔍 Smoke test review comment #1 — The domain set additions look comprehensive. Consider adding a comment explaining the purpose of explicit opt-in for engine domain sets to help future contributors understand the design decision. (Run 33138018885)
| @@ -870,7 +870,7 @@ jobs: | |||
| export GH_AW_NODE_BIN | |||
| (umask 177 && touch /tmp/gh-aw/agent-stdio.log) | |||
There was a problem hiding this comment.
🔍 Smoke test review comment #2 — The domain allow-list update in the lock file reflects the new explicit opt-in approach. Confirm that the compiled output matches the source .github/aw/network.md intent. (Run 33138018885)
Agent engine domain sets were being added to firewall allow-lists automatically, even though agent traffic runs behind the API proxy firewall. Workflows should reference engine domain sets explicitly in frontmatter, like any other domain set.
Compiler behavior
Domain set resolution
copilot,claude, andcodexto resolve fromnetwork.allowed.Docs and generated outputs
Example:
copilotis now included only when listed explicitly.✨ PR Review Safe Output Test - Run 33138018885
Warning
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
clients2.google.commtalk.google.comTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.