核心风险:过去十余年谷歌官方指导将AIza...格式的API密钥直接嵌入客户端JS/HTML代码中(用于Maps、Firebase等)。这些密钥原本仅为计费标识,谷歌称“API密钥并非机密”。但当同一GCP项目启用Gemini API(生成式语言API)后,所有无限制旧密钥自动、静默获得对Gemini敏感端点的完整访问权——无通知、无警告、无确认。

结果:三年前公开的地图密钥,可能在一夜间变成能窃取用户上传文件、AI缓存上下文、制造巨额账单的凭证。

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.

(Truffle Security官方示意图:从“公开无害”到“敏感后门”的权限跃迁过程)

漏洞本质:权限提升而非配置失误
  • 成因:事件顺序问题 + 不安全默认值
    • 开发者按谷歌旧文档公开Maps/Firebase密钥
    • 后续团队启用Gemini API(generativelanguage.googleapis.com)
    • 所有项目内无限制密钥立即继承Gemini访问权限
  • ** CWE分类**:CWE-1188(不安全默认初始化) + CWE-269(不当权限分配)
  • 新密钥默认“无限制”,可访问项目中所有已启用API,包括后来添加的Gemini。

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密钥时的警告:默认无限制,强烈建议添加限制)

攻击路径:零基础设施、只需浏览器
  1. 访问任意含公开密钥的网站 → 查看源码提取key=AIza...
  2. 直接调用Gemini端点(如列出文件):

    Bash

    curl "https://generativelanguage.googleapis.com/v1beta/files?key=AIza..."
  3. 若返回200 OK,即可:
    • 读取/files/与/cachedContents/:用户上传文档、数据集、AI对话上下文
    • 疯狂调用模型 → 每日数千美元账单(真实案例:48小时刷出$82,000)
    • 耗尽配额 → 导致合法Gemini服务瘫痪

Dissecting Gemini API Call's Network Traffic | Keysight Blogs

Dissecting Gemini API Call's Network Traffic | Keysight Blogs

(Gemini API典型请求示例截图,展示文件/内容端点调用方式)

暴露规模(Truffle Security 2025年11月扫描)

扫描Common Crawl(约700TiB公开网页存档)发现2,863个活跃、仍有效的Google API密钥可访问Gemini。受害者涵盖:

  • 大型金融机构
  • 知名安全公司
  • 全球招聘平台
  • 谷歌自身部分公开页面密钥(包括2023年2月嵌入的,早于Gemini发布)

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.

(Firebase旧官方文档截图:明确声明“API密钥并非机密”)

谷歌修复进展(截至2026年2月披露)
  • 已实施:新AI Studio密钥默认限定范围;自动拦截野外泄露密钥;向开发者发送暴露通知
  • 未完成:架构级根本修复(旧密钥对Gemini的静默授权)
  • 建议:所有旧项目立即手动限制或轮换密钥
企业/开发者应急行动清单
  1. 审计GCP项目 Google Cloud控制台 → API和服务 → 已启用API → 搜索“生成式语言API”或“Gemini”
  2. 检查密钥限制 凭据 → 筛选“无限制”或包含generativelanguage.googleapis.com的密钥 → 立即添加API限制(仅Maps等原有服务)

Google Maps Platform security guidance | Google for Developers

(谷歌控制台密钥限制界面:可精确选择允许的API)

  1. 全局搜索公开密钥 在代码库、JS文件、Git历史、CI/CD中搜索AIza
  2. 优先轮换 2018–2023年按旧指南部署的密钥
  3. 使用TruffleHog扫描

    Bash

    trufflehog filesystem /path/to/code --only-verified
    (自动验证密钥是否仍有效并可访问Gemini)

Announcing TruffleHog Terminal UI ◇ Truffle Security Co.

Announcing TruffleHog Terminal UI ◇ Truffle Security Co.

(TruffleHog终端UI示例:扫描代码库发现泄露密钥的实际输出)

结语:AI集成时代,传统“公开凭证”正成为定时炸弹

这种“旧标识符静默变高危AI凭证”的模式,可能不止谷歌一家。随着大模型能力快速叠加到遗留平台,过去“安全”的做法正以灾难性方式暴露攻击面。

立即行动建议

  • 所有GCP用户默认启用密钥限制
  • 定期轮换 + 监控泄露
  • 绝不公开嵌入任何可能访问AI服务的密钥

完整技术细节参考:Truffle Security原报告(2026年2月25日)。如需针对具体项目排查,可提供更多上下文协助。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