注意
防火墙配置已移动到 Copilot 编码智能体 设置页。 先前保存为 Actions 变量的配置将保留在该页上。
概述
默认情况下,Copilot 对 Internet 的访问权限受防火墙限制。
限制对 Internet 的访问有助于管理数据外泄风险,因为 Copilot 的出人意料的行为或向其发出的恶意指令可能导致代码或其他敏感信息泄露到远程位置。
防火墙始终允许访问 Copilot 用于与 GitHub 交互的多个主机。 默认情况下,还会启用建议的允许列表,以允许代理下载依赖项。
如果 Copilot 尝试发出受防火墙阻止的请求,则会在拉取请求正文中添加警告(如果 Copilot 是第一次创建拉取请求)或在评论中添加警告(如果 Copilot 正在回应拉取请求评论)。 警告会显示受阻止的地址和试图发出请求的命令。

限制
代理防火墙具有重要局限性,会影响其安全覆盖范围。
-
**仅适用于代理启动的进程**:防火墙仅适用于代理通过其 Bash 工具启动的进程。 它不适用于模型上下文协议 (MCP) 服务器或在配置的 Copilot 设置步骤中启动的进程。 -
**仅在 GitHub Actions 设备中适用**:防火墙仅在 GitHub Actions 设备环境内运行。 它不适用于在此环境之外运行的进程。 -
**可能存在绕过情况**:复杂的攻击可能会绕过防火墙,从而可能允许未经授权的网络访问和数据外泄。
这些局限性意味着防火墙可为常见场景提供一层保护,但不应被视为全面的安全解决方案。
了解建议的防火墙允许列表
建议的允许列表(默认启用)允许访问:
- 常见的操作系统包存储库(例如 Debian、Ubuntu、Red Hat)。
- 常见容器注册表(例如,Docker Hub、Azure 容器注册表、AWS 弹性容器注册表)。
- 常见编程语言使用的包注册表(C#、Dart、Go、Haskell、Java、JavaScript、Perl、PHP、Python、Ruby、Rust、Swift)。
- 常见证书颁发机构(用于允许验证 SSL 证书)。
- 用于下载适用于 Playwright MCP 服务器的 Web 浏览器的主机。
有关建议的允许列表中包含的主机的完整列表,请参阅 Copilot 允许列表参考。
禁用建议的允许列表
可以选择关闭建议的允许列表。 禁用推荐的白名单可能会增加未经授权访问外部资源的风险。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“代码与自动化”部分,单击“Copilot”,然后单击“编码代理”********。
-
关闭“Recommended allowlist”设置********。
要使用推荐的允许列表以及你自己的允许列表,请将“Recommended allowlist”设置保留为“on”,并在“Custom allowlist”页中添加其他地址************。
在代理的防火墙中将其他主机列入允许列表
可以在代理的防火墙中将额外地址列入允许列表。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“代码与自动化”部分,单击“Copilot”,然后单击“编码代理”********。
-
单击“Custom allowlist”****
-
添加希望包含在允许列表中的地址。 可以包括:
-
**域**(例如 `packages.contoso.corp`)。 将允许流量流向指定的域和任何子域。 **示例**:`packages.contoso.corp` 将允许流量到达 `packages.contoso.corp` 和 `prod.packages.contoso.corp`,但不允许到达 `artifacts.contoso.corp`。 -
**URL**(例如 `https://packages.contoso.corp/project-1/`)。 将仅允许在指定的方案 (`https`) 和主机 (`packages.contoso.corp`) 上传输流量,并且仅限于指定的路径和后代路径。 **示例**:`https://packages.contoso.corp/project-1/` 将允许流量到达 `https://packages.contoso.corp/project-1/` 和 `https://packages.contoso.corp/project-1/tags/latest`,但不允许到达 `https://packages.consoto.corp/project-2`、`ftp://packages.contoso.corp` 或 `https://artifacts.contoso.corp`。
-
-
单击“添加规则”****。
-
验证列表后,单击“Save changes”****。
禁用防火墙
警告
禁用防火墙将允许 Copilot 连接到任何主机,从而增加代码或其他敏感信息外泄的风险。
默认情况下会启用防火墙。 要禁用防火墙,请将“Enable firewall”设置切换为“off”********。
其他阅读材料
-
[AUTOTITLE](/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#creating-configuration-variables-for-a-repository) -
[AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent)