JavaScript (JS) es el lenguaje de programación de la web: se ejecuta en todos los navegadores para hacer las páginas interactivas y en servidores mediante Node.js.
Cómo funciona JavaScript
JavaScript lo creó Brendan Eich en Netscape en 1995 y está estandarizado como ECMAScript, con una nueva edición cada año. En el navegador, JavaScript modifica la página (el DOM), responde a los clics y carga datos de API sin recargar. Motores como V8 (Chrome, Edge), SpiderMonkey (Firefox) y JavaScriptCore (Safari) lo compilan a código máquina rápido. Fuera del navegador funciona en servidores (Node.js, Deno, Bun), aplicaciones de escritorio (Electron) y scripts de automatización. El código se comparte a través del registro npm, el mayor repositorio de paquetes del mundo.
Por qué JavaScript importa para la seguridad
- Cross-site scripting (XSS): un script inyectado se ejecuta en el navegador de la víctima y roba sesiones o datos; sigue siendo una de las vulnerabilidades web más comunes.
- Ataques a la cadena de suministro: paquetes npm secuestrados o con nombres engañosos (typosquatting) propagan malware a miles de proyectos; en 2025 los atacantes comprometieron paquetes muy usados e incluso lanzaron un gusano que se propagaba solo a través de npm.
- Web skimming: scripts maliciosos en páginas de pago roban datos de tarjetas (ataques Magecart).
- Fallos en los motores de los navegadores: las vulnerabilidades de V8 y otros motores se explotan con frecuencia como zero-days.
- Scripts maliciosos en adjuntos de correo y falsas actualizaciones del navegador sirven como primera fase de infección.
Buenas prácticas
- Codifica la salida y usa una Content Security Policy estricta para limitar el XSS.
- Fija las versiones de las dependencias, revisa los paquetes nuevos y usa herramientas como npm audit.
- Carga los scripts de terceros con Subresource Integrity (SRI) o alójalos tú mismo.
- Mantén los navegadores actualizados: corrigen fallos de sus motores JavaScript cada pocas semanas.