
A Vercel foi hackeada (abril de 2026): O plano de emergência de 60 minutos que todos os programadores precisam de executar hoje
A 19 de abril de 2026, a Vercel confirmou que os atacantes comprometeram uma ferramenta de IA de terceiros (Context.ai), sequestraram a conta Google Workspace de um funcionário da Vercel e leram variáveis de ambiente que não estavam marcadas como "sensíveis" num subconjunto limitado de projetos de clientes. Se implementou algo na Vercel nos últimos 30 dias, deve assumir que uma das suas variáveis de ambiente já pode estar nas mãos de outra pessoa e precisa de agir rapidamente.
Eis a verdade desconfortável: a maioria dos vibecoders envia valores .env diretamente de um modelo sem nunca tocar na opção "sensível". Essa é exatamente a classe de variável que o atacante leu. Este plano guia-o através dos próximos 60 minutos, explicando o que verificar, o que rotacionar e como reforçar a sua stack para que a próxima violação da plataforma não afete a sua aplicação.
Resumo: O Que Fazer Nas Próximas 60 Minutos
Se não ler mais nada, faça estas seis coisas agora mesmo:
- Pausar as implementações automáticas nas suas branches de produção.
- Executar
vercel env pulle filtrar o output para padrões de segredos (sk_live_,AKIA,ghp_,eyJ). - Rotacionar todas as chaves API armazenadas como variáveis de ambiente não sensíveis, começando pelas de pagamentos, base de dados, autenticação e fornecedores de cloud.
- Readicionar os segredos rotacionados usando a opção "Sensível" das variáveis de ambiente da Vercel e, em seguida, reimplementar.
- Abrir o registo de atividade da Vercel de 1 a 20 de abril e sinalizar qualquer implementação, início de sessão ou evento de token que não reconheça.
- Rever o registo de auditoria da sua organização GitHub para o mesmo período, procurando novos PATs, chaves de implementação ou alterações nos workflows.
Abaixo encontra-se a análise completa, com os comandos, padrões e ordem de rotação de que irá precisar.
O Que Aconteceu Realmente Na Violação Da Vercel De Abril De 2026?
A Vercel divulgou a 19 de abril de 2026 que um atacante comprometeu a Context.ai, uma ferramenta de produtividade de IA de terceiros utilizada por um funcionário da Vercel. A partir daí, o atacante assumiu o controlo da conta Google Workspace da Vercel do funcionário, entrou no ambiente interno da Vercel e acedeu a variáveis de ambiente que não estavam assinaladas como "sensíveis".
As variáveis marcadas como "sensíveis" utilizam um caminho de leitura encriptado separado, e a Vercel afirma que não há provas de que tenham sido expostas. Tudo o resto, variáveis de ambiente regulares que armazenam chaves API, URLs de bases de dados e segredos JWT, era legível. Uma publicação num fórum de cibercrime afirmou posteriormente estar a vender dados da Vercel por 2 milhões de dólares, embora a Vercel não tenha confirmado a exfiltração. De qualquer forma, a medida segura é assumir o comprometimento para efeitos de rotação, mesmo que a Vercel não lhe tenha enviado um e-mail diretamente.
A empresa classificou o atacante como "altamente sofisticado, com base na sua velocidade operacional e compreensão detalhada dos sistemas da Vercel". Tradução: isto não foi obra de um script kiddie, leve o tempo a sério.
Está Afetado? Como Verificar Em 5 Minutos
Resposta curta: se utiliza a Vercel e não tem sido rigoroso com a opção "Sensível", considere-se afetado. Eis a triagem de 5 minutos:
- Abra o registo de atividades da Vercel e filtre de 1 de abril de 2026 até ao presente. Procure inícios de sessão desconhecidos, criações de tokens ou implementações.
- Aceda ao Admin do Google Workspace → Segurança → Controlos de API e procure o indicador de comprometimento publicado: o ID do cliente OAuth
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com. Se estiver autorizado, revogue-o imediatamente. - Verifique se alguém da sua equipa alguma vez iniciou sessão na Context.ai utilizando o Google SSO. Se sim, trate as respetivas contas como de maior risco.
- Consulte a separador Variáveis de Ambiente do seu projeto Vercel. Conte quantas NÃO estão marcadas como "Sensíveis". Cada uma delas está no âmbito da violação.
Se recebeu um e-mail da Vercel começando por "Identificámos um incidente de segurança que afeta a sua conta", está no grupo de impacto confirmado. Passe para a secção de rotação e comece AGORA.
O Plano De Resposta De Emergência De 60 Minutos
Isto está ordenado pelo raio de explosão. Não salte passos, cada um desbloquea o seguinte.
Passo 1: Congelar O Ambiente (Primeiros 10 Minutos)
Estanque a sangria antes de iniciar a perícia:
- Pause as implementações automáticas nas branches
main/production(Painel da Vercel → Projeto → Definições → Git). - Desative temporariamente a Aplicação GitHub da Vercel em
github.com/organizations/<your-org>/settings/installationsse suspeitar de um comprometimento mais profundo. - Exporte o seu registo de auditoria da Vercel para um CSV e guarde-o localmente. Irá precisar dele se isto se tornar num incidente notificável ao RGPD mais tarde.
- Ative o Observability Plus (mesmo que seja apenas uma semana de teste) para reter registos alargados.
Este é o passo de "preservação de provas". Rotacionar antes de fazer uma captura do registo destrói a sua linha temporal.
Passo 2: Obter As Variáveis De Ambiente E Analisá-Las Em Procura De Segredos
Abra o seu terminal e execute:
vercel link
vercel env pull .env.vercel-auditEm seguida, analise o output. A forma mais rápida é através da CLI do GitGuardian:
ggshield secret scan path .env.vercel-auditSe não quiser instalar nada, utilize o grep para estes padrões, que detetam 80% dos segredos vazados em ficheiros env:
grep -E "AKIA[0-9A-Z]{16}|sk_live_[0-9a-zA-Z]{24}|ghp_[0-9a-zA-Z]{36}|ghs_[0-9a-zA-Z]{36}|npm_[0-9a-zA-Z]{36}|eyJ[a-zA-Z0-9_-]+|-----BEGIN" .env.vercel-auditCada correspondência é um candidato à rotação. Cada segredo não correspondido que ainda seja uma credencial (URLs de BD, palavras-passe Redis, chaves de assinatura de webhooks) é TAMBÉM um candidato à rotação; o grep apenas deteta o óbvio.
Passo 3: Rotacionar Segredos Por Ordem De Prioridade (Não Alfabética)
É aqui que a maioria das equipas falha. Rotacionam 40 segredos por ordem aleatória, uma chave de sessão invalida todos os inícios de sessão ativos e os tickets de suporte explodem. Faça-o por níveis:
Nível 0 — Rotacionar nos próximos 30 minutos:
- Todos os Tokens de Acesso Pessoal do GitHub (granulares e clássicos)
- Todos os tokens existentes de variáveis de ambiente sensíveis da Vercel
- Tokens de Proteção de Implementação
Nível 1 — Rotacionar hoje:
- Chaves secretas de processadores de pagamento (Stripe
sk_live_, Adyen, Braintree) AUTH_SECRET,NEXTAUTH_SECRET, chaves de assinatura JWT, cookies de sessão- Strings de ligação à base de dados com acesso de escrita (
DATABASE_URL, Mongo, Redis) - Chaves de fornecedores de cloud (AWS IAM, contas de serviço GCP, segredos de cliente Azure)
- Segredos de assinatura de webhooks (atualizar tanto no emissor COMO no receptor)
Nível 2 — Rotacionar esta semana:
- Chaves de SaaS de terceiros (e-mail, SMS, analytics, CRM)
- Segredos de clientes OAuth
- Credenciais SMTP, chaves CDN
Nível 3 — Rotacionar quando for conveniente:
- Tokens de analytics de leitura apenas, DSNs do Sentry, chaves públicas/anónimas
Ordem crítica de operações:
- Para bases de dados: crie o novo utilizador antes de revogar o antigo, ou irá derrubar o site a meio da rotação.
- Para chaves de sessão: planeie um evento de logout, todas as sessões ativas morrem.
- Para webhooks: atualize ambos os lados na mesma janela de implementação.
- Reimplemente após cada alteração de variável de ambiente. A Vercel incorpora os valores no momento da compilação, não em tempo de execução.
Passo 4: Readicionar Tudo Como "Sensível"
Quando colocar os novos valores de volta, ative a opção "Sensível" em cada um deles. Os valores sensíveis utilizam um caminho encriptado separado e, segundo o próprio boletim da Vercel, não foram expostos neste incidente. Esta é a alteração de um clique que teria poupado a maioria dos clientes afetados.
Passo 5: Auditar O Seu Repositório Em Procura De Alterações Indesejadas
Compare o HEAD na sua branch principal com um commit conhecido como seguro anterior a 1 de abril. Foque-se em:
- Scripts
package.json, especialmentepostinstall,prepare,preinstall - Ficheiros de bloqueio (
package-lock.json,pnpm-lock.yaml) para novas dependências inesperadas .github/workflows/*.ymlpara novos workflows ou ações não fixadasvercel.jsonpara alterações nos comandos de compilação ou reescritas suspeitasnext.config.jspara novos cabeçalhos ou redirecionamentos apontando para domínios desconhecidos
Se publica pacotes npm, execute também npm view <pkg> time --json e verifique se nada foi enviado que não tenha sido criado por si.
Passo 6: Investigar A Jusante
Os atacantes não param nas variáveis de ambiente, utilizam-nas. Consulte os seus sistemas a jusante para o período de 1 de abril até ao presente:
- AWS CloudTrail:
CreateUserinesperado,AttachUserPolicy, picos de S3GetObject, inícios de sessão a partir de novos IPs. - Registos de auditoria da base de dados: consultas
SELECT *grandes, exportações, ligações a partir de regiões invulgares. - Stripe / Adyen: novas chaves API, reembolsos suspeitos, criações de clientes a partir de locais estranhos.
- Fornecedor de autenticação: inícios de sessão com viagens impossíveis, reposições de palavra-passe não autorizadas, novas aplicações OAuth.
Qualquer ocorrência aqui transforma isto de um exercício de rotação num incidente real, escale a situação e considere as obrigações de notificação (RGPD: 72 horas).
O Que Os "Vibecoders" Ignoram: A Superfície De Ataque Oculta
Se começou a programar com assistência de IA, utilizando ferramentas como Claude Code, Cursor ou Copilot, provavelmente lançou a sua primeira aplicação Vercel antes de ler qualquer documento de segurança. Isso é aceitável. Mas existem quatro armadilhas ocultas que atingem os vibecoders com mais força do que os programadores experientes:
- A armadilha
NEXT_PUBLIC_. Qualquer coisa prefixada comNEXT_PUBLIC_é incluída no JavaScript do cliente. Se colocou lá uma chave API "apenas para testar", ela já era pública antes da violação. Filtre o seu output compilado:grep -rE "sk_|AKIA|eyJ" .next/static/. - O vazamento do Linear / Slack. Se a sua equipa colou segredos em problemas do Linear ou threads do Slack "apenas por um segundo", esses segredos ficam em registos de terceiros. Reveja o seu registo de auditoria do Linear e procure os mesmos padrões regex acima.
- A suposição do
.env.localem repositórios privados. Os repositórios privados não são privados se a sua Aplicação GitHub da Vercel foi comprometida. Cada ficheiro.env.*submetido está no âmbito da violação. - Implementações de pré-visualização com segredos de produção. A maioria dos vibecoders reutiliza variáveis de ambiente de produção para ambientes de pré-visualização. Isso duplica a sua superfície de ataque. Separe-os.
Este é o trabalho aborrecido de infraestrutura que as ferramentas de codificação de IA ignoram. A solução não é parar de usar IA, é combinar a velocidade da IA com uma linha de base de segurança. Se ainda está a descobrir onde a sua aplicação reside, a nossa comparação Vercel vs Netlify e a análise Railway vs Render vs Fly.io são bons pontos de partida.
Como Reforçar A Sua Stack Para Que A Próxima Violação Não O Afete
As violações de plataforma são uma questão de quando, não de se. Eis a linha de base que cada aplicação de produção deve ter implementada até segunda-feira:
- Defina cada nova variável de ambiente como "Sensível" na Vercel por defeito. Torne isto um reflexo da sua equipa.
- Utilize credenciais de curta duração. Substitua as chaves AWS/GCP de longa duração pela federação GitHub OIDC; o seu fornecedor de cloud confia diretamente na identidade do CI, sem segredo de longa duração para vazar.
- Instale a deteção de segredos pré-commit (gitleaks, Trufflehog). Impede que os segredos entrem no repositório em primeiro lugar.
- Restrinja a sua Aplicação GitHub a repositórios específicos, não a toda a organização.
- Revisão trimestral de aplicações OAuth em todo o Google Workspace, Microsoft 365, GitHub e Vercel. Elimine tudo o que não reconhecer.
- Execute análises de segredos como um hook do Claude Code, aplicação determinística pré-commit mesmo quando a IA se esquece.
- Fixe a sua versão do Next.js e monitore os avisos. A Vercel é a principal responsável pelo Next.js, por isso os incidentes aqui têm efeito cascata.
- Segmentar os segredos do backend. Se estiver a utilizar Supabase ou Firebase, utilize a segurança a nível de linha e chaves de função de serviço com moderação; uma chave de serviço vazada é um comprometimento total da BD.
Precisa De Ajuda Para Garantir Isto? Eis Como A Techsy Pode Ajudar
Eis a proposta honesta: a maioria das pequenas equipas não tem um engenheiro de segurança, e ler um plano de resposta a incidentes de 60 passos às 2 da manhã não é como ninguém quer passar a sua segunda-feira.
Na Techsy, executámos respostas a incidentes e reforço de plataformas para mais de 40 aplicações Next.js e Node.js em produção nos últimos dois anos. Especificamente para o incidente da Vercel, estamos a oferecer:
- Resposta De Emergência Em 72 Horas, Executamos a rotação do Nível 0 / Nível 1, analisamos as suas variáveis de ambiente contra mais de 200 assinaturas de segredos e auditamos os seus registos da Vercel + GitHub + cloud de ponta a ponta. Tempo típico de resolução: um dia útil.
- Auditoria De Reforço Da Plataforma, Migração de variáveis sensíveis, rotação de credenciais OIDC, deteção de segredos pré-commit, definição do âmbito da Aplicação GitHub e um manual escrito para que o seu "eu futuro" saiba o que fazer durante a próxima violação.
- DevSecOps Contínuo, Revisões trimestrais de OAuth, deteção contínua de segredos e simulacros de incidentes para que "isso não nos vai acontecer" se torne numa afirmação que realmente possa sustentar.
Somos engenheiros, não um fornecedor de segurança de mera formalidade. Se está em pânico agora mesmo, entre em contacto para uma chamada de triagem gratuita de 30 minutos, diremos honestamente se precisa de nós ou se consegue lidar com a situação utilizando o plano acima.
Perguntas Frequentes
O hack da Vercel é confirmado como real ou é apenas um rumor?
Confirmado. A Vercel publicou um boletim de segurança oficial a 19 de abril de 2026, reconhecendo o acesso não autorizado através de uma ferramenta de IA de terceiros comprometida (Context.ai) e de uma conta Google Workspace de um funcionário sequestrada. As variáveis de ambiente não marcadas como "sensíveis" foram acedidas. Uma publicação separada no BreachForums alega estar a vender os dados por 2 milhões de dólares; essa parte não foi verificada.
Não recebi um e-mail da Vercel. Estou seguro?
Provavelmente, mas "provavelmente" não é uma postura de segurança. A Vercel afirmou ter contactado o subconjunto limitado de clientes com impacto confirmado. Se o seu e-mail não chegou, o seu risco é menor, mas todas as variáveis de ambiente não sensíveis em toda a plataforma da Vercel estavam no raio de explosão. Faça a triagem de 10 minutos acima, na mesma.
Qual é a diferença entre variáveis de ambiente "sensíveis" e regulares na Vercel?
As variáveis de ambiente "sensíveis" utilizam um caminho de leitura encriptado separado e não podem ser visualizadas no painel de controlo após a criação. As variáveis de ambiente regulares são legíveis por qualquer pessoa com acesso ao projeto (incluindo, neste incidente, o atacante). A correção é gratuita e leva um clique por variável.
Preciso de rotacionar TODOS os meus segredos ou apenas os que estão na Vercel?
Rotacione cada segredo armazenado numa variável de ambiente não sensível da Vercel. Se utilizou a mesma chave noutro local (um anti-padrão comum), rotacione-a em todos os lugares. Não se esqueça do .env.local nas implementações de pré-visualização, sistemas de CI como o GitHub Actions e quaisquer referências coladas no Linear ou Slack.
Como posso analisar rapidamente as minhas variáveis de ambiente em procura de segredos reais?
Execute vercel env pull .env.audit e depois ggshield secret scan path .env.audit. Se não puder instalar o GitGuardian, utilize o one-liner grep no Passo 2 do plano, que deteta chaves AWS, chaves Stripe, tokens GitHub, tokens npm, JWTs e blocos PEM.
Devo abandonar a Vercel após este incidente?
Não apenas por causa deste incidente. A resposta da Vercel, os IoC públicos, a cronologia e as orientações de rotação têm sido razoavelmente transparentes. Todas as plataformas terão eventualmente uma violação. O que importa é se projetou para isso: predefinições de variáveis sensíveis, credenciais de curta duração, ambientes segmentados. Se estiver a pesar alternativas, os nossos artigos Vercel vs Netlify e Railway vs Render vs Fly.io detalham as compensações.
Quanto tempo tenho para notificar os clientes se for afetado?
O RGPD concede-lhe 72 horas desde a tomada de conhecimento de uma violação notificável. A Califórnia (CCPA) tem gatilhos específicos por classe de dados. Os contratos SOC 2 / ISO 27001 exigem frequentemente uma notificação mais cedo do que os reguladores. Se tiver clientes pagantes e confirmar a exfiltração dos seus dados, assuma que está sob um prazo de 72 horas e consulte um advogado antes de enviar qualquer coisa.
As aplicações Next.js podem ser atacadas através disto mesmo que eu não esteja na Vercel?
O incidente é específico da plataforma Vercel. O próprio Next.js, alojado noutro local, não é afetado pelo mecanismo da violação. Mas se utilizou os mesmos padrões de variáveis de ambiente NEXT_PUBLIC_ que expõem acidentalmente segredos, esses problemas viajam com o seu código independentemente do anfitrião. Analise o seu output de compilação, na mesma.
Qual é a correção de um clique que teria prevenido a maioria dos danos?
Marcar cada variável de ambiente que contenha credenciais como "Sensível" na Vercel desde o primeiro dia. É uma caixa de seleção no painel de controlo. Neste incidente, as variáveis sensíveis NÃO foram acedidas, apenas as regulares. Essa é a correção, e custa zero dólares e aproximadamente cinco minutos por projeto.
Como posso garantir que a minha equipa nunca mais envia um segredo não marcado?
Três camadas: (1) deteção de segredos pré-commit com gitleaks, (2) uma verificação de CI que falha se uma variável de ambiente for adicionada sem a flag sensitive: true através da API da Vercel, e (3) um hook do Claude Code que executa o analisador em cada edição. Defesa em profundidade, qualquer uma das três deteta 80%, as três detetam ~99%.
Conclusão
A violação da Vercel de abril de 2026 é grave, mas é sobrevivível, se agir nas próximas 60 minutos. Congele as implementações, obtenha as suas variáveis de ambiente, execute o grep, rotacione por níveis, readicione como sensíveis e investigue a jusante. Esse é todo o plano.
As violações de plataforma expõem o quanto dependemos das predefinições. A maioria das equipas que foram prejudicadas aqui não fez nada de errado, apenas deixaram a opção "Sensível" desmarcada porque ninguém lhes disse que importava. Essa é a verdadeira lição para os vibecoders: o código gerado por IA é lançado rapidamente, mas as predefinições de segurança não vêm com a geração.
Se quiser um segundo par de olhos na sua stack, ou preferir não executar este plano sozinho às 2 da manhã, marque uma chamada de triagem gratuita com a equipa da Techsy. Caso contrário, boa sorte, aja rápido e marque essas variáveis como sensíveis.