GitHub ha anunciado que desactivará por defecto los scripts de instalación en npm, su gestor de paquetes. La medida busca frenar ataques a la cadena de suministro, donde código malicioso se ejecuta al instalar dependencias. Sin embargo, la decisión llega después de que múltiples incidentes hayan comprometido proyectos, demostrando que la infección ya es un hecho y no una posibilidad futura.
El cambio técnico y su impacto en el ecosistema Node.js 🔧
La modificación afecta a los scripts definidos en el campo scripts del archivo package.json, como preinstall o postinstall, que se ejecutan automáticamente. A partir de ahora, requerirán un flag explícito como --ignore-scripts o configuración manual. Esto rompe flujos de trabajo legítimos, como compilaciones nativas o descargas de binarios. Los desarrolladores deberán actualizar sus pipelines CI/CD y revisar dependencias, mientras que los atacantes buscarán nuevas vías, como hooks en Git o exploits en el registro.
La solución perfecta para el problema que ya pasó 🐴
Claro, ahora GitHub se pone seria. Después de que paquetes como event-stream o ua-parser-js demostraran que cualquiera puede colar malware en npm, la respuesta es desactivar scripts. Es como cerrar la puerta del establo cuando los caballos ya se fueron al infierno. Los atacantes ya usan técnicas más sutiles, como ofuscar código en dependencias directas. Pero bueno, al menos ahora los scripts no se ejecutarán solos. Aunque los troyanos ya estén instalados.