Refuerzan ecosistemas de desarrollo: nuevos controles sobre paquetes y extensiones ante riesgos de compromisos por ataques a cadena de suministro

GitHub, Microsoft y RubyGems anunciaron nuevas medidas de seguridad destinadas a limitar riesgos asociados a dependencias, paquetes y extensiones recientemente publicadas. Los cambios incorporan aprobaciones explícitas, retrasos en actualizaciones automáticas y períodos de espera para nuevas versiones.

Diversas plataformas utilizadas por desarrolladores anunciaron durante lo que va de junio la implementación nuevas medidas orientadas a reforzar la seguridad de la cadena de suministro de software. Las iniciativas fueron presentadas por GitHub para npm, por Microsoft para Visual Studio Code y por RubyGems para el ecosistema Ruby, con el objetivo de reducir la exposición a versiones maliciosas o comprometidas distribuidas a través de paquetes y extensiones.

GitHub y novedades para npm v12

GitHub informó que npm v12, cuyo lanzamiento está previsto para el próximo mes, modificará comportamientos que actualmente se ejecutan automáticamente durante la instalación de dependencias. Entre los cambios anunciados se encuentra la necesidad de aprobar explícitamente determinados scripts y fuentes de dependencias antes de que puedan utilizarse. Según lo informado por la compañía, la ejecución de código y las fuentes de dependencias que no pertenecen al registro y que actualmente se activan automáticamente durante npm install ahora requerirán aprobación explícita en lugar de ser confiadas de forma predeterminada.

Las modificaciones incluyen restricciones a la ejecución automática de scripts preinstall, install y postinstall de dependencias, así como limitaciones para obtener dependencias desde repositorios Git o desde direcciones remotas, salvo que exista una autorización explícita. GitHub recomendó a los desarrolladores actualizar previamente a npm 11.16.0 o versiones posteriores para identificar advertencias relacionadas con funcionalidades que dejarán de operar bajo la nueva configuración predeterminada.

Retraso en actualización en VS Code

Por su parte, Microsoft incorporó en Visual Studio Code 1.123 un mecanismo que retrasa durante dos horas la instalación automática de nuevas versiones de extensiones cuando los usuarios tienen habilitadas las actualizaciones automáticas. La empresa señaló que “cuando las actualizaciones automáticas están habilitadas, las nuevas versiones se actualizan automáticamente dos horas después de ser publicadas, agregando una capa adicional de protección contra versiones problemáticas o potencialmente comprometidas”.

La funcionalidad permite que los usuarios continúen actualizando extensiones manualmente de forma inmediata si así lo desean. Microsoft indicó además que las extensiones publicadas por editores considerados confiables, entre ellos Microsoft, GitHub y OpenAI, seguirán actualizándose sin aplicar esta demora.

Cool down de RubyGems

En paralelo, RubyGems anunció la incorporación de una función opcional de “cooldown” disponible en Bundler 4.0.13. La característica permite definir un período mínimo antes de instalar versiones recién publicadas de gemas. El proyecto explicó que esta capacidad busca ofrecer tiempo adicional para detectar posibles problemas antes de que una nueva versión sea adoptada ampliamente. Según RubyGems, la función permite “dejar que las nuevas gemas sean evaluadas”.

La documentación del proyecto señala que el período de espera puede configurarse según las necesidades de cada organización o desarrollador. El mecanismo se suma a controles similares implementados recientemente en otros gestores de paquetes y dependencias utilizados en distintos ecosistemas de desarrollo. En el caso de Cool down —o enfriamiento— este es “parte de una inversión en seguridad más amplia que se está realizando”, indicaron desde RubyGems.