Sabemos la problemática que hay actualmente con los ataques que han afectado de forma recurrente a los paquetes de NPM. No obstante, hay una forma de minimizar esta afectación en nuestros proyectos.
¡Ojo al dato y comparte! Te explico:👇🏽👀
Muchos trabajan con «npm», pero «pnpm» tiene una configuración que nos puede ayudar en estas instancias. PNPM implementó algo llamado «minimumReleaseAge» que se utiliza para evitar instalar versiones de dependencias que sean muy recientes.
Esto nos ayuda a reducir el riesgo de instalar paquetes comprometidos o maliciosos que hayan sido liberados hace poco. Ahora:
¿Cómo configurar «minimumReleaseAge» en pnpm? Te explico:
1️⃣ Se especifica la cantidad mínima de minutos que deben haber pasado desde que una versión de un paquete fue publicada, antes de que pnpm permita instalarla.
2️⃣ Esta configuración se puede definir en el archivo «pnpm-workspace.yaml» o en un archivo de configuración específico de pnpm.
3️⃣ Ejemplo: para evitar instalar versiones publicadas en los últimos 3 días (3 días = 3 * 24 * 60 = 4320 minutos):
minimumReleaseAge: 4320
4️⃣ Si necesitas excluir algunos paquetes para que siempre se pueda instalar su última versión sin esperar, tienes la configuración «minimumReleaseAgeExclude» donde puedes listarlos. ↓
Esto señalado anteriormente, permite que esas dependencias se instalen siempre a pesar del tiempo de publicación.
→ Resumen del archivo «pnpm-workspace.yaml» relevante. ↓
Con esta configuración, pnpm evitará instalar automáticamente versiones nuevas de dependencias que tengan menos de 3 días desde su publicación, ayudando a prevenir ataques mediante versiones comprometidas que suelen detectarse y eliminarse en el corto plazo.
⚠️ Importante: Esta funcionalidad está disponible desde pnpm versión 10.16.0 en adelante.
Esta forma de configuración aplicada en el entorno de trabajo orquesta las instalaciones, respetando esta política de seguridad frente a paquetes recién publicados.
Esta configuración ayuda principalmente a mejorar la seguridad de las instalaciones, pues muchas veces las versiones maliciosas o comprometidas son detectadas y eliminadas del registro poco después de su publicación.
Al retrasar la instalación de versiones nuevas, se reduce el riesgo de instalar paquetes potencialmente dañinos inmediatamente después de su lanzamiento.
=> Algunas recomendaciones para la configuración de minimumReleaseAge en proyectos npm con pnpm:
1440 minutos (1 día): Es un valor común para evitar instalar versiones recién publicadas que podrían ser maliciosas o no verificadas, dando tiempo para detección de problemas.
60 a 180 minutos (1 a 3 horas): Para proyectos que necesitan versiones nuevas relativamente rápido, pero aun con un mínimo de margen para seguridad.
0 minutos: En casos donde la prioridad sea, usar siempre la última versión sin demora, pero con mayor riesgo.
💻 Espero te haya servido esta información. ✊🏽😎
Top comments (0)