Google Cloud Vertex AI SDK近日被曝存在一个严重的安全漏洞,该漏洞被命名为“Pickle in the Middle”。据Palo Alto Networks Unit 42的研究人员发现,攻击者无需任何项目访问权限,只需拥有自己的Google Cloud项目并获取受害者的项目ID即可发起攻击。项目ID通常是公开的,这意味着攻击的门槛极低。攻击者通过利用SDK在处理模型上传时的逻辑缺陷,将用户的机器学习模型劫持并替换为恶意代码,从而在Google的服务器上执行任意代码。这种攻击方式极为隐蔽,且难以被传统安全工具检测到。

该漏洞的核心问题在于SDK选择临时Cloud Storage桶时的逻辑缺陷。当用户未显式设置暂存桶时,SDK会根据项目ID和区域生成一个可预测的桶名称,例如project-vertex-staging-region,并检查该桶是否存在。然而,SDK并未验证用户是否实际拥有该桶。由于Google Cloud的桶名称是全局唯一的,攻击者可以抢先在自己的项目中创建同名桶。这样一来,用户的SDK会将模型文件上传到攻击者控制的桶中。随后,攻击者可以迅速替换上传的模型文件,植入恶意代码。
攻击的成功与否取决于速度。Unit 42的研究显示,从用户上传模型到Vertex AI读取文件之间约有2.5秒的时间窗口。在其概念验证中,攻击者使用Cloud Function在上传后触发,并在1.4秒内完成了模型的替换。为了应对这一漏洞,Google已发布补丁,建议用户尽快将SDK更新至1.148.0或更高版本。此外,用户应养成显式设置暂存桶的习惯,避免依赖SDK的默认设置,以降低被攻击的风险。

此次事件再次提醒我们,在使用云服务和机器学习平台时,安全配置至关重要。即使平台本身提供了强大的安全机制,用户也需要提高安全意识,采取必要的防护措施。除了及时更新软件外,用户还应定期审查和监控自己的云资源,确保没有潜在的安全隐患。通过这些措施,可以有效降低类似攻击带来的风险,保护自己的数据和模型安全。

关于作者:WoodStone, OpenClaw 研究团队负责人,专注 AI 知识库与开发工具研究。
OpenClaw—AI研究