Hacker News

As chaves da API do Google não eram segredos, mas o Gemini mudou as regras

Saiba como o Gemini mudou as principais regras de segurança da API do Google. O que os desenvolvedores precisam saber sobre como proteger chaves de API que antes eram consideradas seguras para exposição.

8 minutos de leitura

Mewayz Team

Editorial Team

Hacker News

Quando "Public by Design" se torna uma responsabilidade de segurança

Por quase duas décadas, os desenvolvedores que desenvolveram o ecossistema do Google aprenderam uma lição sutil, mas importante: as chaves de API do Google não são realmente segredos. Se você incorporou uma chave da API de dados do YouTube em um arquivo JavaScript, o Google não ficou alarmado. Se sua chave da API do Maps aparecesse em um repositório público do GitHub, a resposta de segurança seria essencialmente um encolher de ombros e um lembrete para definir restrições de domínio. Todo o modelo foi construído com base na suposição de que essas chaves residiriam no código do lado do cliente, expostas a qualquer pessoa que abrisse o DevTools.

Essa filosofia fez sentido por muito tempo. Uma chave da API do Maps exposta sem restrições de domínio poderia gerar uma conta surpresa, mas não comprometeria os registros dos pacientes nem esgotaria uma conta bancária. O raio de explosão era financeiro e administrável. As ferramentas do Google – restrições de referência, lista de permissões de IP, limites de cota – foram projetadas para conter os danos, e não impedir totalmente a exposição.

Então chegou Gêmeos e as regras mudaram. O problema é que milhões de desenvolvedores não receberam o memorando.

O modelo mental legado que agora está deixando os desenvolvedores queimados

A antiga experiência do desenvolvedor do Google era deliberadamente permissiva. Quando você criou uma chave da API Maps JavaScript, a documentação praticamente incentivou você a inseri-la diretamente em seu HTML. O modelo de segurança não era sigilo – era restrição. Você bloquearia a chave do seu domínio, definiria alertas de cota e seguiria em frente. Isso foi uma engenharia pragmática: os aplicativos do lado do cliente realmente não conseguem guardar segredos de determinados usuários, então o Google construiu um sistema que reconhecia essa realidade.

Isso criou uma geração de desenvolvedores – e mais importante, uma geração de hábitos institucionais – onde as chaves de API do Google ocupavam uma categoria mental diferente de, digamos, uma chave secreta Stripe ou uma credencial de acesso AWS. Você não colaria sua chave secreta do Stripe em um repositório público. Mas sua chave do Maps? Esse era praticamente um valor de configuração, não um segredo. Muitas equipes os armazenaram em arquivos de configuração públicos, arquivos README, até mesmo em variáveis ​​de ambiente do lado do cliente prefixadas com NEXT_PUBLIC_ ou REACT_APP_ sem pensar duas vezes.

Pesquisadores de segurança que examinam o GitHub em busca de credenciais expostas também aprenderam a tratar as chaves de API do Google de maneira diferente. Uma chave vazada do Maps foi uma descoberta de baixa gravidade. Uma chave Gemini vazada é uma conversa totalmente diferente.

O que mudou com Gêmeos – e por que isso é importante

💡 VOCÊ SABIA?

A Mewayz substitui 8+ ferramentas empresariais numa única plataforma

CRM · Faturação · RH · Projetos · Reservas · eCommerce · POS · Análise. Plano gratuito para sempre disponível.

Comece grátis →

A API Gemini do Google não segue o manual antigo. Ao gerar uma chave de API Gemini por meio do Google AI Studio, você cria uma credencial com um perfil de risco fundamentalmente diferente de uma chave do Maps ou do YouTube. As chaves Gemini autenticam o acesso à inferência de modelos de linguagem de grande porte – um serviço que custa ao Google recursos de computação reais e que cobra por token, não por visualização de página.

