注意
存储库的 AI 扫描处于 公开预览 阶段,可能会发生更改。
存储库 AI 扫描使用专有工具,利用多个模型(如果可用)在存储库的默认分支上查找安全漏洞。 它支持所有语言,将覆盖范围扩展到 CodeQL 支持的语言之外,并在 CodeQL 已分析的语言中发现其他漏洞。 你可以按需运行扫描,无需依赖 CodeQL。
针对存储库的 AI 扫描会将发现添加到您的CodeQL积压工作中,并与code scanning警报并列。 可以使用现有工作流来分配警报、应用agentic autofix、将警报纳入安全活动,并将其链接到问题。
Availability
可用性取决于谁拥有存储库及其可见性。
| 存储库所有者 | Visibility | 可用情况和要求 |
|---|---|---|
| 组织 | Public | 在没有 active-committer 许可证的情况下可用 |
| 组织 | 专用或内部 | 可用于 GitHub Code Security 或 GitHub Advanced Security |
| 个人账户 | Public | 可用的 |
| 个人账户 | 私密 | 不可用 |
不需要GitHub Copilot许可证。
Billing
按需运行适用于存储库的 AI 扫描,每个扫描都会消耗Code SecurityAI credits。 此用法独立于活跃提交者许可。
使用情况将计费给负责组织计费的帐户。
对于个人帐户拥有的公共存储库,除非存储库所有者具有 GitHub Copilot 组织或企业提供的许可证,否则使用情况将计入该个人帐户。 在这种情况下,使用费用将计入提供许可证的组织或企业。
如果计费帐户通过 AI credits 权益获得包含的 GitHub Copilot,AI 扫描将首先使用这些额度。 在包含额度用尽后,或者如果帐户没有包含额度,则按用量计费并受适用预算的约束。 如果硬性预算限制导致没有 Code SecurityAI credits 额度可用,AI 扫描无法生成发现。 当管理员增加限制预算或新的计费周期开始时,扫描将恢复。
针对存储库的 AI 扫描存在一些限制,以防止其消耗大量预算。 检测步骤的时长和数量上限分别为 30 分钟和 150,000 AI credits。
有关详细信息,请参阅“GitHub Advanced Security 许可证计费”。
AI 扫描的工作原理
对存储库 具有写入访问权限 的用户可以手动触发对存储库默认分支的扫描。 AI 代理在存储库中搜索以标识要检查的文件和函数。 它选择代码进行进一步分析,而不是完整读取每个文件。 代理在时间预算内运行。 当资源配额用尽时,它会停止搜索并报告其发现。
AI 扫描可独立于 CodeQL 运行。 如果存储库已有 CodeQL 警报,AI Scan 会使用这些警报来抑制匹配的发现。
AI 扫描结果如何显示在代码扫描待办列表中
扫描完成后,其发现将作为警报显示在存储库 code scanning 的警报列表中,在 “安全和质量”选项卡下,以及来自 CodeQL 的警报。 可以按 AI 扫描 工具筛选列表,以专注于这些发现。
使用现有的警报严重性筛选器确定发现项评估的优先级。 你可以分配警报、将警报链接到问题、将其包含在安全活动中,或者使用 agentic autofix 来帮助修复这些问题。 请参阅“访问存储库的代码扫描警报”。
在公开预览期间,合并潜在修补程序不会自动触发另一个 AI 扫描。 必须手动触发新的扫描来检查已解决的警报。
仅当应用的修补程序更改触发警报的代码的确切行时,警报才会自动关闭。 否则,必须手动关闭警报。
Limitations
- 扫描仅分析默认分支。
- 手动触发扫描。 不支持计划扫描和推送时的自动扫描。
- 代理在时间预算内选择要检查的代码。 扫描并不详尽地分析每个文件或保证发现每个漏洞。
- 尽力与现有 CodeQL 警报匹配,因此可能会出现重复的警报。
- AI 生成的结果可能不准确。 在决定如何解决它之前,请查看每个问题项。
有关负责任地使用 AI 支持的安全功能的指导,请参阅 应用卡片:GitHub 安全与质量 AI 功能。
支持的语言
存储库的 AI 扫描支持所有语言,包括已支持 CodeQL的语言。 将其与 CodeQL 一起使用,以查找其他漏洞,或将扫描覆盖范围扩展到 CodeQL 不支持的语言。
为存储库启用 AI 扫描
在为存储库启用 AI 扫描之前,请确认存储库资格、查看计费帐户中包含的 AI credits,以及为按量计费的用量配置预算。
- 企业:企业所有者可以允许或阻止组织为存储库启用 AI 扫描。 此策略控制对拉取请求的 AI 扫描和存储库积压工作 AI 扫描。 默认情况下,策略设置为“不允许”。 允许 AI 扫描并不会自动启用它。 请参阅“强制实施企业的代码安全性和分析策略”。
- 组织:组织所有者和安全经理可以为符合条件的存储库启用存储库的 AI 扫描。 存储库继承组织设置。 请参阅“配置组织的全局安全设置”。
- 组织拥有的存储库:当组织启用了 AI 扫描时,具有存储库管理员访问权限的人员可以选择退出。 在禁用组织设置时,他们无法选择启用。 若要禁用该功能,请转到存储库的“设置”页,在“Advanced Security”下,在“Code Security”下,关闭 存储库的 AI 扫描。
后续步骤
若要运行扫描并管理生成的警报,请参阅 查看和管理存储库的默认分支上的 AI 扫描警报。