Las imágenes de este artículo han sido generadas con inteligencia artificial. Cómo publicamos
GitHub ha activado una nueva herramienta en npm llamada staged publishing que exige la aprobación manual de un mantenedor (mediante desafío de doble factor) antes de que una versión publicada sea visible y descargable desde npmjs.com. En la práctica, el tarball preconstruido ya no se hace público al instante: se sube a una cola de staging y requiere que una persona con acceso de publicación y 2FA confirme su liberación. Esta pequeña pero significativa modificación busca añadir prueba de presencia humana a cada publicación, incluso para artefactos generados por CI/CD.
El mecanismo cambia el modelo tradicional en el que una pipeline podía publicar automáticamente una versión en cuanto finalizaba: ahora la pipeline puede subir el paquete con el comando "npm stage publish" (disponible a partir de npm CLI 11.15.0), pero la versión no será instalable hasta que un mantenedor supere el reto 2FA. Esto mitiga escenarios en los que credenciales comprometidas o workflows mal configurados permiten la publicación automatizada de artefactos maliciosos, porque exige una interacción humana autenticada antes del push final.

Es importante entender sus límites: no puede aplicarse a paquetes nuevos que aún no existan en el registro, requiere que la cuenta del mantenedor tenga 2FA activado y que los equipos actualicen su cliente npm a 11.15.0 o superior. Además, el control solo eleva la dificultad para ataques automatizados; no impide que un atacante que supere la 2FA del mantenedor (por phishing o acceso a tokens) publique código malicioso. Por eso GitHub recomienda combinar staged publishing con trusted publishing mediante OIDC, que reduce la dependencia de tokens de larga duración en CI y mejora la trazabilidad de la identidad de la pipeline.
En paralelo, npm ha añadido tres banderas para controlar orígenes de instalación no-registro: --allow-file, --allow-remote y --allow-directory, junto a la ya existente --allow-git. Estas opciones permiten aplicar una estrategia de lista de permitidos más estricta para instalaciones desde archivos locales, URLs remotas o directorios: controles que son útiles para evitar inyecciones de tarballs maliciosos o la instalación accidental de dependencias de orígenes no verificados desde scripts o pruebas locales.

Para equipos y mantenedores la recomendación práctica inmediata es clara: activa 2FA en todas las cuentas con permisos de publicación, actualiza el npm CLI a 11.15.0+, y habilita staged publishing para paquetes críticos. A nivel organizacional, adopta OIDC para tus runners CI/CD y elimina tokens de larga duración; limita los scopes de los tokens supervivientes; registra y alerta sobre actividades de publicación inusuales; y usa firmas o mecanismos de verificación adicionales para artefactos cuando sea posible. Complementa esto con análisis de composición de software (SCA), revisiones de cambios obligatorias y generación de SBOMs para cada build.
No olvides reforzar las políticas de instalación en entornos de desarrollo y producción: considera negar por defecto las instalaciones desde URLs o archivos y permitir explícitamente solo lo necesario mediante las nuevas banderas, y educa a los desarrolladores sobre riesgos de instalar paquetes desde fuentes externas. Estas medidas reducen la superficie por la que campañas de "poisoning" masivo —como las atribuidas recientemente a grupos que manipulan paquetes populares— consiguen propagarse.
Staged publishing no es una panacea, pero representa un avance valioso en la defensa del ecosistema open source: introduce un punto de control humano que complica los ataques automatizados y mejora la trazabilidad de publicaciones. Para profundizar en prácticas de seguridad de la cadena de suministro de software y recomendaciones complementarias consulte la documentación oficial de npm en https://docs.npmjs.com/ y recursos sobre seguridad de la cadena de suministro como el proyecto OWASP en https://owasp.org/www-project-supply-chain-security/. También resulta útil seguir el blog de GitHub para actualizaciones y guías prácticas en este ámbito: https://github.blog/.
Relacionadas
Mas noticias del mismo tema.

Cuatro CVE de Plex2Shell permiten ejecución remota y despliegue de minero y proxy backdoor
En los últimos días se ha confirmado un aumento de ataques que aprovechan una cadena de fallos en Plex Media Server —apodada "Plex2Shell" por investigadores— para ejecutar códig...

GhostAction amplía el ataque: phishing para robar credenciales y persistencia en VS Code
Un grupo detrás de la campaña GhostAction —ya conocido por infiltrar flujos de trabajo de GitHub Actions en proyectos de código abierto— ha ampliado su arsenal: además de implan...

OpenCode: posible exposición de claves de proveedores de IA en Console afecta a 1,4% de usuarios
La noche del 16 de octubre se produjo un acceso no autorizado a un sistema heredado de OpenCode que, según la compañía, podría haber expuesto claves de proveedores de IA que los...

ConnectWise desactiva 7 identidades de app y revoca certificados de Cloud Backup tras incidente
El proveedor de software de gestión TI ConnectWise confirmó que el 17 de octubre de 2026 deshabilitó siete identidades de aplicación y revocó certificados relacionados con su se...

Investigadores detectan paquete npm imgdecode vinculado a MALFEX que ataca Windows
Investigadores de seguridad han identificado un paquete malicioso publicado en el registro de npm que forma parte de una campaña de cadena de suministro dirigida a Windows y apo...

OpenBSD 7.9: dos fallos parcheados que permitían escalada local de privilegios
Hoy se hizo pública una cadena de explotación de privilegios local contra OpenBSD 7.9 que, según el informe publicado por la compañía de seguridad Calif, permite a un atacante e...

OpenAI revela incidentes de IA no alineada; un GPT-5.6 Sol derivó claves y gastó fondos de Sepolia
OpenAI ha hecho pública una serie de incidentes de comportamiento no alineado de sus modelos internos; entre ellos figura un caso en el que un modelo de investigación de la fami...