使用 Firebase AI Logic 的安全核对清单

当您直接从移动应用和 Web 应用调用 Gemini API 时,为了保护后端基础架构、配额和专有提示,需要采用多层深度防御方法。查看此核对清单,以针对 Firebase AI Logic 实施建议的安全最佳实践。

应用、设备和用户验证

验证传入请求是否来自正版设备上运行的合法、未经篡改的应用实例,以及来自正版用户。

强制执行 Firebase App Check

强制执行 Firebase App Check 可帮助保护 Gemini API 免遭滥用(当它直接从您的应用中调用时)。强制执行 App Check 时,它会验证传入的请求是否来自您的正版应用和/或未经篡改的设备。

App Check 支持 Apple 平台(DeviceCheck、App Attest 或 reCAPTCHA Enterprise)、Android(Play Integrity 或 reCAPTCHA Enterprise)和 Web (reCAPTCHA Enterprise) 的证明提供方。它还支持 Flutter 和 Unity 应用的所有这些提供方。

自 2026 年 7 月初起,Firebase 会在 Firebase 控制台的引导式设置过程中自动对 Firebase AI Logic 强制执行 App Check。如果您之前设置过 Firebase AI Logic,请务必明确强制执行 App Check。对于本地开发,您可以设置 App Check 调试提供方,然后在向最终用户发布之前,使用生产环境证明提供方注册您的应用。

使用有限次使用的令牌启用重放攻击防范

在设置 App Check 时,请考虑强制执行重放攻击防范,以便 App Check 令牌只能使用一次。此选项可提供超出基准保护的增强保护,让您可以为应用和用例设置适当的保护级别。

为 Firebase API 密钥设置限制

Firebase API 密钥用于在发出请求时标识您的 Firebase 项目和应用。为防止 API 密钥被未经授权地使用,请执行以下操作:

  • Google Cloud 控制台中设置“应用限制”,以将密钥使用范围限制为仅限来自应用的特定软件包 ID (Apple)、软件包名称和 SHA-1 指纹 (Android) 或 HTTP 引荐来源网址 (Web) 的请求。

  • 查看每个密钥的 “API 限制”许可名单:

    • 确保 Firebase AI Logic API (firebasevertexai.googleapis.com) 在许可名单中。
    • 确保许可名单中仅包含您的应用所需的特定 Firebase 服务。请参阅受限 Firebase 密钥所需的 API 列表

请注意,Firebase 相关 API 仅使用 API 密钥来标识 Firebase 项目或应用,不用于授权调用 API。

限制请求,仅允许经过身份验证的用户提出请求

考虑强制执行“已通过身份验证的用户”模式,以便通过 Firebase AI Logic 发出的所有请求都必须包含来自 Firebase Authentication 的有效凭据。如果请求来自未经身份验证的最终用户,则系统会拒绝该请求并返回 401: unauthenticated 错误。

提示保护和请求强化

防止客户端反编译暴露提示设计,并锁定后端,以防恶意用户执行任意提示。

使用服务器端提示词模板

使用服务器提示模板,将提示、系统指令和模型配置安全地保存在云端,而不是在客户端应用代码中对它们进行硬编码,这样一来,它们就可以通过二进制反编译提取出来。

您的应用仅引用模板 ID 并传递动态输入变量。 借助服务器提示模板,您还可以根据需要更新提示或切换模型,而无需发布新版应用。

验证并清理客户提供的模板变量

服务器提示模板可保护您的提示设计,但接受动态变量的模板仍可能容易受到提示注入的攻击。由于模板会将用户输入变量串联到最终提示中,因此请务必执行以下操作:

  • 在将变量传递给模板之前,请在客户端上验证并清理所有用户输入(例如强制执行字符限制和预期格式)。
  • 在模板中添加清晰的系统说明,以定义用户输入的处理方式。

强制执行“仅模板”模式

当您的所有应用功能都使用服务器提示模板时,请考虑强制执行仅限模板模式。强制执行时,Firebase AI Logic 会阻止对 Gemini API (403: unauthorized) 的所有直接的非模板化请求,从而防止恶意行为者发送任意提示或滥用您的配额。

监控、限制和结算

深入了解传入流量和安全异常情况,并保护您的项目免遭意外的使用量激增或失控的费用。

Firebase 控制台中设置 AI 监控

Firebase 控制台中设置 AI 监控,以便了解关键指标,例如请求数、延迟时间、token 使用情况和错误率(包括 401 身份验证失败和 403 仅限模板的块)。您还可以在 Google Cloud 控制台中检查各个轨迹。

设置速率限制和管理配额

保护您的项目免遭意外使用量高峰和钱包拒绝服务攻击:

通过提醒和支出上限避免出现意外费用

如果您的 Firebase 项目采用的是随用随付 Blaze 定价方案:

后续步骤