Lista de verificação de segurança para usar o Firebase AI Logic

Ao ligar para o Gemini API diretamente dos seus apps para dispositivos móveis e da Web, proteger sua infraestrutura de back-end, cota e solicitações proprietárias exige uma abordagem de defesa em profundidade de várias camadas. Revise esta lista de verificação para implementar as práticas recomendadas de segurança para Firebase AI Logic.

Verificação de apps, dispositivos e usuários

Verifique se as solicitações recebidas vêm de instâncias legítimas e não adulteradas do app em dispositivos autênticos, bem como de usuários autênticos.

Aplicar Firebase App Check

Aplique Firebase App Check para ajudar a proteger o Gemini API contra abusos quando ele é chamado diretamente do seu app. Quando App Check é aplicado, ele verifica se as solicitações recebidas se originam do seu app autêntico e/ou de um dispositivo não adulterado.

O App Check é compatível com provedores de atestado para plataformas da Apple (DeviceCheck, App Attest ou reCAPTCHA Enterprise), Android (Play Integrity ou reCAPTCHA Enterprise) e Web (reCAPTCHA Enterprise). Ele também é compatível com todos esses provedores para apps Flutter e Unity.

No início de julho de 2026, o Firebase vai aplicar automaticamente o App Check para Firebase AI Logic durante a configuração guiada no console Firebase. Se você configurou Firebase AI Logic antes, aplique App Check explicitamente. Para desenvolvimento local, configure o App Check provedor de depuração e registre o app com um provedor de atestado de produção antes de lançar para os usuários finais.

Ativar a proteção contra repetição com tokens de uso limitado

Ao configurar o App Check, considere aplicar a proteção contra repetição para que os tokens do App Check sejam usados apenas uma vez. Essa opção oferece proteção aprimorada além da proteção básica e permite definir um nível adequado de proteção para seu app e casos de uso.

Configurar restrições para suas chaves de API do Firebase

As chaves de API do Firebase identificam seu projeto do Firebase e app ao fazer solicitações. Para evitar o uso não autorizado das suas chaves de API:

  • Defina Restrições de aplicativo no console Google Cloud para limitar o uso da chave apenas a solicitações do ID do pacote específico do seu app (Apple), nome do pacote e impressão digital SHA-1 (Android) ou referenciador HTTP (Web).

  • Analise a lista de permissões de "Restrições de API" de cada chave:

    • Verifique se a API Firebase AI Logic (firebasevertexai.googleapis.com) está na lista de permissões.
    • Verifique se as únicas outras APIs na lista de permissões são os serviços específicos do Firebase exigidos pelo seu app. Consulte a lista de APIs necessárias para chaves restritas do Firebase.

Note que as APIs relacionadas ao Firebase usam chaves de API apenas para identificar o Projeto do Firebase ou app, não para autorização para chamar a API.

Restringir solicitações apenas a usuários autenticados

Considere aplicar o modo de usuários autenticados para que todas as solicitações via Firebase AI Logic incluam credenciais válidas de Firebase Authentication. Se uma solicitação vier de um usuário final não autenticado, ela será rejeitada com um erro 401: unauthenticated.

Proteção de comandos e reforço da proteção de solicitações

Evite que a descompilação do cliente exponha seus designs de comandos e bloqueie seu back-end para que usuários mal-intencionados não possam executar comandos arbitrários.

Usar modelos de comandos do servidor

Use modelos de comandos do servidor para manter comandos, instruções do sistema e configurações de modelo com segurança na nuvem, em vez de codificá-los no código do app cliente, onde podem ser extraídos usando a descompilação binária.

Seu app só faz referência a um ID de modelo e transmite variáveis de entrada dinâmicas. Com os modelos de comandos do servidor, você também pode atualizar comandos ou trocar de modelo sob demanda sem lançar uma nova versão do app.

Validar e limpar variáveis de modelo fornecidas pelo cliente

Os modelos de comandos do servidor protegem o design do comando, mas os modelos que aceitam variáveis dinâmicas ainda podem estar sujeitos a injeção de comandos. Como os modelos concatenam variáveis de entrada do usuário no comando final, faça o seguinte:

  • Valide e limpe todas as entradas do usuário no cliente antes de transmitir variáveis para um modelo (como aplicar limites de caracteres e formatos esperados).
  • Inclua instruções claras do sistema nos seus modelos que definam limites para o processamento da entrada do usuário.

Aplicar o modo somente de modelo

Considere aplicar o modo somente modelo quando todos os recursos do app usarem modelos de comandos do servidor. Quando aplicado, o Firebase AI Logic bloqueia todas as solicitações diretas e sem modelo para o Gemini API (403: unauthorized), impedindo que agentes maliciosos enviem comandos arbitrários ou abusem da sua cota.

Monitoramento, limites e faturamento

Tenha visibilidade do tráfego de entrada e das anomalias de segurança, além de proteger seu projeto contra picos de uso inesperados ou custos descontrolados.

Configurar o monitoramento de IA no console do Firebase

Configure o monitoramento de IA no console Firebase para ter visibilidade das principais métricas, como contagem de solicitações, latência, uso de tokens e taxas de erro (incluindo falhas de autenticação 401 e blocos somente de modelo 403). Também é possível inspecionar traces individuais no console Google Cloud.

Definir limites de taxa e gerenciar cotas

Proteja seu projeto contra picos de uso inesperados e ataques de negação de carteira:

Evite cobranças inesperadas com alertas e limites de gastos

Se o projeto do Firebase estiver no plano de preços Blaze de pagamento por uso:

Próximas etapas