Todas las guías
Severidad AltaErrores de configuración

Los source maps en producción filtran tu código fuente

Los source maps (archivos .js.map) permiten a los navegadores mapear el código minificado de vuelta a tu código original. Si se sirven públicamente en producción, cualquiera puede reconstruir tu código sin minificar, comentarios incluidos.

Qué es

Las herramientas de build generan source maps para facilitar la depuración. Cuando el bundle minificado referencia un archivo .map que también está desplegado, el navegador — y cualquier persona — puede descargar el código original.

Esto expone lógica interna, nombres, comentarios TODO y a veces valores hardcodeados que revelan cómo funcionan tu backend y tu autenticación.

Por qué importa

Un código legible hace mucho más fácil que los atacantes encuentren fallos de lógica, endpoints ocultos y validaciones que solo se ejecutan en el cliente.

También puede filtrar secretos o URLs internas que se asumían 'escondidas' dentro del bundle.

Cómo solucionarlo

Desactiva los source maps de producción en Next.js

Apaga los source maps del navegador en los builds de producción.

// next.config.js
module.exports = { productionBrowserSourceMaps: false };
O mantenlos privados

Si necesitas source maps para el monitoreo de errores, súbelos a tu rastreador de errores (p. ej. Sentry) y quítalos del build público en lugar de servirlos.

Confirma que desaparecieron

Después de desplegar, solicita una de las URLs .map de tu bundle. Debería devolver 404, no el source map en JSON.

Preguntas frecuentes

¿Los source maps son siempre malos?

No: son valiosísimos para depurar. El problema es servirlos públicamente en producción. Mantenlos en tu pipeline de monitoreo.

¿La minificación protege mi código?

Solo superficialmente. Con un source map público, la minificación se revierte por completo a código legible.

¿Tu app está afectada?

AppSafe verifica este y docenas de problemas más en un solo escaneo gratis.

Escanear mi app gratis