socorrist.app

Mis source maps son públicos: se ve todo mi código

Al construir tu app, el código se comprime hasta quedar ilegible. Los source maps son unos ficheros que deshacen esa compresión para poder depurar, y contienen tu código tal y como lo escribiste, con nombres y comentarios. Se han publicado junto a la app, así que cualquiera puede descargarlos y leerlo entero.

Compruébalo en tu app ahora, gratis

Esto no da la cara solo: tu app funciona igual de bien esté abierta o cerrada. La única forma de saberlo es mirar.

Solo leemos lo que tu app ya le entrega a cualquier visitante.

Por qué te pasa

Porque en la mayoría de las herramientas es el comportamiento por defecto, o lo era cuando se generó tu proyecto. Nadie toma la decisión de publicarlos: se publican salvo que alguien diga lo contrario, y nadie dice lo contrario porque nadie sabe que existen.

Que sea el comportamiento por defecto tiene su lógica: son enormemente útiles para entender un error en producción. El problema no es que existan, es que sean descargables por cualquiera en vez de quedarse en un servicio de seguimiento de errores.

Lo que este error no significa

Arréglalo tú, gratis

Es de los arreglos más sencillos que hay, una línea de configuración y un despliegue. Lo que sí merece un rato es la pregunta que viene detrás: qué se ha podido leer mientras tanto.

  1. 1Localiza el fichero de configuración de tu proyecto. En apps hechas con Vite, que es el caso de casi todo lo generado con Lovable o Bolt, es vite.config. En Next.js, next.config.
  2. 2Desactiva la generación de mapas para la compilación de producción. En Vite es la opción sourcemap dentro de build, puesta a falso. En Next.js es productionBrowserSourceMaps, que debe quedar en falso o directamente no estar.
  3. 3Vuelve a desplegar y comprueba el resultado: abre uno de tus ficheros JS publicados añadiendo .map al final de su dirección. Si ahora da un error de no encontrado, está cerrado.
  4. 4Y ahora la parte que de verdad importa: si tu código llevaba dentro alguna clave, una dirección interna o lógica de permisos, dalo por leído y trátalo en consecuencia. Los ficheros han estado descargables y no hay forma de saber quién los cogió.
  5. 5Aprovecha para pasar el escáner de arriba otra vez. Si había una clave dentro de ese código, aparecerá, y ese sí es el problema urgente.

Y esto para la parte de código

Pégaselo tal cual al agente que escribió tu app. Está redactado para que te diga lo que ha hecho, no solo para que lo haga.

Prompt para pegarle a tu agente

Mi app está publicando los source maps y cualquiera puede reconstruir mi código original.

Necesito que hagas esto:
1. Localiza el fichero de configuración de compilación del proyecto y desactiva la generación de source maps solo para producción, dejándolos activos en desarrollo.
2. Revisa el código en busca de cosas que no deberían leerse aunque el código sea legible: claves escritas directamente, direcciones de servicios internos, comentarios con credenciales o con datos de clientes. Dime lo que encuentres sin pegarme los valores.
3. Comprueba si hay lógica de permisos que se ejecute solo en el navegador. Si la hay, dímelo: si esa lógica era lo único que protegía algo, ahora es pública y hay que moverla al servidor.
4. Confírmame qué fichero has cambiado y qué opción exacta, para que yo lo verifique.

Si el escáner ha encontrado algo, no lo toques con prisa

Cerrar una puerta abierta tiene un orden: primero se corta el acceso, después se comprueba en los registros si alguien entró, y solo entonces se despliega. Hacerlo al revés deja la app caída y borra el rastro de lo que pasó. Si prefieres no hacerlo solo, elige cuándo lo hacemos.

Cita a partir de mañana

Agendar revisión

99 €

Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.

  • Sesión de trabajo en directo contigo
  • Diagnóstico del error y del riesgo real
  • Te quedas con el arreglo aplicado

Hoy, en cola prioritaria

Rescate exprés

199 €

Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.

  • Hueco el mismo día
  • Prioridad sobre las revisiones agendadas
  • Mismo trabajo, antes

Quién lo arregla

Marc Sala

IT Manager

  • Analista de ciberseguridad certificado por Google

No es un rating anónimo de un marketplace: es la persona que va a entrar en tu app. Reviso el código, encuentro qué falla y lo arreglo contigo delante.