密钥不再靠正则了:GitHub 换上专用小模型,Copilot 的 /security-review 也要吃 AI Credits
2026 年 10 月 7 日,GitHub 为密钥检测换上基于 ModernBERT 的专用小模型:AI 告警自动升级且不涨价,push protection 的 AI 检测与 Copilot /security-review 的新检查进入 private preview,并将按次消耗 AI Credits。本文拆解三处变化、新模型的上下文判别原理、计费账本,以及它对 vibe coding 开发者的意义。

2026 年 10 月 7 日,GitHub 在 changelog 里发布了一条看似低调、实则分量很重的更新:密钥检测换上了为这件事专门训练的小模型。而同一份公告里还藏着另一条更值得细读的消息——两项新的 AI 密钥检查将开始消耗 GitHub AI Credits。这是第一次,GitHub 把一项安全能力摆上了"按调用计费"的货架。
这次更新一共三处变化:告警扫描静默升级、新模型进 push protection、secret classifier 进 Copilot 的 /security-review。账单方面,一处没变、两处变了。先说没变的:已经在用 AI-detected Password 告警的客户,会被自动升级到新模型,不涨价,继续含在 GitHub Secret Protection(GHSP)和 GitHub Advanced Security(GHAS)里。变的两个,都是手动 opt-in 的检查——一旦开启,就要按次扣 AI Credits。
三处变化,一次说清
① 告警扫描:自动升级,不涨价
已经在用 AI 密钥检测告警的组织,从 10 月 7 日起自动切到新模型。push 之后才发现的密钥告警(AI-detected secret alert scans),继续含在 GHSP/GHAS 的购买里,不收附加费。这条线是"存量福利":模型换了,账单不动。
同一批升级的还有 GitHub Enterprise Server。GHES 3.23 会带着这个新模型进入 public preview,连跑在隔离内网(air-gapped)环境的企业客户也能用上,同样含在已有的 GHSP/GHAS 购买里,不额外收费。
② push protection:AI 检测进 private preview,本月 GA,开始计费
这是 push 时刻的检查:在密钥进入仓库历史之前把它拦下来。新的 AI 检测专门对付"无固定格式的裸密码"这类非结构化凭证——这正是传统 push protection 的盲区。目前 private preview 已经可用;GitHub 表示本月晚些时候会向购买了 GHSP 的 Enterprise Cloud 和 Teams 组织全面开放(GA)。开启需要管理员手动操作,并受组织或企业策略约束。
③ /security-review:secret classifier 上车,个人 Copilot 计划也能用
在 Copilot CLI 或 Copilot App 会话里,/security-review 本来是个只读的安全评审命令:扫一遍你当前的改动,找出安全漏洞,按优先级给出修复建议。即将上线的是来自 secret classifier 的新检查——关键细节是,它不需要 GHSP 或 GHAS 许可。个人版 Copilot(Pro、Pro+、Max、Free、Student)都在可参与范围内。这是整个公告里最"出圈"的一条:AI 密钥检测第一次脱离组织级安全套餐,直接下沉到个人开发者。
默认全部关闭。GitHub 写得很直白:跑 /security-review 不会自动打开新检查,必须在计划和策略允许的地方手动 opt-in。想尝鲜的人,先确认自己在不在 private preview 名单里。
GitHub 密钥检测从正则走向专用小模型
从"认格式"到"读上下文":这个小模型到底干了什么
过去十几年,密钥检测的主力打法是"认格式":150 多家技术伙伴提供的 provider 模板(AWS key 长什么样、Slack webhook 长什么样)、固定前缀、正则表达式、熵值判断。这套组合拳对发行方明确的 token 很准,但有个天然盲区——没有固定格式的东西。比如你自己数据库的那串密码,它没有任何"身份证",正则看它和看一串乱码没区别。
新模型换了思路:不认格式,读上下文。它是一个基于 ModernBERT 的分类器,由 GitHub 和微软应用科学组(Microsoft Applied Sciences)联合训练。它只做一件事:读一段候选字符串周围的代码,判断"这像不像个真凭据"。注意,它不生成代码、不写散文,只做判别——这是个纯粹的分类器,不是大语言模型。
GitHub 在技术博客里给了个很直观的演示:同一套检查,能拦下数据库连接串、Kubernetes Secret manifest、Dockerfile 里的 password-like 值,却放行了 changeme 这种占位符。区分这两者的不是字符串本身,而是上下文——变量名叫什么、字段名是什么、周围的配置语义在说什么。这正是正则和熵值做不到的事:它们只能看字符串长什么样,理解不了字符串"住"在什么样的代码里。
为什么不用大模型直接做这件事?GitHub 的产品经理 Erin Havens 在博客里把这叫"四体问题"(four-body problem):精度、延迟、吞吐、成本四个约束是互相耦合的。push 是开发流程的关键路径:检查太慢,开发者等不起;太贵,平台跑不起;误报太多,几次之后就没人信了。ModernBERT 分类器的答案是:整批候选的评估不到 2 毫秒——一次 push 里扫完所有可疑字符串,耗时比你敲下回车还短。正因为便宜到能跑在关键路径上,GitHub 才敢放话:这项能力有望让 push protection 拦下的密钥数量翻倍以上。
"The tools that let developers create more software should also take on more of the work of protecting it." ——让开发者造出更多软件的工具,也该承担更多保护软件的工作。这是 GitHub 这篇技术博客的题眼,也是整个更新的逻辑起点。
还有一组数字能说明为什么 GitHub 在这件事上这么急:公开代码里平均每两秒就出现一个新的密钥;2024 年第二季度到 2026 年第二季度,GitHub 筛查的公开 push 涨了 2.84 倍,携带凭据的 push 涨了 2.59 倍。push protection 今天能拦下约三成新发现的密钥,剩下七成是泄露之后才发现的——而一次泄露平均要花 40 天才能完成撤销和轮换,约五分之一的泄露超过 90 天还没处理完。拦截的窗口,就在 push 之前的那 2 毫秒里。
计费账本:这一次谁买单
先看总账。GitHub 在 changelog 里把话说得很清楚:
"AI-detected secret alerts will remain included in GHSP and GHAS at no additional charge. The new opt-in checks for push protection and the security review command will consume GitHub AI Credits."
翻译成账本语言,就是下面这张表:
| 检查项 | 收费吗 | 账单记在谁头上 |
|---|---|---|
| AI-detected secret 告警扫描(push 之后) | 不收费,含在 GHSP/GHAS 里 | 不变 |
| push protection AI 检测(push 时刻) | 消耗 AI Credits | 拥有仓库的组织 |
/security-review 新检查 | 消耗 AI Credits | 你的 Copilot 计划账单账户 |
几个容易踩的细节,值得逐条记住:
- push protection 的账按组织走,不记到个人头上。用量归属是拥有仓库的组织,不会扣某个具体开发者的个人 credits 配额。例外只有一种:企业托管用户(EMU)的用户命名空间仓库,用量记在 pusher 本人头上,走他自己的配额。
- 跑了就扣,不管拦没拦下。一次检查即使没有拦下任何 push,照样消耗 credits——计费的是"跑了检查"这个动作,不是"拦没拦下"这个结果。频繁 push 的仓库,这笔账要先算清楚。
/security-review的用量记在 Copilot 账单上。在 AI usage insights 里,它被归到 GHSP 名下,但买单的是你当前 Copilot 计划的账单账户。个人用户开之前,先看一眼自己计划的 credits 额度——Free 版的配额本来就不多。- SKU 名字叫 "Secret Protection AI Credits"。查账、对账、设预算,认准的就是这个名字。
- 预算告警不会自动停用量。管理员可以在 Billing and licensing 里设 SKU 级预算(产品选 Advanced Security,SKU 选 Secret Protection AI Credits),也可以设覆盖多个 SKU 的总预算。但 GitHub 明确提醒:光设告警不停用量,想要硬上限,必须打开 "Stop usage when budget limit is reached"。
- 已经在 private preview 里用着 push protection 的组织注意:计费生效后继续用就开始扣费,不想花这笔钱,提前关掉,别等到账单来了才反应过来。
公告里还有一句话,是写给 agent 时代的:"Agents shouldn't enable credit-consuming features or change policies or budgets without explicit authorization."——agent 不应在没有明确授权的情况下,开启耗 credits 的功能、修改策略或调整预算。安全功能的说明书里,第一次出现了"agent 的花钱权限"条款。这句话的分量,后面还会展开。
密钥防护开始按 AI Credits 计费
对 vibe coding 开发者意味着什么
先说个人开发者:门槛降了,账本近了。以前这类 AI 密钥检测是组织级安全套餐的专属,现在 Copilot 个人计划(连 Free 和 Student 版)都能 opt-in。但 credits 从你自己的 Copilot 计划配额里扣——羊毛出在自家羊身上,开之前先看一眼剩余额度,别让一次全仓库扫描把你这个月的额度烧光。
工作流上,建议把 /security-review 固定在 commit、push、提 PR review 之前跑一遍。它的定位是只读评审,不会动你的代码;等 secret classifier 上线后,它能在密钥进入仓库历史之前再多拦一道。对 vibe coder 来说,这比"我记得检查一下"可靠得多——人都靠不住,何况是赶时间的你。
更深一层的原因,藏在 GitHub 引用的一个数字里:现在三分之一的 pull request 涉及 AI agent。agent 写代码快,但它对"这串东西看着像密码"没有人类的直觉——它会心安理得地把硬编码密码写进配置文件、写进 docker-compose、写进 seed 脚本。护栏必须前移到 push 之前,而不是等泄露了再花平均 40 天去撤销、轮换、排查。在 agent 帮你 push 越来越多代码的 2026 年,push 前的那 2 毫秒,可能是你整个安全体系里性价比最高的一环。
组织管理员要做的事更具体:先去 Billing and licensing 里把 SKU 级预算设好,再考虑开 preview;如果暂时不想碰,也可以用策略直接把新能力禁用掉——GitHub 明确说了,opt-in 不会覆盖管理员的策略控制。顺序别反了:先看账,再开闸。
观点:安全正在变成按调用计费的 API
把这次更新放在更大的时间线里看,它真正的新闻不是"模型换了",而是"计费方式变了"。这是第一次,GitHub 把一项安全能力拆成按次调用、按量扣费的独立 SKU。以前安全是套餐制:买 GHSP/GHAS,功能全包;现在 push protection 和 /security-review 的新检查,是独立计量的 API 调用。这不是涨价,是计费颗粒度的变化——安全从"买断的功能",变成了"按需调用的服务"。
这一步为什么是必然的?算两笔账就明白。push 之前拦下密钥,成本是一次不到 2 毫秒的模型推理;push 之后再处理,成本是一个工程师平均 40 天的撤销、轮换、排查,外加泄露窗口期里所有"可能被利用"的不确定性。GitHub 的博客把这个不对称说得很透:密钥越过 push 边界之前,代价很小,决策是二元的(拦,还是放行);一旦越过,同一个字符串就能登录真实系统,代价无上限。当拦截成本趋近于零、泄露成本居高不下,把拦截做成"默认可调用、按次付费"的基础设施,是平台方的理性选择——也是唯一能跟上代码产出速度的选择。
而小模型,是这一切的前提。如果每次检查都要调一次大模型,push 路径的成本根本 hold 不住,更谈不上让"按次计费"显得划算。ModernBERT 这类专用小模型的路线——比 LLM 流水线更快、更准、更便宜——正是 agent 时代基础设施的典型解法:把高频、窄任务从大模型上卸载下来,装进便宜到可以"无脑调用"的小模型里。今天 GitHub 敢对一次安全检查按次收费,底气就来自这 2 毫秒的成本。
GitHub 提前几周公布计费模型,这个动作本身也值得注意。它等于告诉所有管理员:先看账、设预算,再开闸。而"agent 不得擅自开启耗 credits 功能"这句话,是平台第一次把 agent 的花钱权限写进安全功能的说明书——当 agent 开始替你花钱,"谁授权、谁买单"会成为每个平台都要回答的问题。GitHub 这次先写了第一版判例,后面跟进的只会越来越多。
最后,给开发者的三句判断。第一,预算表里给"看不见的安全调用"留一行:credits 花在哪要能查,AI usage insights 里认准 Secret Protection AI Credits 这个 SKU。第二,把 /security-review 写进固定流程,别依赖"我记得检查"——人靠不住,流程靠得住。第三,个人 Copilot 用户现在就可以规划起来,等 private preview 名额放出来,第一时间 opt-in。
密钥检测这件事,从正则表达式走到专用小模型,只用了几年。下一个几年,当 agent 写下大部分代码,安全检查会越来越多地变成"每次 push 自动扣一次 credits"的默认动作。今天 GitHub 把账单摊开给你看,恰恰是最好的时机——趁它还是 opt-in,把预算、策略、工作流都摆好。等它变成默认项的那天,你已经准备好了。
参考来源:GitHub Changelog 官方发布日志(2026-10-07《Purpose-built model for leaked secret detection》);Help Net Security 独立报道(2026-10-08《GitHub adds AI to catch passwords before a code push》);GitHub Blog 技术长文《Secret protection must scale with software》。
原始来源
相关文章

2026 年 10 月 8 日,Harness 宣布收购 Augment Code 部分资产,Cosmos 将变身“Harness Cosmos Software Factory Agent”。本文拆解这笔交易买了什么、软件工厂如何工作、Harness 的 agent-to-agent 闭环逻辑,以及它对 vibe coder 的启示。

Adversa AI 10 月 6 日披露新型攻击 CCI:恶意指令藏在 AES-256 加密文本中,诱使 Copilot CLI 在 autopilot 模式下用自己的代码环境解密,并把解密输出当成可信指令执行。演示里一个加密网页让 agent 读走本地 .env.prod 并外发,全程 28 秒、零确认、零提示。微软 mai-code-1.1-flash 50% 沦陷,GPT-5.6 系模型全部拒绝;GitHub 复现后拒绝认定为漏洞。本文复盘完整攻击链,并给出 vibe coder 今天就能照做的防护动作。

Simon Willison 用 ChatGPT 桌面端的 Codex 语音对话模式,在厨房里一边做饭、一边给自己的博客做出了 Newsletters 索引页——全程几乎没敲键盘。当顶级 practitioner 开始用嘴写代码,语音 + agent 正在从噱头变成真实生产力。本文复盘他的操作链、这种工作流的边界,以及想照抄的最小配置。