Source maps em produção vazam o seu código-fonte
Os source maps (arquivos .js.map) permitem que os navegadores mapeiem o código minificado de volta para o seu código original. Se forem servidos publicamente em produção, qualquer um pode reconstruir toda a sua base de código sem minificar, comentários e tudo.
O que é
As ferramentas de build geram source maps para ajudar na depuração. Quando o bundle minificado referencia um arquivo .map que também foi publicado, o navegador — e qualquer pessoa — pode baixar o código original.
Isso expõe a lógica interna, os nomes, os comentários TODO e, às vezes, valores hardcoded que revelam como o seu backend e a sua autenticação funcionam.
Por que importa
Um código legível torna muito mais fácil para os atacantes encontrarem falhas de lógica, endpoints ocultos e validações que rodam só no cliente.
Ele também pode vazar segredos ou URLs internas que se supunha estarem 'escondidas' dentro do bundle.
Como corrigir
Desligue os source maps do navegador nos builds de produção.
// next.config.js
module.exports = { productionBrowserSourceMaps: false };Se você precisa de source maps para o monitoramento de erros, envie-os para o seu rastreador de erros (por exemplo, o Sentry) e retire-os do build público em vez de servi-los.
Depois do deploy, acesse uma das URLs .map do seu bundle. Ela deve retornar 404, não o source map em JSON.
FAQ
Os source maps são sempre ruins?
Não — eles são valiosíssimos para depurar. O problema é servi-los publicamente em produção. Em vez disso, mantenha-os no seu pipeline de monitoramento.
A minificação protege o meu código?
Só superficialmente. Com um source map público, a minificação é totalmente revertida de volta para um código legível.
Seu app está afetado?
O AppSafe verifica isso e dezenas de outros problemas em um único escaneamento grátis.
Escanear meu app grátisGuias relacionados
API keys expostas no JavaScript do cliente
Tudo no seu bundle é público. Trate assim.
Arquivos .env expostos: como atacantes acham seus segredos
Um único .env acessível pode entregar toda a sua stack.
Content-Security-Policy (CSP): o que é e como adicionar uma
O cabeçalho que impede a execução de scripts injetados.