云端代理权限与内置检查
理解代码验证、分支权限、人类评审和提示注入防护的实际边界。
This page has not been translated into English yet. The original Chinese version is shown below.
cloud agent 能读取仓库代码并推送改动。GitHub 对触发身份、工作分支、验证和合并流程设置了限制,但这些措施不能替代任务范围控制和人工验收。
默认代码与安全验证
| 检查 | 官方说明 |
|---|---|
| CodeQL | 检查代码安全问题 |
| 新增依赖 | 对照 GitHub Advisory Database 检查恶意软件公告及 CVSS High / Critical 漏洞 |
| Secret scanning | 检测 API key、token 等敏感值 |
| Copilot code review | 对生成代码提供另一轮评审 |
这些 cloud agent 安全验证不要求单独购买 GitHub Secret Protection、GitHub Code Security 或 GitHub Advanced Security 许可证。执行情况和代理尝试修复的问题可以在会话日志中查看。
管理员可以关闭部分内置工具,见仓库设置。因此具体任务是否完成某项检查,仍应以日志为准。
谁能触发、向哪里推送
安全专题对 GitHub 原生触发说明:只有有仓库写权限的人能触发代理工作,没有写权限的用户评论不会提供给代理。Slack、Teams、Linear 等集成则明确可以把其他参与者消息作为上下文,详见协作工具集成;不能把原生评论过滤当作所有外部上下文的统一规则。已有 PR 上的 @copilot 任务允许向该 PR 分支写入,其他情况通常创建新的 copilot/ 分支,代理仅能向所分配的单一分支推送。
代理仍受仓库 branch protection 与 required checks 约束。不能将会话内工具自主执行推导为可以写入任意分支。
谁能评审与合并
官方安全专题说明,代理创建的 draft PR 需要人类评审和合并;代理不能自行把它标为 Ready for review,也不能批准或合并 PR。
要求 Copilot 创建 PR 的人,不能用自己的批准满足该 PR 的 required approvals。若 PR 以 Copilot app 身份创建且未归属于某个人,仓库本身至少要求一次审批时,还需额外一次审批。该额外规则在 rulesets 默认开启,管理员可关闭;branch protection 则始终适用。
工作流批准与代码审批分开,见评审与验收。Actions 默认等待有写权限的人批准,但管理员可以配置自动执行。
网络和输入防护
默认防火墙帮助限制外传风险,但并不直接覆盖 MCP 或 setup steps,详细范围见网络防火墙。MCP 已配置工具可被自主使用,不会每次询问,见仓库 MCP。
GitHub 会在传入用户输入前过滤隐藏字符;官方举例是 Issue 或 PR 评论中的 HTML 注释不会传给代理。该处理只是特定防护,不应当作消除所有提示注入风险的保证。
审计与自动化任务
代理提交署名 Copilot,任务请求者记录为 co-author,提交经过签名,并包含会话日志链接;管理员还可检查审计事件。
Automations 的工作归属于创建该自动化的人,其创建的 PR 同样需要其他人满足审批要求。事件型自动化默认忽略没有写权限的用户触发的事件,可选择加入此类事件;还可以限制其工具范围。无人逐次发起不等于任务没有归属或不受审批控制。