Злонамерен код, намерен в инсталатора на purescript npm

npm purescript

Преди няколко дни злонамерен код беше открит в зависимостите на пакета npm с инсталатора на PureScript, което се проявява при опит за инсталиране на пакета purescript.

Злонамерен код вградени чрез зависимости load-from-cwd-or-npm и зависимости на картата на скоростта. Трябва да се отбележи, че оригиналният автор на npm пакета с инсталатора на PureScript, който доскоро беше ангажиран с поддържането на този npm пакет, но пакетът беше изпратен на други поддържащи, е отговорен за придружаването на пакети с тези зависимости.

Относно проблема

Проблемът е открит от един от новите анализатори на пакета, на когото правата за издръжка бяха прехвърлени след много разногласия и неприятни дискусии с оригиналния автор на npm purescript пакета.

Новите поддръжници са отговорни за компилатора на PureScript и те настояха, че пакетът NPM с неговия инсталатор трябва да бъде ремонтиран от самите поддържащи, а не от разработчик извън проекта.

Авторът на пакета npm с инсталатора на PureScript дълго време не се съгласяваше, но след това се отказа и даде достъп до хранилището. Някои зависимости обаче бяха оставени под негов контрол.

Миналата седмица беше обявено пускането на компилатора PureScript 0.13.2 и новите поддръжници подготвиха съответната актуализация на пакета npm с инсталатора, за които е открит зловредният код.

Зловредният код за първи път беше вмъкнат в npm пакета „load-from-cwd-or-npm“ във версия 3.0.2 и след това в пакета тарифни карти от версия 1.0.3. През последните дни бяха публикувани няколко версии на двата пакета.

Преместен от публикацията, придружаваща автора на пакета npm с инсталатора на PureScript, той каза, че акаунтът му е компрометиран от неизвестни нападатели.

Въпреки това, в текущата форма действията на злонамерения код бяха ограничени само чрез саботиране на инсталацията на пакета, която беше първата версия на новите поддръжници. Злонамерените действия бяха изведени при опит за инсталиране на пакет с командата "npm i -g purescript", без да се извършват явни злонамерени действия.

Идентифицирани са две атаки

С една дума, кодът саботира инсталатора на purescript npm, за да предотврати завършването на изтеглянето, което кара инсталационната програма да увисне по време на стъпката „Проверете дали предварително е съставен двоичен файл за вашата платформа“.

Първият експлойт направи това, като счупи пакета load-from-cwd-or-npm така че всяко извикване на loadFromCwdOrNpm () би върнало преминаваща последователност вместо очаквания пакет (в този случай пакетът заявки, който използвахме за изтегляне на двоичните файлове на компилатора). Втората итерация на експлоита направи това, като модифицира изходен файл, за да предотврати задействане на обратно извикване на изтегляне.

4 дни по-късно разработчиците разбраха източника на недостатъците и се подготвяха да пуснат актуализация, за да изключат load-from-cwd-o-npm от зависимости, хакерите пуснаха друга актуализация load-from-cwd-or-npm 3.0.4, където зловредният код е премахнат.

Почти веднага обаче бе пусната актуализация на друга зависимост Rate-Map 1.0.3, в която беше добавена корекция, която блокира повикването за обратно изтегляне.

Тоест и в двата случая промените в новите версии на load-from-cwd-or-npm и скоростта на картата бяха от естеството на очевидно отклонение.

Също така в злонамерения код имаше проверка, която задейства неуспешните действия само при инсталиране на версията на новите поддържащи и изобщо не се появи при инсталирането на предишните версии.

Разработчиците решиха проблема, като пуснаха актуализация, в която проблемните зависимости бяха премахнати.

За да се предотврати инсталирането на компрометиран код в потребителските системи, след опит за инсталиране на проблемната версия на PureScript.

Накрая разработчикът препоръчва на всеки, който има споменатите версии на пакета в своята система премахнете съдържанието на директориите node_modules и файловете package-lock.json и след това задайте версията на purescript 0.13.2.


Съдържанието на статията се придържа към нашите принципи на редакторска етика. За да съобщите за грешка, щракнете върху тук.

Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван.

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.