Skip to content

Commit 6b49adc

Browse files
timrogersjc-clarkCopilot
authored
Document what hosts are allowed by Copilot coding agent's recommended firewall allowlist (#58187)
Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 4113953 commit 6b49adc

File tree

2 files changed

+352
-2
lines changed

2 files changed

+352
-2
lines changed

content/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ The agent firewall has important limitations that affect its security coverage.
4141

4242
These limitations mean that the firewall provides a layer of protection for common scenarios, but should not be considered a comprehensive security solution.
4343

44-
## Managing the recommended firewall allowlist
44+
## Understanding the recommended firewall allowlist
4545

4646
The recommended allowlist, enabled by default, allows access to:
4747

@@ -51,7 +51,11 @@ The recommended allowlist, enabled by default, allows access to:
5151
* Common certificate authorities (to allow SSL certificates to be validated).
5252
* Hosts used to download web browsers for the Playwright MCP server.
5353

54-
You can choose to turn off the recommended allowlist.
54+
For the complete list of hosts included in the recommended allowlist, see [AUTOTITLE](/copilot/reference/copilot-allowlist-reference#copilot-coding-agent-recommended-allowlist).
55+
56+
## Disabling the recommended allowlist
57+
58+
You can choose to turn off the recommended allowlist. Disabling the recommended allowlist is likely to increase the risk of unauthorized access to external resources.
5559

5660
{% data reusables.repositories.navigate-to-repo %}
5761
{% data reusables.repositories.sidebar-settings %}

content/copilot/reference/copilot-allowlist-reference.md

Lines changed: 346 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,352 @@ Depending on the security policies and editors your organization uses, you may n
4242

4343
Every user of the proxy server or firewall also needs to configure their own environment to connect to {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot).
4444

45+
## {% data variables.copilot.copilot_coding_agent %} recommended allowlist
46+
47+
The {% data variables.copilot.copilot_coding_agent %} includes a built-in firewall with a recommended allowlist that is enabled by default. The recommended allowlist allows access to:
48+
49+
* Common operating system package repositories (for example, Debian, Ubuntu, Red Hat).
50+
* Common container registries (for example, Docker Hub, Azure Container Registry, AWS Elastic Container Registry).
51+
* Packages registries used by popular programming languages (C#, Dart, Go, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Rust, Swift).
52+
* Common certificate authorities (to allow SSL certificates to be validated).
53+
* Hosts used to download web browsers for the Playwright MCP server.
54+
55+
For more information about configuring the {% data variables.copilot.copilot_coding_agent %} firewall, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall).
56+
57+
The allowlist allows access to the following hosts:
58+
59+
### Azure Infrastructure: Metadata Service
60+
61+
* `168.63.129.16`
62+
63+
### Certificate Authorities: DigiCert
64+
65+
* `crl3.digicert.com`
66+
* `crl4.digicert.com`
67+
* `ocsp.digicert.com`
68+
69+
### Certificate Authorities: Symantec
70+
71+
* `ts-crl.ws.symantec.com`
72+
* `ts-ocsp.ws.symantec.com`
73+
* `s.symcb.com`
74+
* `s.symcd.com`
75+
76+
### Certificate Authorities: GeoTrust
77+
78+
* `crl.geotrust.com`
79+
* `ocsp.geotrust.com`
80+
81+
### Certificate Authorities: Thawte
82+
83+
* `crl.thawte.com`
84+
* `ocsp.thawte.com`
85+
86+
### Certificate Authorities: VeriSign
87+
88+
* `crl.verisign.com`
89+
* `ocsp.verisign.com`
90+
91+
### Certificate Authorities: GlobalSign
92+
93+
* `crl.globalsign.com`
94+
* `ocsp.globalsign.com`
95+
96+
### Certificate Authorities: SSL.com
97+
98+
* `crls.ssl.com`
99+
* `ocsp.ssl.com`
100+
101+
### Certificate Authorities: IdenTrust
102+
103+
* `crl.identrust.com`
104+
* `ocsp.identrust.com`
105+
106+
### Certificate Authorities: Sectigo
107+
108+
* `crl.sectigo.com`
109+
* `ocsp.sectigo.com`
110+
111+
### Certificate Authorities: UserTrust
112+
113+
* `crl.usertrust.com`
114+
* `ocsp.usertrust.com`
115+
116+
### Container Registries: Docker
117+
118+
* `172.18.0.1`
119+
* `ghcr.io`
120+
* `registry.hub.docker.com`
121+
* `*.docker.io`
122+
* `*.docker.com`
123+
* `production.cloudflare.docker.com`
124+
* `auth.docker.io`
125+
* `quay.io`
126+
* `mcr.microsoft.com`
127+
* `gcr.io`
128+
* `public.ecr.aws`
129+
130+
### GitHub: Content & API
131+
132+
* `*.githubusercontent.com`
133+
* `raw.githubusercontent.com`
134+
* `objects.githubusercontent.com`
135+
* `lfs.github.com`
136+
* `github-cloud.githubusercontent.com`
137+
* `github-cloud.s3.amazonaws.com`
138+
* `codeload.github.com`
139+
* `scanning-api.github.com`
140+
* `api.mcp.github.com`
141+
* `uploads.github.com/copilot/chat/attachments/`
142+
143+
### GitHub: Actions Artifact Storage
144+
145+
* `productionresultssa0.blob.core.windows.net`
146+
* `productionresultssa1.blob.core.windows.net`
147+
* `productionresultssa2.blob.core.windows.net`
148+
* `productionresultssa3.blob.core.windows.net`
149+
* `productionresultssa4.blob.core.windows.net`
150+
* `productionresultssa5.blob.core.windows.net`
151+
* `productionresultssa6.blob.core.windows.net`
152+
* `productionresultssa7.blob.core.windows.net`
153+
* `productionresultssa8.blob.core.windows.net`
154+
* `productionresultssa9.blob.core.windows.net`
155+
* `productionresultssa10.blob.core.windows.net`
156+
* `productionresultssa11.blob.core.windows.net`
157+
* `productionresultssa12.blob.core.windows.net`
158+
* `productionresultssa13.blob.core.windows.net`
159+
* `productionresultssa14.blob.core.windows.net`
160+
* `productionresultssa15.blob.core.windows.net`
161+
* `productionresultssa16.blob.core.windows.net`
162+
* `productionresultssa17.blob.core.windows.net`
163+
* `productionresultssa18.blob.core.windows.net`
164+
* `productionresultssa19.blob.core.windows.net`
165+
166+
### Programming Languages & Package Managers: C# / .NET
167+
168+
* `nuget.org`
169+
* `dist.nuget.org`
170+
* `api.nuget.org`
171+
* `nuget.pkg.github.com`
172+
* `dotnet.microsoft.com`
173+
* `pkgs.dev.azure.com`
174+
* `builds.dotnet.microsoft.com`
175+
* `dotnetcli.blob.core.windows.net`
176+
* `nugetregistryv2prod.blob.core.windows.net`
177+
* `azuresearch-usnc.nuget.org`
178+
* `azuresearch-ussc.nuget.org`
179+
* `dc.services.visualstudio.com`
180+
* `dot.net`
181+
* `download.visualstudio.microsoft.com`
182+
* `dotnetcli.azureedge.net`
183+
* `ci.dot.net`
184+
* `www.microsoft.com`
185+
* `oneocsp.microsoft.com`
186+
* `www.microsoft.com/pkiops/crl/`
187+
188+
### Programming Languages & Package Managers: Dart
189+
190+
* `pub.dev`
191+
* `pub.dartlang.org`
192+
* `storage.googleapis.com/pub-packages/`
193+
* `storage.googleapis.com/dart-archive/`
194+
195+
### Programming Languages & Package Managers: Go
196+
197+
* `go.dev`
198+
* `golang.org`
199+
* `proxy.golang.org`
200+
* `sum.golang.org`
201+
* `pkg.go.dev`
202+
* `goproxy.io`
203+
* `storage.googleapis.com/proxy-golang-org-prod/`
204+
205+
### Programming Languages & Package Managers: Haskell
206+
207+
* `haskell.org`
208+
* `*.hackage.haskell.org`
209+
* `get-ghcup.haskell.org`
210+
* `downloads.haskell.org`
211+
212+
### Programming Languages & Package Managers: Java
213+
214+
* `www.java.com`
215+
* `jdk.java.net`
216+
* `api.adoptium.net`
217+
* `adoptium.net`
218+
* `search.maven.org`
219+
* `maven.apache.org`
220+
* `repo.maven.apache.org`
221+
* `repo1.maven.org`
222+
* `maven.pkg.github.com`
223+
* `maven-central.storage-download.googleapis.com`
224+
* `maven.google.com`
225+
* `maven.oracle.com`
226+
* `jcenter.bintray.com`
227+
* `oss.sonatype.org`
228+
* `repo.spring.io`
229+
* `gradle.org`
230+
* `services.gradle.org`
231+
* `plugins.gradle.org`
232+
* `plugins-artifacts.gradle.org`
233+
* `repo.grails.org`
234+
* `download.eclipse.org`
235+
* `download.oracle.com`
236+
237+
### Programming Languages & Package Managers: Node.js / JavaScript
238+
239+
* `npmjs.org`
240+
* `npmjs.com`
241+
* `registry.npmjs.com`
242+
* `registry.npmjs.org`
243+
* `skimdb.npmjs.com`
244+
* `npm.pkg.github.com`
245+
* `api.npms.io`
246+
* `nodejs.org`
247+
* `yarnpkg.com`
248+
* `registry.yarnpkg.com`
249+
* `repo.yarnpkg.com`
250+
* `deb.nodesource.com`
251+
* `get.pnpm.io`
252+
* `bun.sh`
253+
* `deno.land`
254+
* `registry.bower.io`
255+
* `binaries.prisma.sh`
256+
257+
### Programming Languages & Package Managers: Perl
258+
259+
* `cpan.org`
260+
* `www.cpan.org`
261+
* `metacpan.org`
262+
* `cpan.metacpan.org`
263+
264+
### Programming Languages & Package Managers: PHP
265+
266+
* `repo.packagist.org`
267+
* `packagist.org`
268+
* `getcomposer.org`
269+
270+
### Programming Languages & Package Managers: Python
271+
272+
* `pypi.python.org`
273+
* `pypi.org`
274+
* `pip.pypa.io`
275+
* `*.pythonhosted.org`
276+
* `files.pythonhosted.org`
277+
* `bootstrap.pypa.io`
278+
* `conda.binstar.org`
279+
* `conda.anaconda.org`
280+
* `binstar.org`
281+
* `anaconda.org`
282+
* `download.pytorch.org`
283+
* `repo.continuum.io`
284+
* `repo.anaconda.com`
285+
286+
### Programming Languages & Package Managers: Ruby
287+
288+
* `rubygems.org`
289+
* `api.rubygems.org`
290+
* `rubygems.pkg.github.com`
291+
* `bundler.rubygems.org`
292+
* `gems.rubyforge.org`
293+
* `gems.rubyonrails.org`
294+
* `index.rubygems.org`
295+
* `cache.ruby-lang.org`
296+
* `*.rvm.io`
297+
298+
### Programming Languages & Package Managers: Rust
299+
300+
* `crates.io`
301+
* `index.crates.io`
302+
* `static.crates.io`
303+
* `sh.rustup.rs`
304+
* `static.rust-lang.org`
305+
306+
### Programming Languages & Package Managers: Swift
307+
308+
* `download.swift.org`
309+
* `swift.org`
310+
* `cocoapods.org`
311+
* `cdn.cocoapods.org`
312+
313+
### Infrastructure & Tools: HashiCorp
314+
315+
* `releases.hashicorp.com`
316+
* `apt.releases.hashicorp.com`
317+
* `yum.releases.hashicorp.com`
318+
* `registry.terraform.io`
319+
320+
### Infrastructure & Tools: JSON Schema
321+
322+
* `json-schema.org`
323+
* `json.schemastore.org`
324+
325+
### Infrastructure & Tools: Playwright
326+
327+
* `playwright.download.prss.microsoft.com`
328+
* `cdn.playwright.dev`
329+
* `playwright.azureedge.net`
330+
* `playwright-akamai.azureedge.net`
331+
* `playwright-verizon.azureedge.net`
332+
333+
### Linux Package Managers: Ubuntu
334+
335+
* `archive.ubuntu.com`
336+
* `security.ubuntu.com`
337+
* `ppa.launchpad.net`
338+
* `keyserver.ubuntu.com`
339+
* `azure.archive.ubuntu.com`
340+
* `api.snapcraft.io`
341+
342+
### Linux Package Managers: Debian
343+
344+
* `deb.debian.org`
345+
* `security.debian.org`
346+
* `keyring.debian.org`
347+
* `packages.debian.org`
348+
* `debian.map.fastlydns.net`
349+
* `apt.llvm.org`
350+
351+
### Linux Package Managers: Fedora
352+
353+
* `dl.fedoraproject.org`
354+
* `mirrors.fedoraproject.org`
355+
* `download.fedoraproject.org`
356+
357+
### Linux Package Managers: CentOS
358+
359+
* `mirror.centos.org`
360+
* `vault.centos.org`
361+
362+
### Linux Package Managers: Alpine
363+
364+
* `dl-cdn.alpinelinux.org`
365+
* `pkg.alpinelinux.org`
366+
367+
### Linux Package Managers: Arch
368+
369+
* `mirror.archlinux.org`
370+
* `archlinux.org`
371+
372+
### Linux Package Managers: SUSE
373+
374+
* `download.opensuse.org`
375+
376+
### Linux Package Managers: Red Hat
377+
378+
* `cdn.redhat.com`
379+
380+
### Linux Package Managers: Common Package Sources
381+
382+
* `packagecloud.io`
383+
* `packages.cloud.google.com`
384+
* `packages.microsoft.com`
385+
386+
### Other
387+
388+
* `dl.k8s.io`
389+
* `pkgs.k8s.io`
390+
45391
## Further reading
46392

47393
* [Network Connections in {% data variables.product.prodname_vscode %}](https://code.visualstudio.com/docs/setup/network) in the {% data variables.product.prodname_vs %} documentation

0 commit comments

Comments
 (0)