文章摘要
文章核心内容:VS Code存在一个计费漏洞,通过组合使用子代理和代理定义可以绕过付费机制,从而无限制地免费使用高级功能请求。该问题已在GitHub上被报告为第292452号议题。
文章总结
微软VS Code计费漏洞:利用子代理组合可绕过付费机制
核心问题
GitHub用户Angry-Orangutan在VS Code的Copilot功能中发现一个计费漏洞:通过组合子代理(subagents)与代理定义(agent definition),可无限免费调用本应收费的高级模型(如Opus 4.5,通常需消耗3次付费额度)。该漏洞利用以下机制:
免费调用链
- 初始会话使用免费模型(如GPT-5 Mini)发起请求
- 通过
runSubagent工具创建子代理,并指定子代理使用付费模型 - 系统仅对初始模型计费,子代理的付费模型调用未被统计
漏洞复现步骤
- 新建聊天会话,选择免费模型
- 创建代理并设置其模型为高级付费模型
- 通过初始消息指令触发子代理运行付费模型任务
技术细节
- 示例1:通过.prompt.md文件定义代理,将用户请求路由至付费模型子代理
- 示例2:通过设置chat.agent.maxRequests高值+脚本循环调用,单次请求可触发数百次付费模型调用(测试中持续3小时仅消耗3次额度)
社区反应
- 微软最初以"非安全问题"为由关闭issue,后经开发者抗议重新开启
- 用户@syrull公开表示已利用该漏洞开发第三方工具cocopilot
- 开发者@SujalXplores提出修复建议:
- 按实际调用模型计费
- 后端强化验证(禁止客户端篡改计费参数)
当前状态
- 漏洞仍存在,微软尚未发布官方修复
- 标签为chat-billing,由工程师@digitarald跟进
(注:原文中大量导航菜单、用户互动表情等非核心内容已精简,保留技术细节和关键讨论)
评论总结
总结评论内容如下:
- 对微软工作态度的质疑
- 认为微软近期工作敷衍:"Is it just me or is Microsoft really phoning it in recently?"(AustinDev)
- 讽刺微软随意处理账单系统:"vibe coding their billing systems"(pixelmelt)
- 关于账单漏洞的争议
- 有人建议享受免费福利:"Just enjoy the free ride"(lighthue1)
- 批评微软安全响应中心推卸责任:"MSRC insisted bypassing billing is outside of MSRC scope"(g947o)
- AI代理的使用价值
- 指出Copilot的经济优势:"$10/month...300 requests on Sonnet 4.5"(brushfoot)
- 质疑本地实现的业务逻辑:"implement business logic and guardrails LOCALLY"(sciencejerk)
- 对贡献管理的担忧
- 预测虚假贡献者会增加:"these kind of people will only increase"(ramon156)
- 理解白名单模式的必要性:"I completely understand why some projects are in whitelist-contributors-only mode"(ramon156)
- 历史对比
- 与20年前盗版比较:"Nothing compared to pirated CDs with Office"(zkmon)
注:所有评论均无评分数据,观点主要围绕微软的工作态度、账单漏洞处理、AI工具价值及开源项目管理等方面展开。部分评论带有讽刺语气,整体呈现对微软近期做法的不满情绪。