一个设置了7美元预算的开发者,醒来发现账单变成1.8万美元——这不是系统故障,而是一场关于"安全默认值"的残酷测试。Google Cloud的9道安全闸门全部默认关闭,自动升级机制却在攻击发生时悄然打开。
事件回放:攻击如何绕过了所有防线
![]()
澳大利亚AI顾问Jesse Davies是Agentic Labs的创始人,本月早些时候在LinkedIn上披露了自己的遭遇。他并非新手:使用Google AI Studio、按项目配置API密钥、分离计费账户、启用双因素认证、开启云审计日志——这些他都做了。
漏洞出在一个被遗忘的Cloud Run服务。几个月前,他从AI Studio发布了一个项目,其中API密钥以明文环境变量的形式存储在容器里。攻击者没有窃取密钥,而是直接访问了这个公开的URL,Google的代理服务器代为签署了每一笔请求。
「攻击者没有偷走我的密钥。他们找到了我几个月前从AI Studio发布的Cloud Run服务,访问了公开URL,Google自己的代理使用存储在容器中的明文环境变量API密钥,代他们签署了每一请求。」Davies在LinkedIn帖子中写道。
更棘手的是,这个链接从未被分享或索引。攻击者如何发现它,Davies没有说明,但公开服务的暴露面本身就构成了风险。
预算警报次日早晨才到达,但此时1万澳元(约7000美元)已经计入信用卡,账户显示资金不足。Davies还在与Google支持沟通时,又有1.5万澳元(约1万美元)入账。
正方:Google的自动升级机制是设计缺陷
Davies的账单暴涨,直接触发点是Google的自动账户分级系统。
他的账户最初处于Tier 2级别,信用额度上限为2000美元。当攻击导致消费突破1000美元阈值时,系统在没有通知的情况下自动升级到下一级,额度上限跃升至2万至10万美元。
这个机制的设计初衷是"让服务更容易扩展"——对于正常业务增长,避免额度瓶颈。但在攻击场景下,它变成了放大损失的加速器。
Davies明确指出了这一点:「Google在没有通知的情况下自动升级了我的账户等级。」
从产品设计角度,"静默升级"与"预算保护"存在根本张力。预算的核心价值是硬约束,而自动升级的核心价值是弹性——当两者冲突时,Google选择了后者。
更深层的问题是9项安全功能的默认关闭状态。Davies逐一排查后发现,这些本可阻断攻击的功能需要用户手动开启。对于个人开发者和小团队,"安全即默认"与"按需启用"之间的选择,直接影响风险敞口。
云厂商的商业模式也值得关注。Google Cloud的收入与使用量挂钩,自动升级机制在客观上降低了用户因额度不足而中断服务的可能性——同时也降低了因攻击而中断的可能性。这种设计是否经过充分的风险权衡,Davies与Google管理层的后续会议可能会触及。
反方:开发者的密钥管理实践存在盲区
回到攻击的起点:API密钥以明文存储在容器环境变量中,且服务于公开可访问的URL。
这是云安全的基础红线。环境变量在容器化部署中虽常见,但"明文+公开服务"的组合意味着任何发现URL的人都可以无成本调用。Google AI Studio的导出流程是否对此有足够警示,是另一个问题,但配置责任首先落在部署者。
Davies自己也承认这是"单一薄弱环节"(single weak link)。他的防护措施——按项目密钥、分离计费、双因素认证、审计日志——针对的是账户层面的入侵,而非服务层面的暴露。攻击向量恰好选择了这条未被覆盖的路径。
Cloud Run服务的公开属性也值得审视。Davies称链接"未被分享或索引",但公开URL本身就意味着可被扫描发现。现代云环境的攻击面管理(Attack Surface Management)已成为独立赛道, forgotten public endpoints(被遗忘的公开端点)是常见隐患。
从成本责任角度,云厂商普遍采用"使用者付费"模型。Google Cloud的服务条款中,账户持有者对API密钥的使用负责是标准条款。自动升级机制虽有争议,但其触发条件是真实的消费发生——消费源于有效的API调用,而非系统错误。
支持响应的延迟是另一个焦点。Davies花了数天才联系到真人客服,这在紧急账单事件中确实构成体验缺陷。但支持渠道的设计与账单责任是不同维度的问题,不能简单归因为"Google应全额承担"。
判断:云安全的责任边界需要重新谈判
这件事的核心矛盾不是技术漏洞,而是风险分配机制的失效。
Davies最终获得了费用豁免,银行也退回了已扣款交易。这个结果具有个案性质,还是反映了Google对类似事件的默认处理策略,原文未说明。但"费用被豁免"本身说明,Google在公关风险和条款执行之间选择了前者——这恰恰证明现有机制经不起公开审视。
自动升级机制的设计逻辑需要重构。"扩展便利性"与"损失防护"不应是非此即彼。可行的改进方向包括:升级前强制确认、攻击检测触发的人工审核、或允许用户设置"硬上限"覆盖自动升级。这些技术方案都不复杂,缺的是产品优先级。
9项安全功能的默认关闭状态,是云行业的普遍现象。AWS、Azure同样有大量安全特性需要手动启用,背后是"不破坏现有工作流"的保守主义。但个人开发者与企业的风险承受能力截然不同,云厂商是否应为个人账户提供"安全强化模式",值得探讨。
AI工具链的引入加剧了这种张力。Davies从Google AI Studio导出到Cloud Run的流程,将"实验环境"与"生产环境"的边界模糊了。AI Studio的设计初衷是快速原型,但一键部署的便利性可能让用户低估生产级风险。工具链的每个环节都需要重新审视安全假设。
对于25-40岁的科技从业者,这个案例的具体启示是:检查你的云账户分级设置,确认是否存在自动升级条款;审计所有公开可访问的服务端点,无论是否"被分享过";将API密钥从环境变量迁移到专用密钥管理服务;为实验项目与生产项目建立物理隔离的账户结构。
云厂商与用户的责任边界,正在被AI时代的开发范式重新定义。Davies的1.8万美元账单是一个昂贵的测试用例——它测试的不是某个人的疏忽,而是一整套预设规则的合理性。规则可以被改写,但改写通常需要有人先付出代价。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.