VS Code Copilot 计费绕过漏洞,免费无限使用高级模型
- 通过子代理和代理定义组合可以绕过 Copilot 计费
- 从免费模型开始的请求不会收取高级模型费用
- 一次消息触发了数百个 Opus 4.5 子代理运行超过 3 小时
Copilot 计费体系的结构性缺陷
GitHub Copilot 的计费系统中发现了一个严重的漏洞。该问题已报告为 VS Code GitHub Issue #292452,源于子代理功能和代理定义的组合。[GitHub Issues]
方法很简单:使用免费模型开始聊天,定义使用高级模型的代理,然后使用 runSubagent 调用它。
费用计算仅适用于初始模型的问题
关键在于请求费用仅根据初始模型计算。 如果从免费模型开始,即使子代理使用高级模型也不会产生费用。 一次消息触发了数百个 Opus 4.5 子代理运行超过 3 小时,但仅消耗了 3 个积分。[GitHub Issues]
这不是 UI 错误,而是计费架构的设计缺陷。 原因是子代理模型费用未归属于上层请求的结构。
AI 工具计费设计的教训
此漏洞展示了 AI 代理时代计费设计的难度。 基于单一模型调用的计费系统在代理之间的多层调用结构中可能会变得脆弱。[GitHub Docs]
希望这能为运营类似结构的 AI 服务的团队提供参考。
常见问题 (FAQ)
Q: 此漏洞会影响所有 VS Code 用户吗?
A: 仅在使用代理定义和子代理功能的 Copilot 订阅环境中才能重现。 仅使用常规代码自动完成功能的用户不受影响。 它发生在启用了代理模式的 Copilot Chat 中,通过特定组合触发,Microsoft 可能会在服务器端进行修补。
Q: 什么是子代理?
A: AI 代理将特定任务委托给其他代理的结构。 主代理将任务分解并分配给子代理。 子代理可以使用与主代理不同的模型,而此漏洞正是利用了这一点。
Q: 这种计费绕过是否会引起法律问题?
A: 这可能违反服务条款。 大多数 AI 服务禁止计费绕过。 本案例是出于安全研究目的的公开报告,但实际滥用可能会导致帐户暂停或法律诉讼。 发现漏洞时,负责任的公开非常重要。
如果这篇文章对您有帮助,请订阅 AI Digester。
参考资料
- Billing can be bypassed using a combo of subagents with an agent definition – GitHub (2026-02-03)
- VS Code Repository – GitHub (2026-02-03)
- GitHub Copilot Documentation – GitHub Docs (2026-02-03)