随着Gemini API正式上线,原本仅用于计费的谷歌云公开API密钥被悄然赋予了访问AI项目数据的权限。Truffle Security公司发现2863个暴露密钥可被截获,用于窃取数据或恶意消耗Token制造高额账单,波及金融机构及谷歌自身。

Truffle Security研究人员近日发现,谷歌云API密钥通常被用作地图或YouTube等API的简单计费标识符,但这些密钥可从公开渠道获取,从而可访问私有的Gemini AI项目数据。
该公司披露,根据其11月对公共网络进行的扫描结果,有2863个仍在使用的谷歌API密钥使相关组织面临风险,其中包括“大型金融机构、安全公司、全球招聘公司,值得注意的是,还有谷歌自身”。
这一安全隐患源于谷歌云平台API密钥状态的静默变更,而谷歌公司并未将这一变更告知开发者。
十余年来,谷歌的开发者文档始终将这些以“Aiza”为前缀的密钥描述为用于识别项目以进行计费的机制。开发者生成密钥后,将其完整嵌入客户端HTML代码中公开展示。
然而,随着2024年末Gemini API的推出,这些密钥似乎也开始充当嵌入Gemini AI助手的身份验证密钥。
未获预警
开发者可能使用原始的公共GCP API密钥构建具有基础功能的应用,例如嵌入地图功能,该功能的使用情况会通过此密钥进行计量。当他们后续在同一项目中添加Gemini功能时,同一密钥实际上就验证了对所有者通过Gemini API存储的任何内容的访问权限,包括数据集、文档和缓存内容。由于这是AI,提取数据就像提示Gemini透露数据一样简单。
Truffle Security表示,同样的访问权限也可能被利用来通过API消耗令牌,这可能给所有者带来巨额账单或耗尽他们的配额,攻击者只需查看应用源代码并提取密钥即可。
研究人员指出:“你的公共地图密钥现在成了Gemini身份凭证,任何截获该密钥的人都可以访问你上传的文件、缓存内容,并增加你的AI账单,却没有人告诉过你。”
API密钥的利用并非只是假设,据披露,去年6月,一名学生在GitHub上泄露了一个GCP API密钥,该密钥被他人提取并重复使用后,该学生背负了55444美元的账单(后被谷歌免除)。
Truffle Security表示,其已于11月向谷歌披露了密钥问题,谷歌最终承认该问题是真正的漏洞。在被告知有2863个密钥被泄露后,谷歌限制了这些密钥访问Gemini API的权限。
2月19日,90天的漏洞披露窗口期结束,谷歌显然仍在努力进行更全面的修复。
Truffle Security公司表示:“最初的分类令人沮丧,报告被驳回,称是‘预期行为’,但在提供了来自谷歌自身基础设施的确凿证据后,GCP漏洞披露计划团队认真对待了这一问题,以谷歌的规模构建软件极其困难,而且Gemini API继承了为不同时代构建的密钥管理架构。”
缓解措施
相关管理员的首要任务是在GCP控制台中检查专门允许生成式语言API的密钥,此外,还要查找不受限制的密钥,这些密钥现在会显示黄色警告图标,检查这些密钥中是否有公开的。
所有暴露的密钥都应进行轮换或“重新生成”,并设置一个宽限期,以考虑此操作对缓存了旧密钥的下游应用程序的影响。
这一漏洞凸显了云演进过程中的小疏忽可能带来更广泛、不可预见的后果。Truffle Security指出,谷歌现在在其路线图中表示,正在采取措施解决API密钥问题:通过AI Studio创建的API密钥将默认仅限Gemini访问,谷歌还将阻止泄露的密钥,并在检测到此类情况时通知客户。
Truffle Security承认:“我们希望谷歌能更进一步,对现有受影响的密钥进行追溯审计,并通知可能在不知情情况下暴露的项目所有者,但说实话,这是一项艰巨的任务。”
