Saltar al contenido
OPS // KITitspentest.sh

R-SOU

source-map-explorer

Analiza source maps de JavaScript enviados al cliente para revelar el código fuente original, sin minificar, y la estructura de archivos.

Sitio oficialVolver al catálogo

RESUMEN

source-map-explorer (github.com/danvk/source-map-explorer) se construyó como herramienta de análisis de tamaño de bundle para desarrolladores — lee un source map de JavaScript y visualiza cuánto del tamaño final del bundle aporta cada archivo fuente original — pero ese mismo análisis de source maps es exactamente lo que se necesita para revertir un bundle de producción minificado a su estructura de archivos original y su código en gran medida sin minificar.

Cuando un pipeline de build expone accidentalmente archivos .js.map junto al .js minificado (una desconfiguración común, sobre todo con configuraciones antiguas por defecto de webpack/Vite), cualquiera puede tomar el map y recuperar código muy cercano al original y legible: nombres de variables, comentarios, límites internos de módulos, y a veces configuración o endpoints hardcodeados que nunca debían ser legibles del lado cliente.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Revisar si un build de producción expone archivos .js.map que no deberían ser públicos.

  • 02

    Reconstruir código fuente original sin minificar y la estructura de archivos/módulos a partir de un source map expuesto.

  • 03

    Revisar el código recuperado en busca de secretos hardcodeados, endpoints internos o comentarios que no debían publicarse.

  • 04

    Mapear la estructura real de carpetas de un bundle minificado para priorizar qué archivos originales revisar a mano.

PRIMEROS PASOS

Cuando un build de producción expone archivos .js.map, para reconstruir el árbol de código original y ver mucha más lógica interna de la que muestra el bundle minificado solo.

  1. Revisa si el objetivo sirve archivos .js.map junto a sus bundles JS de producción (a menudo en la misma ruta con .map añadido).
  2. Confirma que descargar y analizar esos archivos está dentro del alcance autorizado.
  3. Instala source-map-explorer vía npm.
  4. Ejecútalo contra el bundle descargado y su source map para visualizar y extraer la estructura original.
  5. Revisa los archivos fuente recuperados en busca de lógica interna, endpoints o secretos que merezca la pena reportar.
npx source-map-explorer bundle.min.js bundle.min.js.map

ANTES DE USARLA

Qué revisar antes de lanzarla

Los source maps expuestos son un problema de configuración, no una vulnerabilidad de la herramienta — el hallazgo es que el pipeline de build publica archivos .map en un origen de producción público, y debe reportarse y corregirse a nivel de build/deploy.

El código recuperado puede incluir comentarios internos, TODOs o valores hardcodeados que los desarrolladores originales asumían privados — maneja y reporta ese contenido bajo las mismas reglas de confidencialidad que cualquier otro dato revelado por el cliente.

No toda app de producción publica maps abiertamente; que no se encuentre un archivo .map no significa que el código no pueda recuperarse por otros medios (desofuscación, formatear directamente el bundle minificado).

SIGUE EXPLORANDO

Ver toda la fase →