npm 12: scripts de instalación desactivados por defecto

Descubre cómo npm 12 desactiva scripts por defecto para proteger tu pipeline CI. Aprende a migrar y evitar vulnerabilidades como el gusano Shai-Hulud.

sábado, 18 de julio de 2026 • 7 min de lectura • Equipo Q2BSTUDIO

Migración a npm 12: cambios en seguridad de scripts

El ecosistema Node.js ha vivido una transformación silenciosa pero profunda con la llegada de npm 12, una versión que cambia radicalmente las reglas del juego al desactivar por defecto los scripts de instalación (preinstall, install y postinstall). Lo que antes era un comportamiento automático y cómodo para los desarrolladores se ha convertido en un riesgo de seguridad demasiado alto, como demostró el gusano Shai-Hulud que comprometió más de 500 paquetes en 2025. Este artículo analiza el impacto de esta decisión, cómo afecta a los equipos de desarrollo y qué estrategias seguir para migrar sin romper la productividad, todo ello desde una perspectiva profesional y con referencias a servicios como los que ofrece Q2BSTUDIO.

La principal novedad de npm 12 es que los scripts de instalación ya no se ejecutan a menos que sean explícitamente autorizados mediante un allowlist que se guarda en el package.json. Además, las dependencias Git y las que vienen de tarballs remotos también quedan bloqueadas por defecto. Esto supone un cambio de paradigma: la seguridad ya no es un añadido opcional, sino la base del flujo de instalación. Para muchas empresas, especialmente las que trabajan con microservicios o monorepos, esta transición puede ser dolorosa si no se planifica adecuadamente. Sin embargo, en lugar de verlo como un obstáculo, conviene entenderlo como una oportunidad para auditar y limpiar el árbol de dependencias, algo que toda organización debería hacer de forma periódica.

La pregunta que surge de inmediato es: ¿cómo afrontar esta migración sin detener la producción? Lo primero que recomiendan los expertos es actualizar a npm 11.16.0 (donde los cambios ya aparecen como advertencias) para evaluar el alcance real del bloqueo. A continuación, ejecutar el comando npm approve-scripts --allow-scripts-pending para listar todos los paquetes que tienen scripts pendientes. Este listado suele ser más extenso de lo que se espera, incluyendo módulos nativos, paquetes de telemetría y descargas binarias de dependencias transitivas. El siguiente paso es revisar cada uno de esos scripts, aprobar los que sean legítimos y denegar los sospechosos. El allowlist resultante debe versionarse en el control de código, convirtiéndose en un artefacto revisable durante las pull requests. Aquí es donde muchas empresas encuentran valor en contar con un aliado tecnológico. Los servicios de ciberseguridad de Q2BSTUDIO incluyen auditorías de dependencias y análisis de riesgos en cadenas de suministro de software, ayudando a los equipos a identificar qué scripts son realmente necesarios y cuáles pueden eliminarse o sustituirse por alternativas más seguras.

Más allá de los scripts de instalación, npm 12 también bloquea las compilaciones implícitas de node-gyp y los scripts prepare de dependencias locales. Esto afecta especialmente a paquetes nativos que necesitan compilarse en el momento de la instalación. La solución pasa por aprobar esos paquetes en el allowlist o, mejor aún, migrar a binarios precompilados. Para los equipos que gestionan múltiples proyectos, la clave está en centralizar la política de approval mediante herramientas como el campo overrides o configuraciones compartidas. En este sentido, las organizaciones que ya han adoptado un enfoque de plataforma interna de desarrollador (IDP) tienen ventaja, ya que pueden definir y distribuir reglas de seguridad de forma uniforme.

El cambio en las dependencias Git y remotas merece una reflexión aparte. Al bloquear por defecto la resolución de URLs como https:// o referencias Git, npm 12 cierra una vía de ejecución de código que podía eludir --ignore-scripts mediante un archivo .npmrc malicioso en el repositorio de la dependencia. Esto significa que, si algún proyecto utiliza forks no publicados en el registro oficial, o tarballs alojados en buckets de S3, ahora es el momento de migrarlos al registro npm (público o privado) o, al menos, pasar explícitamente los flags --allow-git y --allow-remote. Sin embargo, como bien señalan los analistas de seguridad, mantener dependencias externas sin pasar por el registro es una mala práctica que debería corregirse definitivamente. Aquí, las empresas que ya utilizan servicios cloud AWS y Azure para alojar sus propios registros privados de npm tienen una infraestructura más sólida y controlada, reduciendo la superficie de ataque.