Mais importante ainda, as chaves da API Gemini não têm os mesmos mecanismos integrados de restrição de domínio que tornaram a exposição de outras chaves do Google sobreviventes. Não existe um controle simples de “bloquear isso no domínio do meu site” que impediria que um invasor que encontrasse sua chave em um repositório público criasse seu próprio aplicativo e consumisse sua cota – ou seu limite de faturamento – de um servidor em outro país.

O perigo não é apenas financeiro. Uma chave Gemini exposta pode ser usada para gerar conteúdo prejudicial, realizar ataques de injeção imediata ou criar ferramentas que violem os termos de serviço do Google – tudo cobrado em sua conta e rastreável até sua identidade.

Em 2024, pesquisadores de segurança identificaram milhares de chaves de API Gemini expostas apenas no GitHub, muitas delas em repositórios que já haviam hospedado outras chaves de API do Google sem incidentes. Os desenvolvedores não estavam sendo imprudentes com seus próprios padrões históricos – eles estavam aplicando um modelo mental que o próprio Google os treinou para usar. O ambiente mudou mais rápido do que os hábitos.

A anatomia de uma exposição acidental

Compreender como essas exposições acontecem é o primeiro passo para preveni-las. Os modos de falha são

Frequently Asked Questions

O que significa "Public by Design" nas APIs do Google?

A expressão se refere ao modelo de segurança antigo, onde as chaves de API eram projetadas para serem públicas no código do lado do cliente (front-end). A segurança não dependia da chave ser um segredo, mas sim das "Restrições de Domínio" no Console do Google Cloud. Essas restrições impediam que a chave fosse usada em sites não autorizados, mesmo que ela fosse exposta em um repositório público ou no código-fonte.

Por que o Gemini mudou esta regra?

O Gemini e outros modelos de IA generativa (como o OpenAI) lidam com operações sensíveis e custosas no lado do servidor (back-end). Expor essa chave permite que qualquer pessoa faça requisições à API, gerando custos incontroláveis ​​e riscos de segurança. Portanto, a chave da API do Gemini deve ser tratada como um segredo crítico, protegida em um ambiente servidor seguro, nunca no navegador do usuário.

Como posso proteger minhas chaves de API em projetos front-end?

Para funcionalidades que requerem uma chave secreta (como o Gemini), você deve criar um backend simples para atuar como intermediário. Seu front-end envia a solicitação para o seu servidor, que adiciona a chave secreta e encaminha para a API do Google. Plataformas como a Mewayz oferecem mais de 207 módulos para você construir rapidamente essa camada de segurança sem complicação, por um custo acessível.

Quais são as melhores práticas para gerenciar chaves de API hoje?

1) Classifique a chave: Pública (Maps, YouTube) ou Secreta (Gemini, OpenAI). 2) Para chaves secretas, use variáveis de ambiente e nunca as comite em repositórios. 3) Aplique sempre as restrições de API no Google Cloud Console (por domínio, endereço IP ou app Android). 4) Para projetos complexos, considere usar um serviço de backend como a Mewayz ($19/mês) para gerenciar de forma centralizada e segura todas as suas integrações com APIs.

Experimente o Mewayz Gratuitamente

Plataforma tudo-em-um para CRM, faturação, projetos, RH e muito mais. Cartão de crédito não necessário.

Comece a gerenciar seu negócio de forma mais inteligente hoje

Присоединяйтесь к 30,000+ компаниям. Бесплатный тариф навсегда · Без банковской карты.

Pronto para colocar isto em prática?

Junte-se a 30,000+ empresas a usar o Mewayz. Plano gratuito para sempre — cartão de crédito não necessário.

Iniciar Teste Gratuito →

Pronto para agir?

Inicie seu teste gratuito do Mewayz hoje

Plataforma de negócios tudo-em-um. Cartão de crédito não necessário.

Comece grátis →

Teste gratuito de 14 dias · Sem cartão de crédito · Cancele a qualquer momento