ForestForest

薅 Google 羊毛翻车记:Antigravity 封号事件始末

9 min read

前几天刷新闻,看到一条消息:Google 的 AI 编程工具 Antigravity 大规模封号了,连每月掏 250 美金的付费用户都没放过。

我一开始以为是普通的封号新闻,看了两眼就划走了。结果这两天越来越多人在讨论,什么"蹭流量"、"OAuth 漏洞"、"代理服务器薅羊毛"——说实话这些词堆在一起,我完全没搞明白到底发生了什么。

于是花了点时间查资料、翻论坛、读了几篇技术分析,总算把这件事的来龙去脉理清了。写下来分享一下,也算是给自己做个笔记。


先说说 Antigravity 是什么

Google Antigravity 是 Google DeepMind 去年底发布的一个 AI 编程工具,说白了就是一个魔改版的 VS Code,但里面塞了 Gemini 3 模型。它不是那种普通的代码补全工具——它能自己操作文件系统、开终端、甚至打开浏览器,算是一个有手有脚的 AI Agent,能自主完成从零搭建一个全栈应用这种复杂任务。

听起来很厉害对吧?确实厉害。问题是,厉害的东西往往也贵。Antigravity 的高级订阅 AI Ultra 要 250 美金一个月。

不过 Google 在定价上很"慷慨"——订阅之后给的 token 配额非常大,毕竟是设计给你在 IDE 里写代码用的,正常人一天能用多少?

然而事情就是从这个"慷慨"开始变味的。


"薅羊毛"到底是怎么回事

整件事的原理其实不复杂,拆成三步就能明白。

第一步:钥匙放在了门垫底下。

Antigravity 是一个桌面应用,它通过 OAuth 认证连接 Google 的后端 API。这里有个关键的技术细节:桌面应用的 OAuth 密钥(client secret)是存在你自己电脑上的。

这就好比你家大门的钥匙,不是藏在你兜里,而是放在门口的花盆底下。你自己当然方便进出,但别人只要知道花盆底下有钥匙,也能进你家。

第二步:有人搭了一座桥。

社区里有人开发了代理服务器(比如一个叫 antigravity-claude-proxy 的开源项目),干的事情很简单:假装自己是 Antigravity IDE,把请求转发给 Google 后端,拿到响应后再翻译成其他工具能理解的格式。

打个比方,这就像有人伪造了你的身份证,用你的名义去自助餐厅吃饭,账单记在你头上——不对,应该说记在 Google 头上。

第三步:花小钱办大事。

通过这个代理,用户可以在 Claude Code、OpenClaw 等第三方工具里直接调用 Gemini 3 的算力。也就是说,花一份 IDE 订阅的钱,享受了 API 级别的无限调用。

250 美金一个月,换来的不是一个人在 IDE 里写代码的额度,而是让 AI Agent 7×24 小时不停歇地跑任务。这笔账,Google 可亏大了。

OAuth 代理薅羊毛的原理示意


Google 是怎么发现的

这是我在整个事件里觉得最有意思的部分。Google 没有公开全部技术细节,但从各种来源可以拼凑出大致的检测逻辑。

首先是宏观层面:流量异常。

这个最直观。当 OpenClaw 这类工具的集成方案在社区传开之后,Google 后端的请求量突然暴涨。正常用户开始遇到响应变慢、超时之类的问题。工程师一看监控面板——嚯,流量曲线像坐了火箭。

然后是行为分析:你不像个人。

正常人在 IDE 里写代码是有节奏的——写一会儿、想一会儿、跑一下、改一改。这是人类的编码模式。但通过代理跑 AI Agent 的请求长这样:7×24 不间断、毫秒级连续发送、大量并发。

这就好比一个餐厅发现有个客人从早上开门吃到凌晨打烊,中间不喝水不上厕所,一刻不停地往嘴里塞食物。正常人能这样吗?

接着是指纹验证:冒牌货露馅了。

即使代理服务器做了伪装,Google 后端可以通过 OAuth Client ID、请求头指纹、TLS 指纹等多个维度来验证请求到底是不是真的来自 Antigravity 客户端。伪造一两个参数容易,但把所有指纹都模拟到位,难度就大了。

最后还有一招:Token 污染追踪。

据报道,Google 会给被异常使用过的 token 打上标记。即使你后来不用代理了,切回了正版 Antigravity,只要你电脑上还存着那个被"污染"的 token 文件,系统就能把你和之前的违规行为关联起来。

有点像在钞票上做了隐形标记,不管这张钱转了多少手,只要过验钞机,都能追溯到源头。

Google 检测滥用的四层机制


发现之后呢?Google 动真格了

