Во зависност од пакетот npm со инсталаторот PureScript
Проблемот го откри еден од новите одржувачи на пакетот, на кого му беа пренесени правата за одржување по многу несогласувања и непријатни дискусии со оригиналниот автор на чистото npm пакет. Новите одржувачи се одговорни за компајлерот PureScript и инсистираа дека пакетот NPM и неговиот инсталатер треба да се одржуваат од истите одржувачи, а не од надворешна страна. Авторот на пакетот npm со инсталаторот PureScript не се согласуваше долго време, но потоа попушти и го префрли пристапот до складиштето. Сепак, некои зависности останаа под негова контрола.
Минатата недела беше објавен компајлерот PureScript 0.13.2 и
новите одржувачи подготвија соодветно ажурирање на пакетот npm со инсталерот, во зависностите од кои беше идентификуван малициозен код. Авторот на пакетот npm со инсталаторот PureScript, кој беше отстранет од функцијата одржувач, рече дека неговата сметка била компромитирана од непознати напаѓачи. Сепак, во неговата сегашна форма, дејствата на малициозниот код беа ограничени на саботирање на инсталацијата на пакетот, што беше првата верзија од новите одржувачи. Злонамерните дејства изнесуваа јамка со порака за грешка при обидот да се инсталира пакет со командата „npm i -g purescript“ без да се изврши некоја очигледна злонамерна активност.
Откриени се два напади. Неколку часа по официјалното објавување на новата верзија на чистиот пакет npm, некој создаде нова верзија на зависноста load-from-cwd-or-npm 3.0.2, промени во кои доведоа до повикот до loadFromCwdOrNpm() наместо од листата на потребни за инсталација бинарни датотеки вратен поток
4 дена подоцна, откако програмерите го открија изворот на неуспесите и се подготвуваа да објават ажурирање за да го исклучат load-from-cwd-or-npm од зависности, напаѓачите објавија друго ажурирање, load-from-cwd-or-npm 3.0.4, во кој е отстранет малициозниот код. Сепак, речиси веднаш, беше објавено ажурирање на друга зависност, стапка-мапа 1.0.3, која додаде поправка што го блокираше повикот за повратен повик за вчитување. Оние. и во двата случаи, промените во новите верзии на load-from-cwd-or-npm и rate-map беа во природата на очигледна саботажа. Згора на тоа, малициозниот код имаше проверка што активираше неисправни дејства само при инсталирање на издание од нови одржувачи и не се појавуваше на кој било начин при инсталирање постари верзии.
Програмерите го решија проблемот со објавување ажурирање во кое беа отстранети проблематичните зависности. Со цел да се спречи компромитиран код да се насели на корисничките системи по обидот да се инсталира проблематична верзија на PureScript, се препорачува да се избрише содржината на директориумите node_modules и датотеките package-lock.json, а потоа да се постави чиста верзија 0.13.2 како долната граница.
Извор: opennet.ru