Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon GitHub desactivará los scripts de instalación de npm por defecto para frenar los ataques a la cadena de suministro


GitHub anunció que la versión 12 de npm desactivará por defecto los scripts de instalación para combatir ataques en la cadena de suministro de software. Ahora, la ejecución de scripts, dependencias de Git y URLs remotas requerirá la aprobación explícita del usuario. Se recomienda a los desarrolladores actualizar a la versión 11.16.0 para revisar y autorizar previamente los paquetes confiables.





GitHub ha anunciado lo que llamó "cambios disruptivos" que llegarán a la versión 12 de npm, uno de los cuales desactiva los scripts de instalación por defecto para combatir las amenazas en la cadena de suministro de software.

Los cambios pretenden combatir técnicas de ataque que abusan del comando "npm install" para ejecutar código malicioso mediante los ganchos de ciclo de vida de npm. "Npm install" se utiliza para descargar e instalar todas las dependencias necesarias para un proyecto de Node.js. El lanzamiento de la versión 12 está programado para el próximo mes.

Al describir los scripts de ciclo de vida en el momento de la instalación como la "superficie de ejecución de código más grande en el ecosistema npm", GitHub señaló que el comando "npm install" ejecuta scripts de cada dependencia transitiva, por lo que un solo paquete comprometido en cualquier parte del árbol de dependencias puede ejecutar código arbitrario en tu máquina de desarrollador o en un ejecutor de CI.

Al bloquear tales comportamientos, la idea es requerir la aprobación explícita del usuario antes de que la ejecución del código se inicie automáticamente durante "npm install", en lugar de confiar por defecto. "Hacer que la ejecución de scripts sea opcional cierra esa vía, manteniendo a un solo comando de distancia los paquetes en los que confías", afirmó GitHub.

Los cambios se enumeran a continuación:

  • * npm install ya no ejecutará scripts de preinstalación, instalación o postinstalación de las dependencias, a menos que estén explícitamente permitidos en el proyecto.
  • * npm install ya no resolverá dependencias de Git, ya sean directas o transitivas, a menos que se permita explícitamente mediante --allow-git.
  • * npm install ya no resolverá dependencias de URLs remotas, como tarballs de https, a menos que se permita explícitamente mediante --allow-remote.

"Esto incluye las compilaciones nativas de node-gyp (es decir, un paquete con un binding.gyp y sin script de instalación explícito seguirá siendo bloqueado, ya que npm ejecuta una reconstrucción implícita de node-gyp para él)", dijo la subsidiaria propiedad de Microsoft sobre los cambios en el comportamiento predeterminado de "allowScripts". "Los scripts de preparación de dependencias de git, archivos y enlaces se bloquean de la misma manera".

Al establecer "--allow-git" en "none" por defecto, el ajuste cierra una ruta de ejecución de código donde el archivo de configuración .npmrc de una dependencia de Git podría anular el ejecutable de Git, incluso con --ignore-scripts, una bandera que evita que los paquetes especificados en un archivo package.json ejecuten automáticamente scripts de ciclo de vida integrados durante el proceso de instalación.

GitHub recomienda que te prepares para estos cambios actualizando a npm 11.16.0 o superior, ejecutando la instalación normal y revisando las advertencias que se muestren.

"Usa npm approve-scripts --allow-scripts-pending para ver qué paquetes tienen scripts, aprueba los que confíes y realiza el commit del package.json actualizado", añadió. "Después de eso, solo los scripts que aprobaste seguirán ejecutándose una vez que actualices. Cualquier cosa que dejes sin aprobar se detendrá".

A principios de este año, npm también introdujo "min-release-age", un ajuste que indica a npm que rechace cualquier versión de paquete publicada hace menos de un número especificado de días como salvaguarda contra paquetes maliciosos recién publicados.

Fuente:
THN

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.