Se detectaron cambios maliciosos en las dependencias del paquete npm con el instalador de PureScript

Dependiendo del paquete npm con el instalador de PureScript identificado Código malicioso que aparece cuando intentas instalar un paquete. puro guión. El código malicioso está incrustado a través de dependencias cargar-desde-cwd-o-npm и mapa de tarifas. Cabe destacar que el mantenimiento de paquetes con estas dependencias lo realiza el autor original del paquete npm con el instalador PureScript, quien hasta hace poco mantenía este paquete npm, pero hace aproximadamente un mes el paquete fue transferido a otros mantenedores.

El problema fue descubierto por uno de los nuevos mantenedores del paquete, a quien se transfirieron los derechos de mantenimiento después de muchos desacuerdos y discusiones desagradables con el autor original del paquete npm purescript. Los nuevos mantenedores son responsables del compilador PureScript e insistieron en que el paquete NPM y su instalador deben ser mantenidos por los mismos mantenedores y no por una parte externa. El autor del paquete npm con el instalador PureScript no estuvo de acuerdo durante mucho tiempo, pero luego cedió y transfirió el acceso al repositorio. Sin embargo, algunas dependencias permanecieron bajo su control.

La semana pasada se lanzó el compilador PureScript 0.13.2 y
Los nuevos mantenedores prepararon una actualización correspondiente del paquete npm con un instalador, en cuyas dependencias se identificó código malicioso. El autor del paquete npm con el instalador PureScript, que fue destituido de su puesto como mantenedor, dijo que su cuenta fue comprometida por atacantes desconocidos. Sin embargo, en su forma actual, las acciones del código malicioso se limitaron a sabotear la instalación del paquete, que fue la primera versión de los nuevos mantenedores. Las acciones maliciosas equivalían a un bucle con un mensaje de error al intentar instalar un paquete con el comando “npm i -g purescript” sin realizar ninguna actividad maliciosa obvia.

Se detectaron dos ataques. Unas horas después del lanzamiento oficial de la nueva versión del paquete Purescript npm, alguien creó una nueva versión de la dependencia load-from-cwd-or-npm 3.0.2, cuyos cambios llevaron a la llamada a loadFromCwdOrNpm() en su lugar. de la lista de archivos binarios necesarios para la instalación flujo devuelto Pasar por, reflejando consultas de entrada como valores de salida.

4 días después, después de que los desarrolladores descubrieron el origen de las fallas y se estaban preparando para lanzar una actualización para excluir load-from-cwd-or-npm de las dependencias, los atacantes lanzaron otra actualización, load-from-cwd-or-npm. 3.0.4, en el que se eliminó el código malicioso. Sin embargo, casi de inmediato, se lanzó una actualización de otra dependencia, rate-map 1.0.3, que agregó una solución que bloqueaba la llamada de devolución de llamada para la carga. Aquellos. En ambos casos, los cambios en las nuevas versiones de load-from-cwd-or-npm y rate-map tuvieron el carácter de un sabotaje obvio. Además, el código malicioso tenía una verificación que activaba acciones defectuosas sólo al instalar una versión de nuevos mantenedores y no aparecía de ninguna manera al instalar versiones anteriores.

Los desarrolladores resolvieron el problema lanzando una actualización en la que se eliminaban las dependencias problemáticas. Para evitar que el código comprometido se instale en los sistemas de los usuarios después de intentar instalar una versión problemática de PureScript, se recomienda eliminar el contenido de los directorios node_modules y los archivos package-lock.json y luego configurar la versión 0.13.2 de purescript como límite inferior.

Fuente: opennet.ru

Añadir un comentario