Buenas prácticas
Cómo aplicar la ofuscación de forma eficaz: qué proteger, qué dejar como está y qué no puede hacer la ofuscación por ti.
Recomendaciones
Ofusca únicamente tu propio código.
No ofusques con la VM scripts de terceros, librerías ni polyfills. Ya están minificados y la ofuscación solo los ralentizará.
Usa el modo de comentarios para una protección quirúrgica.
Marca solo las funciones sensibles con
/* javascript-obfuscator:vm */en lugar de proteger todo.Prueba a fondo después de ofuscar.
Prueba siempre el código ofuscado en tu entorno de destino. Algunas opciones pueden romper el código de formas sutiles.
Excluye las rutas críticas de rendimiento (hot paths) de la ofuscación VM.
Usa
vmExcludeFunctionspara bucles de animación, renderizado en tiempo real o código que se llama con frecuencia.
Aviso de seguridad crítico
La ofuscación hace que la ingeniería inversa sea más difícil, pero no es cifrado. Un atacante decidido siempre puede extraer datos del código del lado del cliente.
En su lugar, deberías:
- Almacenar los secretos en tu servidor backend
- Usar variables de entorno en el lado del servidor
- Enrutar las llamadas a la API a través de tu backend para ocultar las claves
- Usar tokens de corta duración emitidos por tu servidor
¿Qué deberías proteger?
La ofuscación VM es ideal para:
- Algoritmos propietarios y lógica de negocio
- Código de validación de licencias (comprobaciones del lado del cliente)
- Comprobaciones anti-manipulación e integridad
- Lógica de juegos y mecanismos anti-trampas
- Implementaciones de funciones premium
- Lógica de cálculo de precios