Google 的应对可以用四个字概括:零容忍封杀

  • 检测到通过非官方客户端调用 API 的账号?直接 403 封禁。
  • 提前警告?没有。
  • 申诉渠道?没有。
  • 你是 250 美金一个月的付费用户?照封不误。

DeepMind 的工程师 Varun Mohan 在 X(前 Twitter)上的措辞是"恶意使用"(malicious usage)。

这就引起了巨大的争议。有人觉得封得好——你明知故犯薅人家羊毛,还想全身而退?也有人觉得太过分了——有些用户声称只是好奇试了一下就被永久封禁,连警告都没有。而且 250 美金的订阅费呢?说封就封,钱也不退,这吃相是不是太难看了。


有意思的对比:别人家是怎么处理的

这件事最让我开眼的地方,不是 Google 的封号操作本身,而是把它和其他家放在一起比较之后看到的差异。

Anthropic(Claude):同样被薅了,但温柔得多。

Claude Code 也是桌面工具,也用 OAuth 认证,也面临了完全一样的问题。第三方工具提取了 Claude 订阅的 OAuth token,其中 OpenCode(GitHub 上十万多星)甚至直接伪造了 Claude Code 的 HTTP 请求头。

社区还发明了一个叫"Ralph Wiggum"的骚操作——让 Claude 进入自动修复死循环,不断重试直到测试通过,整晚无人值守地跑。一个用户就能烧掉惊人的算力。

但 Anthropic 是怎么处理的?

它没有封号。

它只是在服务端让相关 token 失效,返回一条错误信息:"This credential is only authorized for use with Claude Code。" 你换个正常的方式登录就行了,账号还是你的,订阅还在。

Anthropic 甚至专门发了声明:"We will not be canceling accounts."

同样是被薅羊毛,一个选择了"温柔降级",一个选择了"核弹打击"。用户的观感,天差地别。

Cursor / Windsurf:根本薅不动。

这是最有意思的部分。Cursor 和 Windsurf 这两个 AI IDE 基本没出现过大规模薅羊毛的问题。不是因为没人想薅,而是架构上就薅不动。

为什么?因为它们用的是服务端代理架构

Antigravity 的架构是:用户电脑上的 IDE → 直接连 Google 后端(OAuth token 在你电脑上)。 Cursor 的架构是:用户电脑上的 IDE → Cursor 自己的服务器 → 再去连 OpenAI/Anthropic(API Key 在 Cursor 服务器上)。

看出区别了吗?Cursor 的 AI 厂商 API Key 从来不会出现在用户的设备上。你就算把 Cursor 客户端拆了个底朝天,能拿到的也只是跟 Cursor 自己服务器通信的 session token,没法直接调 OpenAI 的 API。

这就好比——Antigravity 是把保险柜钥匙给了你让你自己去银行取钱,Cursor 是让你把取款需求告诉它的员工,由员工代替你去银行操作。你压根就摸不到钥匙。

所以问题的根源不在于用户有多坏,而在于你的密钥放在了哪里。

三种架构对比:密钥位置决定了安全性


说到底,这是一个关于"信任"的故事

整理完这些资料,我最大的感受是:技术架构里的每一个决策,最终都会以意想不到的方式反噬你。

Google 和 Anthropic 都选择了桌面 OAuth 认证——这本身不是错,毕竟很多桌面应用都这么做。但当你的产品背后是价值巨大的 AI 算力,而且定价模型又假设用户只会在 IDE 里正常编程时,"信任客户端"就变成了一个代价高昂的假设。

有趣的是,Cursor 从一开始就没犯这个错误。它多加了一层服务端代理,看起来只是一个架构上的小决策,却从根本上避免了整个问题。

至于 Google 和 Anthropic 在应对策略上的差异——一个温和一个铁腕——这就不只是技术问题了。这反映的是两家公司在面对同一困境时截然不同的价值取向。Anthropic 选择了对用户友好但对自己"亏一点"的方式,Google 选择了保护基础设施但得罪用户的方式。孰优孰劣,见仁见智。

但有一点大概所有人都能同意:如果要封号,至少给个警告吧。毕竟不是所有人都是来"恶意使用"的,有些人可能真的只是出于好奇试了一下而已。


最后

这件事让我想起一句老话:不怕贼偷,就怕贼惦记。

当你把钥匙放在花盆底下的时候,就别怪邻居"不道德"了——你得先反思一下自己的安全措施是不是太佛系了。

对于我们这些普通开发者来说,这个事件倒是提了个醒:在使用各类 AI 工具的时候,了解一下背后的认证机制和 ToS 条款,总归是没坏处的。毕竟万一哪天心血来潮试了个第三方集成,结果号没了,那可就真是赔了夫人又折兵了。


参考资料:

Share this article

Comments

0/2000