Dependendo do paquete npm co instalador de PureScript
O problema foi descuberto por un dos novos mantedores do paquete, a quen foron transferidos os dereitos de mantemento despois de moitos desacordos e discusións desagradables co autor orixinal do paquete purescript npm. Os novos mantedores son responsables do compilador PureScript e insistiron en que o paquete NPM eo seu instalador deberían ser mantidos polos mesmos mantedores e non por unha parte externa. O autor do paquete npm co instalador de PureScript non estivo de acordo durante moito tempo, pero despois cedeu e transferiu o acceso ao repositorio. Con todo, algunhas dependencias permaneceron baixo o seu control.
A semana pasada lanzouse o compilador PureScript 0.13.2 e
os novos mantedores prepararon unha actualización correspondente do paquete npm cun instalador, en cuxas dependencias se identificou código malicioso. O autor do paquete npm co instalador de PureScript, que foi eliminado da súa publicación como mantedor, dixo que a súa conta foi comprometida por atacantes descoñecidos. Non obstante, na súa forma actual, as accións do código malicioso limitáronse a sabotear a instalación do paquete, que era a primeira versión dos novos mantedores. As accións maliciosas equivalían a un bucle cunha mensaxe de erro ao tentar instalar un paquete co comando "npm i -g purescript" sen realizar ningunha actividade maliciosa obvia.
Detectáronse dous ataques. Poucas horas despois do lanzamento oficial da nova versión do paquete purescript npm, alguén creou unha nova versión da dependencia load-from-cwd-or-npm 3.0.2, cambios nos que levaron á chamada a loadFromCwdOrNpm() da lista de ficheiros binarios necesarios para a instalación devoltos
4 días despois, despois de que os desenvolvedores descubriron a orixe dos fallos e se preparaban para lanzar unha actualización para excluír load-from-cwd-or-npm das dependencias, os atacantes lanzaron outra actualización, load-from-cwd-or-npm 3.0.4, na que se eliminou o código malicioso. Non obstante, case inmediatamente lanzouse unha actualización a outra dependencia, rate-map 1.0.3, que engadiu unha corrección para bloquear a devolución de chamada de descarga. Eses. en ambos os casos, os cambios nas novas versións de load-from-cwd-or-npm e rate-map tiveron a natureza dunha obvia sabotaxe. Ademais, o código malicioso tiña unha comprobación que desencadeaba accións defectuosas só ao instalar unha versión de novos mantedores e non aparecía de ningún xeito ao instalar versións anteriores.
Os desenvolvedores resolveron o problema lanzando unha actualización na que se eliminaban as dependencias problemáticas. Para evitar que o código comprometido se instale nos sistemas dos usuarios despois de tentar instalar unha versión problemática de PureScript, recoméndase eliminar o contido dos directorios node_modules e ficheiros package-lock.json e, a continuación, establecer a versión de purescript 0.13.2 como o límite inferior.
Fonte: opennet.ru