有个在澳大利亚做人工智能顾问的人,叫杰西·戴维斯,最近碰上件特别离谱的事。他本来只给谷歌云账户设了7美元、也就是大概50块人民币的月度预算,结果一觉醒来,账单居然飙到了18392美元,差不多13万多人民币。所有费用都是在夜里短短几个小时里产生的。



戴维斯说自己其实挺熟悉谷歌那套AI开发平台的安全规范,平时会为每个项目单独配API密钥,分开设独立的计费账户,还开了双重认证和云审计日志,做得挺仔细的。

但后来他发现,攻击者并没有偷走他的密钥,而是找到了他几个月前发布的一个云端托管服务的公开链接。这个链接他从来没对外发过,搜索引擎也搜不到,可还是被黑客盯上了,对方借此发起了超过6万次请求。

问题在于,谷歌的官方代理程序会自动读取容器里明文存放的API密钥环境变量,每一次请求它都会帮着完成授权签名。

结果第二天早上,预算预警通知才刚推过来,戴维斯的信用卡就已经被扣了6881美元,差不多4.7万人民币。后来他跟谷歌客服沟通期间,又被多扣了大约10321美元,合7万多人民币。

更夸张的是,谷歌云其实有9项能防止这类事故的安全功能,但全都没打开,默认就是关着的。

更糟的是,谷歌没发出任何通知,就自动把他的账户等级升了。原来他账户是2级权限,消费上限是2000美元,差不多1.44万人民币。结果异常消费一过1000美元的门槛,系统就自动提档了,消费上限直接放宽到了2万到10万美元之间,也就是大概14万到72万人民币。

好在这事最后妥善解决了,谷歌把欠费全都免了,银行也把已经扣的钱退回来了。戴维斯已经约了谷歌的管理层见面,专门谈这个安全漏洞的问题。

其实这种事不是第一次发生,谷歌云社区论坛里不少用户都有过类似遭遇。比如有个日本用户正常用着云服务,结果莫名其妙收到44000美元、约31万多人民币的账单。手动关了API接口之后,费用还在涨,最后到了128000美元,差不多92万人民币。

今年3月还有一个人,API密钥被人滥用了,两天之内刷出了82314.44美元、大概59万多人民币的账单。而他那个账户平时一个月就花180美元,合1296块钱。

网络安全公司Truffle Security Co.早就提醒过,谷歌云的API密钥设计是统一格式的,本来只是用来识别不同项目的。可一旦某个项目开通了大模型接口服务,老旧的通用密钥就会自动升级成能扣费的授权凭证。密钥一旦泄露,攻击者就可以随便调用付费接口,刷刷刷地把账单刷上去。

如果谷歌接下来不改API权限的规则,也不把这些安全短板补上,这种天价扣费的事估计还会一而再再而三地发生。