Mantenha suas chaves de provedor fora das suas aplicações. Dê a cada aplicação, agente e ferramenta uma chave do gateway do INFRO, com botão de desligar, lista de permissões de IP, limites de modelos e limite de gastos, cada um verificado antes de o seu provedor ser chamado.
Um log de requisições de exemplo para uma chave do gateway do INFRO que vazou. A chave está limitada à rede dos seus servidores, 203.0.113.0/24, e a um limite diário de gastos de $50.00. Requisições de outras redes são recusadas com 403 ip_not_allowed, e um modelo fora da lista de permissões da chave com 403 model_not_allowed; nenhuma delas chega a um provedor. As requisições dos servidores rodam nas próprias contas da OpenAI e da Anthropic da organização, cada uma com um custo estimado do provedor.
acme-ai/Chaves/checkout-apiproductionAtiva
Gasto hoje · limite diário$31.42 de $50.00
Recusada antes do seu provedor3 · $0.00 de custo do provedorRede permitida 203.0.113.0/24
Origem · modeloProvedor · custo est.Status
203.0.113.24seus servidoresanthropic/claude-opus-5.5model_not_allowedProvedor não chamado403
192.0.2.140desconhecidaopenai/gpt-5.6-solip_not_allowedProvedor não chamado403
A mesma chave de provedor costuma estar em cinco lugares, e qualquer cópia pode gastar de toda a conta. Com o INFRO, a chave de provedor fica selada em um só lugar e cada aplicação, agente e ferramenta tem a própria chave do gateway. Escolha onde o vazamento acontece.
Escolha onde a chave vaza
Uma chave do provedor, copiada em todo lugar5 de 5 lugares expostos
Sua chave do provedor sk-proj-••••7Hc2Copiada em 5 lugares
Variáveis de ambiente de produçãosk-proj-••••7Hc2Vazou aqui
Segredos de CI e de deploysk-proj-••••7Hc2Mesma chave
Notebooks de desenvolvedores e arquivos .envsk-proj-••••7Hc2Mesma chave
Shells de agentes de códigosk-proj-••••7Hc2Mesma chave
Ferramentas de IA de terceirossk-proj-••••7Hc2Mesma chave
Exposta
Toda a sua conta no provedor, até os limites definidos no provedor, até a chave ser excluída lá.
Para recuperar
Exclua a chave no provedor e depois faça o deploy de novo nos 5 lugares.
Com o INFRO, uma chave do gateway por lugar1 de 5 chaves expostas
Sua chave do provedor sk-proj-••••7Hc2Protegida no INFRO
checkout-apisk_infro_••••a91f$50 por dia203.0.113.0/24Vazou, contida
ci-deploysk_infro_••••3c7e$10 por dia203.0.113.64/27Não afetada
maya-laptopsk_infro_••••5d20$5 por diaExpira em 30 diasNão afetada
claude-codesk_infro_••••8b14$20 por diaSomente AnthropicNão afetada
support-toolsk_infro_••••e602$15 por mês1 modeloNão afetada
Exposta
checkout-api: uma chave, recusada fora da rede dos seus servidores e limitada a $50 por dia dentro dela.
Para recuperar
Desative-a no console, sem deploy, e depois rotacione-a nesse único lugar. As outras 4 continuam funcionando.
Cada verificação recusa com seu próprio código documentado, para que seus logs digam exatamente o motivo, e cada uma é ajustada pelo console ou pela API sem deploy. As quatro estão em todos os planos.
Requisição com uma chave do gateway
01
Interruptor de desligamento
Esta chave está ativa?
Desligue uma chave pelo console ou pela API e toda requisição com ela é recusada. O segredo, os limites e o histórico dela são mantidos; ligá-la de novo restaura a mesma chave.
Até 32 endereços IPv4 ou IPv6 ou faixas CIDR por chave, comparados com o endereço de cliente que a borda da Cloudflare informa, nunca com X-Forwarded-For. Sem um endereço confiável, a requisição é recusada.
Aprove os modelos que uma organização, projeto ou chave pode chamar e os provedores que uma chave pode alcançar. Cada chave pertence a um ambiente e nunca alcança uma conexão fora dele.
Um limite diário, semanal, mensal ou vitalício por chave, ao lado de orçamentos por organização, projeto e membro. Uma requisição que o limite não consegue cobrir é recusada antes de o provedor ser chamado.
Seu provedor só é chamado depois que as quatro passam
Rotação com sobreposiçãoRotacione em uma etapa: a nova chave herda todas as configurações da antiga, e a antiga continua funcionando por até sete dias enquanto você faz o deploy, ou para na hora. O limite de gastos é compartilhado, então rotacionar nunca dá folga nova.
ExpiraçãoDê a uma chave um prazo após o qual ela deixa de funcionar, para um prestador, uma demonstração ou uma migração.
Exibida uma vez, armazenada como hashUma chave de gateway tem 32 bytes aleatórios, é exibida uma vez e armazenada apenas como digest SHA-256. Um vazamento do banco de dados não expõe uma chave utilizável.
Tentativas de adivinhação são limitadasUm endereço que falha na autenticação 30 vezes em um minuto é recusado com um 429 até o minuto passar, antes de qualquer chave ser consultada.
Uma chave vazada, um agente preso em loop, um cliente automatizando o uso do seu plano gratuito: cada um para em um teto do seu próprio tamanho em vez de atingir todo o seu orçamento. Cada teto aplicável é verificado antes de o seu provedor ser chamado, contando o pior caso das requisições já em andamento.
Os tetos se somam
Uma requisição precisa caber em todos os tetos que se aplicam a ela. O mais apertado decide, então um teto pequeno no lugar certo detém um problema muito antes do teto da organização.
Organização
Projeto
Membro
Chave do gateway
Cliente final
Orçamentos de exemplo para uma organização: um teto rígido da organização, um orçamento de projeto, o limite diário de uma chave do gateway, o limite vitalício de uma chave e um teto por cliente final. Na crise escolhida, “Uma chave de gateway vaza”, o teto correspondente atinge o limite e a requisição seguinte é recusada com 402 key_budget antes de qualquer provedor ser chamado. A chave para em $50 no dia. Todas as outras chaves continuam atendendo.
acme-ai/OrçamentosVerificado antes de cada chamada ao provedor
OrganizaçãoTeto rígidoMensal
$6,142 de $10,000$10,000 de $10,000Atendendo
Projetosupport-botMensal
$1,850 de $2,500$2,500 de $2,500Atendendo
Chave do gatewaycheckout-apiDiário
$31.40 de $50.00$50.00 de $50.00402 key_budget · Reinicia às 00:00 UTC
Chave do gatewayclaude-codeVitalício
$110.00 de $500.00$500.00 de $500.00Atendendo
Cliente finalcustomer_8812Diário
$2.00 de $5.00$5.00 de $5.00Atendendo
Todo cliente $5 por dia · acme-corp $200
A chave para em $50 no dia. Todas as outras chaves continuam atendendo.
Tetos de gastos por escopo: períodos, comportamento, código de recusa e plano
Teto
Período
Como funciona
Recusada com
Plano
Organização
Meta mensal e teto rígido
A meta alerta; o teto rígido alerta ou bloqueia. Somente o proprietário o define.
402 organization_budget
Todos os planos
Projeto
Mensal
Alertar ou bloquear, com alertas nos seus próprios limiares.
402 project_budget
Todos os planos
Membro
Mensal
Alertar ou bloquear, para a atividade de uma pessoa.
402 member_budget
Todos os planos
Chave do gateway
Diário, semanal, mensal ou vitalício
Sempre bloqueia. Um limite vitalício nunca é reiniciado.
402 key_budget
Todos os planos
Cliente final
Diário, semanal ou mensal
Uma regra para todo cliente, por organização ou projeto, com exceções que o seu backend define.
402 end_user_budget
Team e superiores
Testado sob cargaEm um teste em sandbox, um teto bloqueante de $1 se manteve em 12 de 12 execuções com até 500 requisições simultâneas (o teste e seu método). Os tetos contam a estimativa do INFRO do custo do provedor, não a fatura do seu provedor, e um modelo sem preço conhecido é recusado sob um teto bloqueante, a menos que você o permita; por isso, mantenha também um limite de gastos no provedor. Documentação de controles de gastos
Uma chave vazou
Aprimeirahora,semdeploy.
Para uma chave do gateway do INFRO. Se vazou uma chave de provedor, exclua-a primeiro no provedor: é a única coisa que a interrompe.
1Contenha sem fazer deployDesligue a chave de gateway ou mantenha a sua aplicação rodando restringindo a chave às redes dos seus servidores e baixando o limite de gastos dela. Nada disso exige deploy, e toda verificação roda antes de qualquer chamada ao provedor.
2Substitua-aRotacione sem sobreposição quando a chave tiver vazado. A substituta mantém o rótulo, o projeto, os limites, as listas de permissões, o ambiente e o acesso ao histórico, e é exibida uma vez.
3Leia o que ela fezCada registro de requisição nomeia a chave de gateway que a fez, com o modelo, o status e o custo estimado do provedor; filtre o log de requisições e o uso por essa chave. O console mostra quantas requisições a lista de permissões de cada chave recusou hoje.
4Verifique o uso fora do INFRONo plano Business, a reconciliação de custos com acesso ao uso ativado informa o uso de uma chave de provedor conectada que nunca passou pelo INFRO. Sem esse acesso, ela diz “não verificado”, nunca “sem bypass”: leia a página de uso do próprio provedor.
5Guarde o registroMudanças de chaves, rotações e edições de política ficam no log de auditoria com quem as fez e quando, em linhas que o banco de dados se recusa a atualizar ou excluir.
curl-X PATCH https://api.infro.io/manage/v1/gateway_keys/$KEY_ID \
-H"Authorization: Bearer $INFRO_MANAGEMENT_TOKEN" \
-H'If-Match: "7"' \
-H"Content-Type: application/json" \
-d'{"disabled": true}'# Every request with the key: 403 key_disabled# Its secret, limits and history are kept.
As mesmas três mudanças estão na página da chave no console. Com a API de gerenciamento, uma mudança exige a versão que você leu por último (If-Match), para que duas pessoas contendo o mesmo incidente não sobrescrevam uma à outra.
As pessoas colam arquivos .env em chats e agentes os leem a partir de shells. No plano Business, os guardrails verificam prompts, chamadas de ferramentas e respostas em busca de formatos de segredos e, então, bloqueiam a requisição, substituem a ocorrência por [SECRET] ou a sinalizam, antes de o seu provedor ser chamado.
OpenAI
Anthropic
Chave de API do Google
ID de chave de acesso da AWS
Token do GitHub
Token do Slack
Chave live do Stripe
Chave do INFRO
JWT
Chave privada PEM
A detecção é baseada em padrões: ela reconhece estes formatos e nada mais, então não detecta chaves de acesso secretas da AWS, senhas e formatos que não conhece. Cada ocorrência é contada no registro da requisição. Documentação de guardrails
Exemplo: um desenvolvedor cola um arquivo de ambiente em um chat completion. Antes de a requisição chegar ao provedor, o detector de segredos do guardrail substitui a chave da OpenAI por [SECRET], e a resposta traz o header X-INFRO-Guardrails: redacted.
POST /v1/chat/completionsGuardrail · segredo · ocultar
Seu app enviou
userO deploy falha. Aqui está o .env: OPENAI_API_KEY=sk-proj-7Hc2…Qe9w
Verificado antes de o provedor ser chamado
Seu provedor recebeu
userO deploy falha. Aqui está o .env: OPENAI_API_KEY=[SECRET]
X-INFRO-Guardrailsredacted
Agentes, ferramentas e pessoas
Osoutroslugaresporondechavesescapam.
Agentes de código ganham as próprias chaves
Claude Code, Codex e os SDKs de agentes chamam /v1/messages e /v1/responses do INFRO com uma chave do gateway em vez da sua chave da Anthropic ou da OpenAI. Dê uma a cada desenvolvedor ou agente, com limite de gastos, validade e uma lista de permissões de rede; revogá-la não afeta mais ninguém.
Credenciais de ferramentas ficam fora dos agentesBusiness
Registre cada servidor MCP uma única vez com seu token. O INFRO o adiciona em cada chamada, então nenhum agente, prompt ou arquivo de configuração o guarda, e cada chave do gateway recebe apenas as ferramentas que lhe foram concedidas.
Dois fatores com app autenticador, passkeys e chaves de hardware, uma lista de sessões que você pode encerrar e uma configuração da organização que exige dois fatores de todos os membros. Login único SAML ou OIDC e SCIM a partir do plano Business.
Uma plataforma que armazena chaves de provedor é exatamente o que os ataques de outubro visaram, então as mesmas perguntas valem para nós. Estes controles são as declarações do próprio Trust Center, palavra por palavra.
As credenciais de provedor são seladas e vinculadas a um único tenant
As chaves de provedor que você conecta são criptografadas com AES-256-GCM sob uma chave mantida como segredo do Worker, nunca no banco de dados. Os identificadores da organização e da conexão são vinculados como dados autenticados adicionais, de modo que uma credencial selada copiada para a linha de outro tenant — ou para outra linha do mesmo tenant — falha de forma fechada em vez de ser decifrada. As credenciais conectadas para a reconciliação de custos são seladas separadamente, sob o próprio vínculo.
Não há revelação, em lugar nenhum
Depois que uma credencial de provedor é salva, nenhuma interface a devolve — nem o console, nem a API, nem o console interno do operador. O que qualquer um dos lados consegue ver são os últimos quatro caracteres e os timestamps. Se você perder a chave, rotacione-a no provedor; não podemos mostrá-la a você.
As chaves de API do INFRO têm hash em repouso
Uma chave de gateway tem 32 bytes de uma fonte aleatória criptográfica. O que armazenamos é o digest SHA-256 dela, um prefixo de exibição e os últimos quatro caracteres, de modo que um vazamento do banco de dados não expõe uma credencial utilizável. A revogação grava um tombstone em vez de excluir a linha, para que não seja encoberta por uma entrada de cache obsoleta ainda se propagando entre localidades.
A chave de criptografia pode ser rotacionada sem o seu envolvimento
Rotacionar a chave que sela as credenciais dos clientes re-sela cada credencial armazenada no lugar. Não pede aos clientes que reinsiram nada, e o algoritmo armazenado carrega uma string de versão para que um esquema futuro possa coexistir com o atual, sem exigir um dia de virada.
O que o INFRO não pode fazer
Uma chave de provedor obtida do INFRO, ou de qualquer outro lugar, pode ser usada diretamente no provedor, fora de todos os limites do INFRO. Conecte chaves com escopo restrito ao próprio projeto ou workspace, com um limite de gastos definido no provedor: é o controle que se mantém mesmo se nós falharmos. O que ainda não está implementado está listado no Trust Center.
Outubro de 2026
DuasplataformasquearmazenavamchavesdeIA,umalição.
Nos dois casos, a orientação foi a mesma: substituir a chave, excluir a antiga no provedor e ver o que ela fez. Quanto menos lugares uma chave de provedor ocupa, menos rotações um vazamento custa; as chaves que você distribui devem ter limites que você ajusta sem deploy.
RailwayDivulgado em 21 de outubro de 2026
O que a Railway disse
An unauthorized party may have accessed encrypted customer environment variables and, for some of them, obtained the decrypted contents, in a series of attacks aimed at compromising AI inference providers.
O que fazer
Troque toda variável que a Railway guardava, começando pelas chaves de provedores de IA: substitua, exclua a chave antiga no provedor, faça o deploy e revise o uso da chave antiga.
A breach related to a large-scale distillation attack affected 1.4% of OpenCode Console users, those with external AI providers linked, and provider keys saved in a workspace may have been exposed.
O que fazer
Crie uma substituta com escopo, revogue a chave antiga no provedor e revise o uso no provedor a partir de 16 de outubro.
Cada resumo vem da divulgação da própria empresa, conforme citada em nossa análise. Os dois incidentes estavam em aberto quando foram escritos; as análises são revisadas semanalmente e registram cada mudança em suas notas de revisão.
O que devo fazer se a minha chave de API da OpenAI ou da Anthropic vazou?
Crie uma chave substituta no provedor, exclua lá a chave vazada, faça o deploy da substituta e depois revise o uso da chave antiga no provedor durante todo o tempo em que ela poderia ter sido usada. Excluir a chave no provedor é o que a interrompe; nada que uma aplicação ou um gateway faça consegue recolher uma chave roubada. Depois, dê à substituta um limite de gastos no provedor e mantenha-a fora de código, de apps cliente e de ambientes compartilhados.
Como o INFRO limita o dano de uma chave de API vazada?
Suas aplicações guardam chaves de gateway do INFRO em vez das suas chaves de provedor. Cada chave de gateway pode ser desligada (403 key_disabled), limitada a até 32 redes (403 ip_not_allowed), restrita a modelos e provedores aprovados e ter um limite de gastos diário, semanal, mensal ou vitalício (402 key_budget). Toda verificação roda antes de o seu provedor ser chamado, em todos os planos, e nenhuma exige deploy. Uma chave de gateway vazada é um problema delimitado que você pode desligar; uma chave de provedor vazada alcança toda a conta do provedor.
Posso limitar o gasto com IA por cliente, por projeto ou por período?
Sim. Os orçamentos se aplicam por organização (uma meta mensal que alerta e um teto rígido que alerta ou bloqueia), por projeto e por membro (mensal) e por chave de gateway (diário, semanal, mensal ou um limite vitalício que nunca reinicia). A partir do plano Team, os limites de clientes finais restringem cada um dos seus próprios clientes por dia, semana ou mês, com exceções para clientes específicos. Cada teto aplicável é verificado antes de o seu provedor ser chamado, contando o pior caso das requisições já em andamento, e uma requisição recusada é um 402 que nomeia o teto. Os tetos contam a estimativa do INFRO para o custo do provedor, não a fatura do seu provedor, então mantenha também um limite de gastos no provedor.
O INFRO armazena as minhas chaves de API de provedor e como elas são protegidas?
Sim: você conecta as suas próprias chaves de provedor uma vez e o INFRO as usa para atender as suas requisições. Cada uma é criptografada com AES-256-GCM sob uma chave mantida como segredo do Worker fora do banco de dados, com a organização e a conexão vinculadas, de modo que uma cópia do banco de dados sozinha não abre nada. Nenhuma tela do console, endpoint ou exportação devolve uma credencial salva; o console mostra os últimos quatro caracteres. As chaves de gateway são armazenadas apenas como digest SHA-256.
Uma chave de provedor roubada pode contornar o INFRO?
Sim. O INFRO governa apenas o tráfego que passa por ele. Uma chave de provedor tirada de qualquer lugar, inclusive do INFRO, pode ser usada diretamente contra o provedor, fora de todos os limites do INFRO. Conecte chaves com escopo no próprio projeto ou workspace, com um limite de gastos definido no provedor: esse limite vale mesmo que nós falhemos. No plano Business, a reconciliação com acesso ao uso ativado informa o uso de uma chave conectada que não passou pelo INFRO.
O que aconteceu nas violações da OpenCode e da Railway?
A OpenCode disse em 17 de outubro de 2026 que uma violação relacionada a um ataque de destilação em larga escala afetou 1,4% dos usuários do Console dela, aqueles com provedores de IA externos vinculados, e que chaves de provedor salvas em um workspace podem ter sido expostas. A Railway disse em 21 de outubro de 2026 que uma parte não autorizada pode ter acessado variáveis de ambiente criptografadas de clientes e decifrado algumas delas, em ataques voltados a comprometer provedores de inferência de IA. Nos dois casos o conselho é o mesmo: substitua a chave, exclua a antiga no provedor e revise o uso dela. O INFRO tem uma análise de cada caso, escrita apenas a partir das declarações das próprias empresas.
O INFRO consegue impedir que chaves de API sejam coladas em prompts?
No plano Business, os guardrails verificam prompts e respostas em busca de formatos OpenAI, Anthropic, Chave de API do Google, ID de chave de acesso da AWS, Token do GitHub, Token do Slack, Chave live do Stripe e Chave do INFRO, JWTs e chaves privadas PEM e bloqueiam a requisição, substituem o trecho por [SECRET] ou a sinalizam antes que o seu provedor a veja. A detecção é por padrões: ela não percebe formatos que não conhece, como chaves secretas de acesso da AWS e senhas.
O Claude Code e o Codex precisam da minha chave da Anthropic ou da OpenAI?
Não pelo INFRO. Eles chamam /v1/messages e /v1/responses do INFRO com uma chave de gateway, de modo que cada desenvolvedor ou agente pode ter a própria chave com limite de gastos, expiração e, opcionalmente, uma lista de redes permitidas, e revogá-la não afeta o acesso de mais ninguém. Um agente ainda pode ler qualquer chave deixada no mesmo shell, então remova chaves de provedor brutas dos ambientes de desenvolvimento.
O que é LLMjacking?
LLMjacking é o uso de credenciais roubadas de nuvem ou de APIs de IA para chamar modelos de linguagem hospedados às custas da vítima, seja para uso do próprio atacante, seja para revender o acesso. A defesa é a de qualquer credencial que pode gastar dinheiro: manter chaves de provedor fora do código e de apps cliente, dar a cada chave um limite de gastos, acompanhar o uso por chave e poder desligar uma chave sem fazer deploy.
Quais planos do INFRO incluem estes controles?
Todos os planos incluem desligar uma chave, redes permitidas, limites de modelos e provedores, limites de gastos, rotação e expiração, login em dois fatores e passkeys e o log de auditoria. Os alertas de gastos vão por e-mail em todos os planos e, a partir do plano Startup, para o Slack e para webhooks assinados. Guardrails, SSO e SCIM, reconciliação de custos com detecção de bypass e o gateway MCP estão no plano Business.
Conformidade, a lista completa de controles e o que ainda não está implementado estão no Trust Center. Encontrou uma vulnerabilidade? Escreva para security@infro.io.
Começar
Faça da próxima chave vazada um problema delimitado.
Seus provedores, seus contratos, suas chaves, selados em um só lugar. Cada chave que você distribui, limitada e com botão de desligar. 0% de margem sobre os gastos com modelos.