Hacker News

Google API 密钥不是秘密,但后来 Gemini 改变了规则

了解 Gemini 如何更改 Google API 密钥安全规则。开发人员需要了解有关保护曾经被认为可以安全公开的 API 密钥的知识。

3 最小阅读量

Mewayz Team

Editorial Team

Hacker News

当“设计公开”成为安全责任时

近二十年来,构建 Google 生态系统的开发人员学到了一个微妙但重要的教训:Google API 密钥并不是真正的秘密。如果您在 JavaScript 文件中嵌入 YouTube 数据 API 密钥,Google 不会感到惊慌。如果您的 Maps API 密钥出现在公共 GitHub 存储库中,则安全响应本质上是耸耸肩并提醒您设置域限制。整个模型是围绕这样的假设构建的:这些密钥将存在于客户端代码中,暴露给打开 DevTools 的任何人。

这种哲学在很长一段时间内都是有意义的。在没有域限制的情况下公开的地图 API 密钥可能会带来意外的账单,但它不会泄露患者记录或耗尽银行帐户。爆炸半径是经济且可控的。谷歌的工具——推荐人限制、IP白名单、配额限制——旨在遏制损害,而不是完全防止暴露。

然后双子座到来,规则改变了。问题是数以百万计的开发者还没有收到这份备忘录。

遗留的思维模型现在正在让开发人员感到痛苦

旧的谷歌开发者体验是故意宽松的。当您创建 Maps JavaScript API 密钥时,文档实际上鼓励您将其直接放入 HTML 中。安全模型不是保密——而是限制。您可以锁定域的密钥,设置配额警报,然后继续。这是务实的工程:客户端应用程序确实无法向坚定的用户保守秘密,因此谷歌构建了一个承认这一现实的系统。

这造就了一代开发人员,更重要的是,形成了一代制度习惯,其中 Google API 密钥占据了与 Stripe 密钥或 AWS 访问凭证不同的心理类别。您不会将 Stripe 密钥粘贴到公共存储库中。但是你的地图键呢?这实际上是一个配置值,而不是秘密。许多团队不假思索地将它们存储在面向公众的配置文件、自述文件中,甚至存储在以 NEXT_PUBLIC_ 或 REACT_APP_ 为前缀的客户端环境变量中。

安全研究人员在 GitHub 上扫描暴露的凭证后,也学会了以不同的方式对待 Google API 密钥。泄露的地图密钥是一个低严重性的发现。泄露的双子座密钥是完全不同的对话。

双子座发生了什么变化——以及为什么它很重要

💡 您知道吗?

Mewayz在一个平台内替代8+种商业工具

CRM·发票·人力资源·项目·预订·电子商务·销售点·分析。永久免费套餐可用。

免费开始 →

Google 的 Gemini API 不遵循旧的剧本。当您通过 Google AI Studio 生成 Gemini API 密钥时,您创建的凭证的风险状况与地图或 YouTube 密钥完全不同。 Gemini 密钥验证对大型语言模型推理的访问 - 这项服务会消耗 Google 真实的计算资源,并按令牌(而不是综合浏览量)向您收费。

更关键的是,Gemini API 密钥没有相同的内置域限制机制,而这些机制使得暴露其他 Google 密钥仍然可以生存。没有简单的“将其锁定到我网站的域”控制可以防止在公共存储库中找到您的密钥的攻击者启动自己的应用程序并从另一个国家/地区的服务器消耗您的配额(或计费限额)。

危险不仅仅是财务上的。暴露的 Gemini 密钥可用于生成有害内容、进行即时注入攻击或构建违反 Google 服务条款的工具 - 所有这些都将记入您的帐户并可追溯到您的身份。

2024 年,安全研究人员仅在 GitHub 上就发现了数千个暴露的 Gemini API 密钥,其中许多位于之前托管过其他 Google API 密钥且未发生任何事故的存储库中。按照他们自己的历史标准,开发人员并没有鲁莽——他们正在应用谷歌本身训练他们使用的思维模型。环境的变化比习惯的变化还要快。

意外暴露的剖析

了解这些暴露是如何发生的是预防它们的第一步。

...

Frequently Asked Questions

Google API 密钥真的不需要保密吗?

在过去二十年,Google 确实采取了相对宽松的密钥管理政策。由于客户端代码无法完全隐藏密钥,Google 更关注配额限制和域限制等防护措施。然而,随着 Gemini 等新服务的出现,Google 越来越重视密钥的安全性。虽然传统 API 密钥仍然相对宽松,但新服务可能要求更严格的密钥保护措施。

什么是域限制,如何帮助保护我的 API 密钥?

域限制是指在 Google Cloud 控制台中配置允许访问 API 密钥的特定网站域名。只有来自这些授权域名的请求才会被处理。这种方式虽然不能完全防止密钥泄露,但可以显著减少未经授权的使用。当密钥被恶意使用时,配额限制和警报功能可以帮助你及时发现并采取行动,避免意外账单。

为什么 Gemini 的出现会改变 Google 的密钥管理规则?

Gemini 等人工智能服务涉及更敏感的数据处理和计算资源。与地图显示功能不同,AI 服务可能涉及隐私数据或高价值计算任务。Google 必须更严格地管理这些密钥,以防止滥用和潜在的安全风险。新规则反映了更高的安全要求和合规性需求,特别是在处理 AI 相关服务时。

我已经泄露了我的 Google API 密钥,该怎么办?

如果您的 API 密钥已经泄露,首先应立即前往 Google Cloud 控制台,检

免费试用 Mewayz

集 CRM、发票、项目、人力资源等功能于一体的平台。无需信用卡。

立即开始更智能地管理您的业务

加入 30,000+ 家企业使用 Mewayz 专业开具发票、更快收款并减少追款时间。无需信用卡。

觉得这有用吗?分享一下。

准备好付诸实践了吗?

加入30,000+家使用Mewayz的企业。永久免费计划——无需信用卡。

开始免费试用 →

准备好采取行动了吗?

立即开始您的免费Mewayz试用

一体化商业平台。无需信用卡。

免费开始 →

14 天免费试用 · 无需信用卡 · 随时取消