GitHub 代码扫描告警智能体自动修复正式可用
Agentic autofix for code scanning alerts general availability
GitHub 宣布代码扫描告警的智能体自动修复功能正式可用,将告警指派给 Copilot 后,它会探索相关文件、生成修复方案、重跑 CodeQL 验证修复是否关闭告警,再提交草稿 PR 供审查。
原文给出智能体自动修复代码扫描告警的完整流程与计费方式,可据此判断安全修复工作流的变化。
代码扫描警报的智能体自动修复现已正式可用。它通过像开发者一样在整个代码库中工作来修复警报:它会探索相关文件、提出修复方案,并重新运行 CodeQL 以确认修复能够关闭警报,然后再打开拉取请求供你审查。智能体自动修复面向 GitHub Enterprise Cloud 上的 GitHub Code Security 和 GitHub Advanced Security 客户提供,包括具有数据驻留的 GitHub Enterprise Cloud。
工作原理
当你将代码扫描警报分配给 Copilot 时,它会:
- 探索整个代码库中的相关文件。
- 生成建议的修复方案。
- 通过重新运行 CodeQL 验证修复有效。
- 如有需要则进行迭代,然后打开一个草稿拉取请求供你审查。
该拉取请求包含修复摘要、为何能关闭警报的说明,以及 Copilot 为确认修复有效所采取的验证步骤。当包含修复的拉取请求准备就绪后,你可以通过在拉取请求上发表评论,或在仓库的 Agents 标签页中与该会话交互,来指示 Copilot 对其进行进一步修改。
如何使用
启用后,智能体自动修复会将单个代码扫描警报上的免费 Generate Fix 选项替换为 Assign to Copilot 按钮。
你可以通过以下方式使用智能体自动修复:
- 在仓库默认分支上的任意代码扫描警报中,将警报分配给 Copilot。
- 在仓库或安全活动的安全警报列表中,最多选择 25 个警报,让 Copilot 在单个拉取请求中一起修复。
- 通过 Update a Code Scanning Alert REST API,将
assignees设置为["copilot-swe-agent[bot]"]。
智能体自动修复支持仓库默认分支上的代码扫描警报。仅在拉取请求或其他分支上检测到的警报无法分配给 Copilot。
访问权限
智能体自动修复需要企业管理员通过 Advanced Security policies 中新的“Agentic autofix”策略启用对其的访问。
一旦企业管理员启用了该策略,组织或仓库管理员即可在组织或仓库的 Code Security 设置中开启智能体自动修复。
访问还需要定义 Copilot 计费方式。
计费
代码扫描警报的智能体自动修复会消耗你 Code Security 预算中的 AI Credits 以及 GitHub Actions 分钟数。AI Credit 使用量将在企业计费和许可的“AI usage”部分中显示为“Advanced Security”产品。你还可以为 Code Security AI credits 设置 SKU 级别的预算。详细了解 Copilot 基于用量的计费。
了解更多
在文档中详细了解 智能体自动修复。
加入 GitHub Community 中的讨论。
文章 Agentic autofix for code scanning alerts general availability 首次出现在 The GitHub Blog。
来源:GitHub Changelog · github.blog