注意
Firewall configuration is managed from the "Internet access" settings tab, which covers both Copilot云代理 and Copilot 代码评审. Previous configurations saved as Actions variables will be maintained on that page.
Overview
By default, Copilot's access to the internet is limited by a firewall.
注意
Copilot 代码评审 also supports firewall configuration, at both the organization and repository level, under its own section of the "Internet access" tab described below. This allows you to configure firewall rules for Copilot 代码评审 independently of Copilot云代理. See 使用 GitHub Copilot 代码审查.
Limiting internet access helps manage data exfiltration risks. Unexpected behavior from Copilot, or malicious instructions, could lead to code or other sensitive information being leaked to remote locations.
The firewall always allows access to a number of hosts that Copilot uses to interact with GitHub. By default, a recommended allowlist is also enabled to allow the agent to download dependencies.
If Copilot tries to make a request which is blocked by the firewall, a warning is added to the pull request body (for new pull requests) or to a comment (for existing pull requests). The warning shows the blocked address and the command that tried to make the request.

Limitations
The agent firewall has important limitations that affect its security coverage.
- Only applies to processes started by the agent: The firewall only applies to processes started by the agent via its Bash tool. It does not apply to Model Context Protocol (MCP) servers or processes started in configured Copilot setup steps.
- Only applies within the GitHub Actions appliance: The firewall only operates within the GitHub Actions appliance environment. It does not apply to processes running outside of this environment.
- Bypass potential: Sophisticated attacks may bypass the firewall, potentially allowing unauthorized network access and data exfiltration.
These limitations mean that the firewall provides protection for common scenarios, but should not be considered a comprehensive security solution.
Understanding the recommended firewall allowlist
The recommended allowlist, enabled by default, allows access to:
- Common operating system package repositories (for example, Debian, Ubuntu, Red Hat).
- Common container registries (for example, Docker Hub, Azure Container Registry, AWS Elastic Container Registry).
- Packages registries used by popular programming languages (C#, Dart, Go, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Rust, Swift).
- Common certificate authorities (to allow SSL certificates to be validated).
- Hosts used to download web browsers for the Playwright MCP server.
For the complete list of hosts included in the recommended allowlist, see Copilot 允许列表参考.
Configuring the firewall at the organization level
Organization owners can configure all firewall settings at the organization level, for both Copilot云代理 and Copilot 代码评审. To access the firewall settings:
-
在 GitHub 的右上角,单击个人资料图片,然后单击“ Your organizations”****。
-
单击以选择一个组织。
-
在组织名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
In the sidebar, under "Code, planning, and automation", click Copilot, and then click Internet access.
The "Internet access" page has separate sections for Copilot云代理 and Copilot 代码评审, so you can configure the following settings independently for each.
Enabling or disabling the firewall
警告
Disabling the firewall will allow Copilot to connect to any host, increasing risks of exfiltration of code or other sensitive information.
- Under "Internet access", set the Enable firewall setting to Enabled, Disabled, or Let repositories decide (default).
Enabling or disabling the recommended allowlist
- Under "Internet access", set the Recommended allowlist setting to Enabled, Disabled, or Let repositories decide (default).
Controlling whether repositories can add custom allowlist rules
By default, repository administrators can add their own entries to the firewall allowlist. Organization owners can disable this to prevent repositories from adding custom rules.
- Under "Internet access", set the Allow repository custom rules setting to Enabled (default) or Disabled.
Managing the organization custom allowlist
Items added to the organization custom allowlist apply to all repositories in the organization. These items cannot be deleted at the repository level. Organization-level and repository-level rules are combined.
-
Under "Internet access", click Organization custom allowlist.
-
添加希望包含在允许列表中的地址。 可以包括:
-
域(例如
packages.contoso.corp)。 将允许流量流向指定的域和任何子域。
-
Example:packages.contoso.corp允许流量流向 packages.contoso.corp 和 prod.packages.contoso.corp,但不允许artifacts.contoso.corp。
-
URLs(例如,
https://packages.contoso.corp/project-1/)。 将仅允许在指定的方案 (https) 和主机 (packages.contoso.corp) 上传输流量,并且仅限于指定的路径和后代路径。
Example:https://packages.contoso.corp/project-1/允许流量流向https://packages.contoso.corp/project-1/和https://packages.contoso.corp/project-1/tags/latest,但不允许https://packages.contoso.corp/project-2、ftp://packages.contoso.corp或https://artifacts.contoso.corp。
- 单击 “添加规则”。
- 验证列表后,单击“Save changes”****。
Configuring the firewall at the repository level
Repository administrators can configure firewall settings at the repository level, including enabling or disabling the firewall, enabling or disabling the recommended allowlist, and managing a custom allowlist. Depending on the organization-level configuration, some of these settings may be locked. The repository settings page also has separate sections for Copilot云代理 and Copilot 代码评审, so you can configure these settings independently for each.
To access the firewall settings:
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
In the "Code & automation" section of the sidebar, click Copilot then Internet access.
Enabling or disabling the firewall
注意
You can only change this setting at the repository level if the organization-level Enable firewall setting is set to Let repositories decide. If the organization-level setting is Enabled or Disabled, you can't change this setting for individual repositories.
- Toggle the Enable firewall setting on or off.
Enabling or disabling the recommended allowlist
注意
You can only change this setting at the repository level if the organization-level Recommended allowlist setting is set to Let repositories decide. If the organization-level setting is Enabled or Disabled, you can't change this setting for individual repositories.
- Toggle the Recommended allowlist setting on or off.
Managing the custom allowlist
注意
You can only add custom allowlist rules at the repository level if the organization-level Allow repository custom rules setting is set to Enabled. For more information, see Controlling whether repositories can add custom allowlist rules.
-
Click Custom allowlist.
-
添加希望包含在允许列表中的地址。 可以包括:
-
域(例如
packages.contoso.corp)。 将允许流量流向指定的域和任何子域。
-
Example:packages.contoso.corp允许流量流向 packages.contoso.corp 和 prod.packages.contoso.corp,但不允许artifacts.contoso.corp。
-
URLs(例如,
https://packages.contoso.corp/project-1/)。 将仅允许在指定的方案 (https) 和主机 (packages.contoso.corp) 上传输流量,并且仅限于指定的路径和后代路径。
Example:https://packages.contoso.corp/project-1/允许流量流向https://packages.contoso.corp/project-1/和https://packages.contoso.corp/project-1/tags/latest,但不允许https://packages.contoso.corp/project-2、ftp://packages.contoso.corp或https://artifacts.contoso.corp。
- 单击 “添加规则”。
- 验证列表后,单击“Save changes”****。