跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

代码审查网络防火墙

在专属 Internet access 区域配置允许范围,并理解 setup 与 MCP 的覆盖边界。

代码审查支持组织和仓库级防火墙配置,位于 Settings → Copilot → Internet access 的 code review 区域。该区域与 cloud agent 独立;配置共享 MCP 服务器不会自动把两者防火墙合成同一策略。

默认行为与推荐列表

Copilot 默认限制互联网访问,并启用推荐 allowlist,便于下载常见依赖。它始终允许与 GitHub 交互所需的一组主机;推荐列表覆盖常见系统包源、容器与语言包注册表、证书机构及 Playwright 浏览器下载主机。

这些分类不等于任意同类域名都已允许,具体地址仍看官方 allowlist reference 或当前阻止日志。旧 Actions variables 中保存的配置会保留在新的设置页。

组织与仓库的关系

组织设置默认或选项下层行为
Enable firewallEnabled、Disabled、Let repositories decide,默认最后一项只有允许仓库决定时,下层才能切换
Recommended allowlist同上组织明确开关后,下层不能覆盖
Allow repository custom rules默认 Enabled,可 Disabled控制仓库能否添加自定义允许规则
Organization custom allowlist自定义域名或 URL仓库不能删除组织项

组织与仓库的自定义允许项合并,不是取交集。仓库列表为空不代表取消组织已经放行的地址。

域名与 URL 规则

域名规则允许域名本身及子域名,例如 packages.contoso.corp 也包括 prod.packages.contoso.corp。URL 规则限制 scheme、host、指定路径及后代路径,例如 https://packages.contoso.corp/project-1/ 不因此允许其他项目、主机或协议。

在 Custom allowlist 添加条目后,检查并 Save changes。只需要一个项目路径时,可以选比整域名更窄的 URL 范围。

防火墙实际覆盖什么

官方限制说明指出:集成防火墙只直接作用于代理通过 Bash 工具启动的进程,不直接约束 MCP server 进程或 setup steps 启动的进程。使用 MCP 时其他受控代理进程仍受限制,不能据此说 MCP 会关闭全部网络控制。

它只在 GitHub Actions appliance 环境生效,不覆盖外部进程,复杂攻击也可能绕过,不能当作全部执行路径的完整隔离保证。自托管网络需按runner 专题自行控制,并满足审查服务的出站要求。

排查连接阻止

先判断发出请求的是受控 Bash 进程、setup 还是 MCP;再检查所属 code review 区域的有效组织和仓库规则。官方会在 PR 正文或评论提示被阻止的地址和命令,适合判断需要的最小允许项。

关闭防火墙会允许连接任意主机,不是所有依赖安装失败的默认修复。若规则被上层锁定,应由相应管理员调整真实政策,而不是反复修改无效的仓库开关。