Uno de los aspectos que más preocupa a los responsables técnicos es el impacto en los pipelines de integración continua (CI). Si el pipeline no tiene una versión de npm fijada, el simple hecho de que npm 12 se haya etiquetado como latest hará que la próxima ejecución lo recoja automáticamente, rompiendo builds de forma inesperada. Por eso es crítico pinzar la versión de npm en cada proyecto, ya sea mediante variables de entorno, imágenes Docker o scripts de inicialización. En entornos con múltiples equipos o clientes, como suele ocurrir en consultoras tecnológicas, la recomendación es aún más estricta: cada proyecto debe tener su propio fichero de configuración y no heredar una versión global de npm. Q2BSTUDIO, con su experiencia en desarrollo de software a medida, ayuda a las empresas a diseñar pipelines robustos que incluyan estos controles de versiones y políticas de seguridad, evitando sorpresas desagradables durante los despliegues.

Pero la seguridad no termina con los scripts de instalación. npm 12 también inicia una cadencia de deprecación de los tokens de acceso granular que saltan la autenticación de dos factores (2FA). En agosto de 2026, estos tokens perderán capacidad para realizar acciones sensibles como gestionar paquetes o miembros del equipo; y en enero de 2027, perderán la capacidad de publicar directamente. Para las organizaciones que dependen de automatizaciones con tokens de larga duración, esto supone un plazo ineludible para migrar a publicación confiada mediante OIDC (OpenID Connect) o publicación escalonada con aprobación humana. La inteligencia artificial para empresas puede facilitar la detección de tokens obsoletos o mal configurados, pero la decisión final de migrar la infraestructura recae en los equipos de plataforma. En este contexto, contar con un partner tecnológico que ofrezca tanto consultoría como implementación es una ventaja competitiva.

Desde una perspectiva más amplia, este movimiento de npm refleja una tendencia imparable en la industria del software: la seguridad debe estar integrada desde el principio, no ser un parche posterior. La decisión de bloquear scripts de instalación por defecto es comparable a la que tomaron otros gestores de paquetes como pnpm, que ya desactivaban los scripts por defecto. Los equipos de desarrollo deben incorporar la revisión de dependencias como parte del flujo de trabajo diario, no como una tarea puntual tras un incidente. Herramientas como Power BI o los servicios inteligencia de negocio pueden ayudar a visualizar el estado de salud del ecosistema de dependencias de una organización, mostrando métricas como el número de scripts aprobados, denegados o pendientes, y alertando de paquetes que llevan mucho tiempo sin revisión. La inteligencia de negocio aplicada a la seguridad del software es un área emergente que muchas empresas están empezando a explotar.

Otro punto que merece atención es el de los agentes IA y su papel en la automatización de tareas de revisión de código. Aunque un agente de IA puede examinar rápidamente el contenido de un script de instalación y señalar patrones sospechosos, la decisión final de aprobarlo debe ser humana, basada en el contexto del proyecto y la reputación del mantenedor. La ia para empresas está evolucionando para integrarse en los pipelines de CI/CD, ofreciendo análisis estáticos y dinámicos de dependencias, pero siempre bajo supervisión. Q2BSTUDIO incorpora estas capacidades en sus soluciones de aplicaciones a medida, combinando inteligencia artificial con la experiencia de ingenieros senior para ofrecer un enfoque equilibrado entre automatización y control.

En resumen, la llegada de npm 12 no es un simple cambio de versión, sino un hito en la madurez de la seguridad en el ecosistema Node.js. Exige a los equipos una acción planificada: auditar, aprobar, fijar versiones y migrar tokens. Aquellas organizaciones que cuenten con el apoyo de especialistas como Q2BSTUDIO podrán realizar esta transición sin sobresaltos, aprovechando la ocasión para fortalecer sus prácticas de desarrollo y reducir la deuda técnica en seguridad. La inversión en una migración ordenada es mucho menor que el coste de una brecha de seguridad que obligue a rotar credenciales y revisar todo el historial de dependencias. El mensaje es claro: la era de la confianza ciega en los scripts de instalación ha terminado. Bienvenidos a la nueva normalidad, donde cada línea de código que se ejecuta durante una instalación debe ser explícitamente autorizada.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.