GitHub推送保护预览版可拦截无预定义格式的密钥,使用AI额度并默认关闭

Published · AI Daily — AI-assisted deep research, methodology & disclosure

GitHub 于 2026 年 10 月 28 日宣布,推送保护现在可以在公开预览中拦截没有预定义格式的密钥。这是与 Microsoft Applied Sciences 共同开发的专用分类器,会查看可疑密钥在周围代码中是如何使用的。在此之前,推送保护依赖预定义模式来识别每种密钥类型。

GitHub 于 2026 年 10 月 28 日宣布,推送保护现在可以在公开预览中拦截没有预定义格式的密钥。这是与 Microsoft Applied Sciences 共同开发的专用分类器,会查看可疑密钥在周围代码中是如何使用的。在此之前,推送保护依赖预定义模式来识别每种密钥类型。新检查与这些模式检测器并行运行,默认关闭,并且会消耗计费的 AI 额度。

旧方法有明显的缺口。模式检测器能识别令牌,是因为它有已知的形状,比如服务商的固定前缀。密码、内部密钥或小供应商的令牌可能没有这样的形状。新的分类器则阅读上下文:这个字符串在附近的代码里怎样被赋值、传递或使用。GitHub 说,这使它能拦截没有已知、可识别格式的密钥。页面没有详细描述模型、训练数据或误报表现。

分类器运行时,覆盖新的推送、在 GitHub 网页界面中提交的修改和文件上传。如果检测到密钥,GitHub 会拒绝这次更改并报告密钥的位置。要解除拦截,开发者须从这次推送的每个提交中移除该密钥,然后重试。现有的绕过和委派绕过流程仍然适用。GitHub 还给自动化设了一条规则:智能体在绕过或规避拦截之前必须获得授权。随着编码智能体开始推送代码,这一条很重要,它把人工批准这一步写明了。

GitHub 对早期结果的措辞很谨慎。它称该分类器使推送保护发现密钥的推送次数增加了一倍以上。这里统计的是推送次数,不是不同密钥的数量;页面未披露对照条件或观察期。GitHub 还称,用户报告的精确率可与其密钥扫描合作伙伴的发行方定义检测器相当。页面没有给出样本量、绝对数量或误报率,所以这些说法是 GitHub 自己的,无法凭页面核对。

启用有三个前提。仓库需要已经开启“AI 检测的密钥”和推送保护。该功能面向在 github.com 上使用 GitHub Secret Protection 或 GitHub Advanced Security 的组织。管理员再开启“拦截 AI 检测的密钥”。仓库管理员在仓库设置的 Advanced Security、Secret Protection、AI 检测的密钥下操作。组织和企业管理员创建或编辑自定义安全配置,把三项设置设为启用:AI 检测的密钥、推送保护和拦截 AI 检测的密钥。对应的 REST API 字段是 secret_scanning_generic_secrets、secret_scanning_push_protection 和 secret_scanning_generic_secrets_push_protection。然后把配置应用到要保护的仓库。

对管理员而言,三项设置缺一不可:AI 检测的密钥(REST 字段 secret_scanning_generic_secrets)、推送保护(secret_scanning_push_protection)和拦截 AI 检测的密钥(secret_scanning_generic_secrets_push_protection)。该功能可在仓库、组织、企业以及企业托管用户层面启用。GitHub 的要求是,解除拦截时要把密钥从这次推送所含的每一个提交中清除,然后重试,而不是只处理最后一个提交。页面没有说明分类器是否会扫描仓库已有的历史内容,它描述的作用范围是新的推送、网页界面中的提交和文件上传。

GitHub 区分了推送时拦截和推送后扫描。来自推送后扫描的 AI 检测密钥警报仍包含在 Secret Protection 和 Advanced Security 中;推送时的拦截是新增并计费的能力。这意味着团队可以继续用前者发现已提交的密钥,再有选择地为最需要强防线的仓库开启后者。绕过规则没有放宽:现有的绕过和委派绕过流程仍然适用,智能体绕过前必须获得授权。早期结果中“发现密钥的推送次数增加一倍以上”只说明发现了更多,页面没有说明其中有多少是真正的密钥,因此试用时应记录每次拦截的人工判断。页面也提醒了范围:预览仅在 github.com 提供,组织需要 Secret Protection 或 Advanced Security,功能默认关闭,必须先开启 AI 检测的密钥和推送保护这两个前提。本站的判断是:分类器靠读取上下文而不是匹配固定格式,所以能发现没有固定前缀的密码或内部密钥,但也更依赖判断,难免有误报,试用时要重点观察。

费用需要留意。推送保护中的 AI 检测会消耗 AI 额度,组织加入预览并启用功能后开始计费。相比之下,推送之后扫描产生的 AI 检测密钥警报,仍包含在 Secret Protection 和 Advanced Security 中,不另外收费。预览仅限 github.com,使用其他部署形态的团队暂时不要期待。比较稳妥的做法是先在少数仓库试用,记录被拦截的推送和误报,再决定是否承担更大范围推广的成本和对开发者的干扰。

Sources

FAQ

新的推送保护分类器改变了什么?

此前推送保护依赖预定义模式识别密钥类型。新分类器与 Microsoft Applied Sciences 共同开发,会查看可疑密钥在周围代码中如何使用,从而拦截没有已知格式的密钥。它与模式检测器并行运行,覆盖推送、网页提交和文件上传,默认关闭。

“发现密钥的推送增加一倍以上”到底说明什么?

这是 GitHub 的早期结果:发现密钥的推送次数增加了一倍以上,统计的是推送次数而非不同密钥数,页面未披露对照条件或观察期。用户报告的精确率与合作伙伴定义的检测器相当,页面没有样本量、绝对数或误报率。

怎样启用,费用如何计算?

仓库须已开启 AI 检测的密钥和推送保护,组织需有 Secret Protection 或 Advanced Security,仅限 github.com;再开启“拦截 AI 检测的密钥”。该检测消耗 AI 额度,启用后计费,推送后扫描警报不另收费。