
Si eres de los que usas Node.js en la pega, probablemente viste que npm, pnpm y yarn implementaron un «cooldown» de release. La idea suena bacán: antes de instalar un paquete nuevo, esperar unos días para que «la comunidad» lo revise y avise si hay algo raro. En la práctica, es como poner un sticker de «cámara de seguridad» en la puerta sin tener cámara.
El argumento oficial es que, si todos esperamos, alguien va a instalar temprano, detectar el problema y levantar la alarma antes de que el resto caiga. Suena lógico, ¿cierto? El problema es que todos están esperando a que alguien más sea el canario. Si cada equipo configura su propio cooldown, lo único que logras es que nadie revise nada. Es el dilema del prisionero, pero con dependencias de JavaScript.
CI/CD no salva la wea
Hay quienes creen que con un pipeline de Dependabot o Renovate ya están cubiertos. Mal ahí. Cuando llega el PR automático, pasa una de dos: o el exploit pasa desapercibido porque nadie lee el código, o el ataque ya se ejecutó en tu entorno de integración. En ambos casos, el daño está hecho antes de que alguien diga «npm install».
Leer el package-lock.json no cuenta como auditoría. Eso es leer el menú del restaurante en vez de revisar la cocina.
¿Qué hacer entonces?
La respuesta del autor del post original es contundente: DYOR. Haz tu propia investigación. Trata el código de terceros como si fuera un ejecutable de Windows bajado de un foro ruso. Trae análisis estático, sandbox, SAST, HIPS. Corre una auditoría asistida por LLM antes de mergear el PR. La paciencia pasiva no reemplaza al trabajo activo.
En mi opinión, los cooldowns son un placebo que le da tranquilidad a los compliance officers pero no detiene a un atacante determinado. El ecosistema npm ya sufre con typosquatting, protestware y maintainers quemados. Agregar una demora administrativa solo empeora la fricción sin tocar el riesgo real. Si tu estrategia de seguridad se basa en «esperar a que otro revise», no tienes estrategia. Tienes esperanza.
El código abierto es una maravilla, pero la confianza no se delega. Se construye con herramientas, procesos y, sobre all, con ojos sobre el código. No con relojes de arena.
Fuente de inspiración: npm’s release cooldown is security theater