Por qué migramos de npm a pnpm — y no fue por la velocidad
En el ámbito del desarrollo de software moderno, la gestión de dependencias es un aspecto crítico que va más allá de la simple instalación de paquetes. Recientemente, en Q2BSTUDIO, afrontamos una decisión estratégica: reemplazar npm por pnpm como gestor de paquetes en nuestros proyectos. La motivación principal no fue la velocidad, sino la necesidad de reforzar la ciberseguridad de nuestra cadena de suministro. Esa experiencia nos llevó a repensar cómo aseguramos nuestras aplicaciones a medida y las soluciones que ofrecemos a nuestros clientes. El modelo plano de node_modules que emplea npm permite que cualquier paquete transitivo sea accesible desde nuestro código, incluso aquellos que nunca declaramos como dependencia, y además ejecuta scripts postinstall de forma automática. Esta arquitectura ha sido explotada en ataques de la cadena de suministro, donde paquetes maliciosos en niveles profundos del árbol de dependencias pueden ejecutar código arbitrario sin que el desarrollador lo sepa. Para una empresa que desarrolla software a medida con altos estándares de integridad, como la nuestra, este riesgo es inaceptable. Por eso, en nuestro roadmap de mejora continua incluimos la migración a pnpm v11, que bloquea por defecto los scripts de instalación y obliga a mantener una lista blanca explícita de paquetes con permisos de ejecución. Este control granular es similar a las estrategias que aplicamos en nuestros servicios de inteligencia de negocio, donde la trazabilidad y la auditoría son esenciales. Por ejemplo, al integrar Power BI en una solución, verificamos cada fuente de datos; del mismo modo, ahora cada dependencia de nuestro stack es examinada. También ajustamos la configuración de hoisting para mantener compatibilidad con frameworks como NestJS y Nx, pero siempre priorizando la seguridad. Esta práctica la extendemos a todos nuestros desarrollos, incluyendo aquellos que incorporan inteligencia artificial para empresas, donde la confianza en el software es fundamental. La automatización de procesos con agentes IA requiere un entorno de dependencias limpio y controlado, y la migración a pnpm nos permitió eliminar por completo el uso de flags como --legacy-peer-deps, reduciendo la superficie de ataque. Cada instalación en CI se realiza ahora con --frozen-lockfile, lo que garantiza que no haya desviaciones no autorizadas. Estos cambios los documentamos en nuestros pipelines y los ofrecemos como parte de nuestro know-how a clientes que buscan mejorar su postura de seguridad. Si estás evaluando cómo proteger tus desarrollos, te invitamos a conocer nuestros servicios de ciberseguridad y pentesting. Para proyectos que requieren una base sólida desde el inicio, nuestro enfoque en desarrollo de aplicaciones a medida asegura que cada capa del software esté protegida. La lección es clara: en un ecosistema donde millones de paquetes se publican cada año, confiar ciegamente en el gestor por defecto ya no es una opción. En Q2BSTUDIO, hemos integrado esta filosofía en cada proyecto, combinando mejores prácticas de servicios cloud AWS y Azure, inteligencia de negocio y automatización para ofrecer soluciones robustas y preparadas para los desafíos actuales de la ciberseguridad.
Comentarios