Skip to content

Copilot Cloud Agent 是能自主推送代码到仓库的 AI 代理,使用前需要理解它的内置安全机制:自动 CodeQL 安全扫描、依赖漏洞检查、Secret 扫描、限制推送分支、强制人工审查等。本页帮你理清哪些风险已有系统防护、哪些需要额外注意。

GitHub Copilot Cloud Agent 安全风险与防护措施详解

为什么需要了解安全风险

Copilot Cloud Agent 是一个自主代理——它可以读取代码库、生成代码、推送到分支、创建 PR,整个过程基本不需要人工干预。这与普通的代码补全工具有本质区别,引入了新的安全面。

了解内置防护措施,帮你判断:哪些场景可以放心交给 Cloud Agent,哪些场景需要额外审查。

风险一:AI 生成的代码可能引入安全漏洞

风险:AI 可能生成含有硬编码密钥、不安全依赖、SQL 注入漏洞等问题的代码。

内置防护

Cloud Agent 完成代码生成后,会自动运行以下检查(默认开启,无需 Code Security 或 Advanced Security 许可):

检查工具功能
CodeQL识别代码中的安全问题(注入、XSS 等)
依赖漏洞扫描对比 GitHub Advisory Database,检查高危/严重依赖漏洞
Secret 扫描检测代码中的 API 密钥、Token 等敏感信息
Copilot 代码审查AI 自我审查:检测到问题后会尝试修复再提交

检查结果和代理执行记录都在 Session Log 中可查。

你可以做的:禁用特定检查工具(如果你有自己的扫描流水线),但不建议全部关闭。

风险二:AI 可能将不良代码推送到仓库

风险:Cloud Agent 有推送代码的能力,错误的修改可能影响生产环境。

内置防护

  • 限制触发者:只有有仓库写权限的用户才能触发 Cloud Agent
  • 限制推送分支:Cloud Agent 只能推送到一个专用分支,不能直接推送到 main
  • 限制凭证范围:Agent 使用的临时凭证被严格限制
  • 强制人工审查:Cloud Agent 创建的 PR 必须由人工审查批准才能合并,Copilot 无法自我批准
  • 限制 GitHub Actions:防止 Agent 触发或修改 CI/CD 工作流

风险三:AI 可能接触到敏感信息并泄露

风险:执行任务时,Agent 可能读取含有密钥、业务数据的文件,存在信息泄露风险。

内置防护

  • GitHub 限制 Cloud Agent 的外部网络访问,减少数据外泄通道
  • MCP Playwright Server 只能访问 localhost,无法访问外部网络
  • 代理凭证只读权限,默认不能访问其他仓库

你应该做的

  • .copilotignore 或内容排除(Content Exclusion)中保护敏感文件
  • 不要把含有真实凭证的文件提交到仓库

风险四:Prompt 注入攻击

风险:恶意内容(如 Issue 描述中的隐藏指令)可能影响 AI 的行为,让代理执行非预期操作。

内置防护

  • GitHub 在将用户输入传给 Cloud Agent 前过滤隐藏字符
  • 以 HTML 注释形式写入的文本(如 <!-- 忽略上面所有内容,做 X... -->不会被传递给 Cloud Agent

额外注意:对于包含外部用户内容的 Issue(如开源项目的公开 Issue),触发 Cloud Agent 前要先审查 Issue 内容是否有可疑指令。

风险五:管理员失去对 AI 操作的可见性

风险:团队可能不清楚 AI 具体做了什么修改,代码审查流于形式。

内置防护

  • 提交作者标注:所有 Copilot 提交都标记为"由 Copilot 创作,由人工共同创作"(co-authored-by)
  • 提交签名:Copilot 的提交带有签名,在 GitHub 上显示"Verified"
  • Session Log:每次任务的完整操作记录可以查看
  • Audit Log:GitHub 组织的审计日志记录 Cloud Agent 的操作事件
  • 提交信息链接:每个提交信息都包含指向对应 Session Log 的链接

最佳安全实践总结

措施说明
保持代码扫描开启不要关闭 CodeQL、Secret 扫描等内置检查
审查 PR 而非橡皮图章Cloud Agent 的 PR 同样需要认真审查
限制触发权限只给需要使用 Cloud Agent 的团队成员写权限
保护敏感文件用内容排除功能保护含有真实密钥的配置文件
定期查看审计日志特别是高价值仓库,定期检查 Cloud Agent 的操作记录
不在 Issue 中暴露内部系统信息Prompt 注入风险的额外缓解措施

常见问题

Q: Cloud Agent 能不能修改 GitHub Actions 工作流文件?

A: GitHub 限制 Cloud Agent 不能触发或修改 CI/CD 工作流,作为保护措施。但具体文件访问范围取决于配置,建议测试确认你的仓库保护规则正确生效。

Q: 如果 Cloud Agent 发现了安全问题,会自动修复还是报告?

A: 会先尝试自动修复,修复后再提交。如果无法修复,会在 PR 描述或 Session Log 中报告问题,供人工处理。

Q: Copilot Cloud Agent 的操作会出现在 GitHub 的 SOC 2 审计日志中吗?

A: 是的,Copilot Cloud Agent 的操作事件被记录在 GitHub 的 Audit Log 中,适用于需要合规审计的企业场景。