GitHub:自动代码安全验证将扩展到第三方代理
GitHub将自动代码安全验证扩展到Claude、OpenAI Codex等第三方代理——这与Copilot云代理自2025年10月起享有的保护措施相同。三项检查(CodeQL、Advisory数据库、密钥扫描)默认启用,无需Advanced Security许可证。
本文由人工智能基于一手来源生成。
GitHub于2026年6月9日宣布,将自动代码安全验证扩展到所有在该平台上运作的第三方编码代理。此前仅限GitHub Copilot云代理的保护措施,如今也覆盖外部代理——包括Anthropic Claude和OpenAI Codex——这些代理会在用户仓库中开启拉取请求。
背景:Copilot云代理于2025年10月获得保护
GitHub于2025年10月首次为生成代码引入自动安全验证,当时仅针对自己的Copilot云代理。在应用的前八个月里,该保护措施据GitHub称已主动防止了数百个潜在安全漏洞进入用户仓库。
与此同时,通过GitHub API集成的第三方代理生态系统迅速壮大。开发团队越来越多地使用外部代理自主编写代码、提交更改并开启拉取请求。这一动态造成了明显的空白:Copilot的代码受到扫描,而经过同一仓库和同一工作流的外部代理代码却未受到检查。
哪些安全检查会自动应用于生成的代码?
第三方代理将代码提交到GitHub仓库的每一个拉取请求,都将经历三个自动化安全步骤:
CodeQL漏洞扫描 GitHub的静态代码分析工具检查生成的代码,寻找指向已知安全漏洞的模式——从SQL注入和跨站脚本到不安全的文件操作,具体取决于编程语言。CodeQL理解代码的语义,而非仅匹配文本模式,因此比简单的正则表达式检查误报率更低。
根据Advisory数据库检查依赖项 每个新增或修改的依赖项都会自动与GitHub Advisory Database进行比对——这是一个记录开源包已知漏洞的数据库(CVE记录)。如果代理引入了存在活跃漏洞的包,检查会立即标记并阻止拉取请求完成,直到问题解决。
搜索暴露的密钥 扫描会检查生成的代码,寻找意外或错误出现在代码中的API密钥、OAuth token、密码及其他敏感数据(secrets)。此措施对于自动生成配置文件或示例代码的代理尤为重要——这是无意数据泄露的常见来源。
代理对发现问题的响应
验证不是被动报告——它集成到代理的工作流中。当发现漏洞、有问题的依赖项或暴露的密钥时,代理会在完成拉取请求之前尝试自动解决问题。这可能包括将有漏洞的包替换为更安全的版本、删除暴露的密钥或根据CodeQL建议调整代码。
只有在自动解决不可行时,问题才会上报给开发团队进行人工干预。这种方式意味着相当一部分安全修正保留在代理工作流内——漏洞不会进入代码审查或开发后期阶段(在那里修复成本更高)。
无需特殊许可证的应用
该扩展默认启用(enabled by default),遵循管理员已为仓库配置的Copilot设置。无需手动激活、为每个代理单独配置或升级订阅计划。
关键点:功能性保护不需要GitHub Advanced Security许可证。对所有用户免费提供,这对没有Enterprise计划高级安全工具访问权限的小型团队和开源项目尤为重要。
希望精细调整哪些检查处于活跃状态——或将特定代理排除在验证范围之外——的组织,可以通过GitHub文档中关于代理设置配置(Configuring agent settings)的相关说明进行操作。
通过将安全验证扩展到所有代理,GitHub构建了一个一致的安全层,不依赖于生成代码的是哪个AI模型或代理。对于已开始在CI/CD工作流中采用外部代理的开发团队,此次升级意味着同等保护标准现在自动覆盖整个工作流——无需额外费用或手动配置。
常见问题
- GitHub对第三方代理生成的代码自动进行哪些安全检查?
- 三项检查:CodeQL静态分析检测代码中的漏洞、根据GitHub Advisory Database检查已知CVE的依赖项,以及扫描生成代码中暴露的API密钥和token。
- 启用此保护是否需要GitHub Advanced Security许可证?
- 不需要——该验证对所有用户免费提供,默认启用,遵循现有的Copilot仓库设置。
- 当代理发现其生成代码中存在安全问题时会发生什么?
- 代理会在完成拉取请求之前尝试自动解决问题。只有在无法解决时,才会将问题上报给开发团队进行人工审查。
📬 AI 新闻直达您的邮箱
按您的方式定制每日摘要——自选主题、来源和频率,一键退订。