Google API密钥“权限升级”危机:近3000个公开密钥可直接访问Gemini AI私密数据

Google API密钥“权限升级”危机:近3000个公开密钥可直接访问Gemini AI私密数据

安全研究人员最新发现,长期嵌入网页前端代码中、原本用于Google Maps、YouTube等服务的Google Cloud API密钥,如今可被直接用于向 Gemini AI助手 进行身份认证,并访问项目中的私密数据。

研究团队在扫描多个行业机构的公开网页(甚至包括谷歌自身的产品页面)时,发现了近 3000个 仍在生效的此类密钥。

Thousands of Public Google Cloud API Keys Exposed with Gemini Access After API Enablement

问题根源:Gemini推出改变了游戏规则

在Gemini AI助手推出前,Google Cloud API密钥通常被视为“非敏感”的项目标识符或计费令牌。即使公开暴露在前端JavaScript代码中,开发者也普遍认为没有太大安全风险。开发者常用这些密钥实现网站功能,例如:

  • 加载交互式地图
  • 嵌入YouTube视频
  • 使用Google统计服务
  • 集成Firebase功能

然而,当开发者在Google Cloud项目中启用Generative Language API(Gemini API)后,这些旧密钥会静默获得Gemini访问权限,从单纯的“计费ID”升级为有效的AI身份凭证。

Previously harmless Google API keys now expose Gemini AI data

Previously harmless Google API keys now expose Gemini AI data

攻击者只需从网页源代码中复制API密钥,即可通过Gemini API访问上传文件、缓存内容等私密数据,甚至滥用调用接口为自己牟利。

实际危害:数据泄露 + 高额账单

由于Gemini API按使用量计费,攻击者可通过刷调用量给受害者制造巨额费用。根据模型类型和上下文窗口不同,单个被滥用的密钥每天可能产生数千美元的账单(真实案例中曾出现48小时内8.2万美元的巨额扣款)。

研究人员使用2025年11月的 Common Crawl 数据集进行分析,在公开JavaScript代码中发现了 2863个 正在使用的暴露Google API密钥。其中部分密钥属于大型金融机构、安全公司和招聘平台。

Google API Keys Weren't Secrets. But then Gemini Changed the Rules. ◇ Truffle Security Co.

Google API Keys Weren't Secrets. But then Gemini Changed the Rules. ◇ Truffle Security Co.

一个典型案例显示,某枚仅用作标识符的API密钥至少从2023年2月起就已部署在谷歌某产品的公开网页源代码中。研究人员使用该密钥成功调用了Gemini API的/models接口,列出了可用模型列表。

谷歌的响应与修复措施

研究人员于2025年11月21日向谷歌通报该问题。经过多轮沟通,谷歌于2026年1月13日将此问题归类为“单服务权限提升”漏洞。

谷歌已实施以下措施:

  • 新创建的AI Studio密钥默认仅开放Gemini权限范围
  • 已识别的泄露API密钥将被禁止访问Gemini API
  • 检测到密钥泄露时,将主动向项目所有者发送通知

同时,谷歌建议所有开发者立即采取行动:

  • 检查项目中是否已启用Gemini(生成式语言API)
  • 审计所有API密钥是否公开暴露在前端代码中
  • 立即轮换存在风险的密钥,并为密钥添加严格的API限制
安全启示

这一事件再次提醒开发者:安全假设会随着新功能引入而悄然改变。曾经“安全”的公开API密钥,在AI时代可能瞬间成为高危凭证。推荐做法包括:

  • 优先使用服务账户密钥而非通用API密钥
  • 为所有密钥配置最小权限原则(restrict by API/service)
  • 定期扫描前端代码中的硬编码密钥

Read more

前端WebSocket实战:别再只会用HTTP了

前端WebSocket实战:别再只会用HTTP了

前端WebSocket实战:别再只会用HTTP了 毒舌时刻 这代码写得跟网红滤镜似的——仅供参考。 各位前端同行,咱们今天聊聊前端WebSocket。别告诉我你还在用轮询获取实时数据,那感觉就像每隔一分钟就去敲门问"好了没"——烦人又低效。 为什么你需要WebSocket 最近看到一个项目,实时聊天功能用轮询实现,每秒请求一次服务器,我差点当场去世。我就想问:你是在做实时通信还是在做DDoS攻击? 反面教材 // 反面教材:轮询获取数据 function startPolling() { setInterval(async () => { const response = await fetch('/api/messages'); const messages = await response.json(); updateMessages(messages); }, 1000); // 每秒请求一次 } // 服务器:求放过 // 带宽:我扛不住了 毒舌点评:

Android WebView 版本升级方案详解

Android WebView 版本升级方案详解 目录 1. 问题背景 2. WebViewUpgrade 项目介绍 3. 升级方法详解 4. 替代方案对比 5. 接入与使用步骤 6. 注意事项与限制 7. 总结与建议 问题背景 WebView 版本差异带来的问题 Android 5.0 以后,WebView 升级需要去 Google Play 安装 APK,但即使安装了也不一定能正常工作。像华为、Amazon 等特殊机型的 WebView 的 Chromium 版本一般比较低,只能使用它自己的 WebView,无法使用 Google 的 WebView。 典型问题场景 H.265 视频播放问题:

玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

目录 本轮目标 具体实践 一、开启 Figma 的 MCP 服务器 二、Claude Code 连接 Figma MCP 三、Claude Code 代码实现 Figma 设计稿 本轮目标 本轮目标是制作数字化大屏的一个前端组件,要求和UI设计图还原度达到1:1。 本轮目标需要我们提前准备好figma客户端,且登录帐号具有开发模式的权限(没有可以去某夕)。Claude Code 就不必多说,没有安装的同学参考我的上一篇文章《玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)》完成安装,通过专属链接注册,可以额外领取100美金的免费使用额度。 安装教程参考:玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)_claude code安装-ZEEKLOG博客文章浏览阅读2.5w次,点赞67次,

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码 在现代前端开发中,从设计稿到可用页面的交付往往需要大量重复劳动:切图、手写样式、布局调整……而借助 MCP Server - Figma AI Bridge,我们可以将 Figma 设计稿自动转换成整洁的 HTML/CSS/JS 代码,并立即生成可预览的网页。一键化、傻瓜式操作,让设计交付效率跃升。 先下载 Trae IDE,让我们一起开始吧! [立即免费获取 Trae]:https://trae.ai 演示环境 本文测试使用的系统环境如下: * Trae IDE 版本:0.