Wykryto złośliwe zmiany w zależnościach pakietu npm z instalatorem PureScript

W zależności od pakietu npm z instalatorem PureScript zidentyfikowany złośliwy kod pojawiający się podczas próby zainstalowania pakietu czysty skrypt. Złośliwy kod jest osadzany poprzez zależności obciążenie z-cwd-lub-npm и mapa stawek. Warto dodać, że konserwacją pakietów z tymi zależnościami zajmuje się oryginalny autor pakietu npm za pomocą instalatora PureScript, który do niedawna opiekował się tym pakietem npm, jednak około miesiąca temu pakiet został przekazany innym opiekunom.

Problem odkrył jeden z nowych opiekunów pakietu, któremu po wielu nieporozumieniach i nieprzyjemnych dyskusjach z pierwotnym autorem pakietu purescript npm przeniesiono prawa do jego konserwacji. Nowi opiekunowie są odpowiedzialni za kompilator PureScript i nalegali, aby pakiet NPM i jego instalator były utrzymywane przez tych samych opiekunów, a nie przez stronę zewnętrzną. Autor pakietu npm z instalatorem PureScript długo się nie zgadzał, ale potem ustąpił i przekazał dostęp do repozytorium. Jednak niektóre zależności pozostały pod jego kontrolą.

W zeszłym tygodniu został wydany kompilator PureScript 0.13.2 i
nowi opiekunowie przygotowali odpowiednią aktualizację pakietu npm z instalatorem, w zależności od którego zidentyfikowano złośliwy kod. Autor pakietu npm z instalatorem PureScript, który został usunięty ze stanowiska opiekuna, powiedział, że jego konto zostało przejęte przez nieznanych napastników. Jednak w obecnej postaci działania szkodliwego kodu ograniczały się do sabotowania instalacji pakietu, który stanowił pierwszą wersję od nowych opiekunów. Złośliwe działania sprowadzały się do zapętlenia komunikatu o błędzie podczas próby zainstalowania pakietu za pomocą polecenia „npm i -g purescript” bez wykonania jakiejkolwiek oczywistej szkodliwej aktywności.

Wykryto dwa ataki. Kilka godzin po oficjalnym wydaniu nowej wersji pakietu purescript npm ktoś stworzył nową wersję zależności loading-from-cwd-or-npm 3.0.2, której zmiany doprowadziły zamiast tego do wywołania metody loadingFromCwdOrNpm() listy wymaganych do instalacji plików binarnych zwrócony strumień Przejść przez, odzwierciedlając zapytania wejściowe jako wartości wyjściowe.

4 dni później, gdy programiści odkryli źródło błędów i przygotowywali się do wydania aktualizacji wykluczającej obciążenie z cwd-or-npm z zależności, napastnicy wydali kolejną aktualizację, ładowanie z-cwd-or-npm 3.0.4, w której usunięto szkodliwy kod. Jednak niemal natychmiast wydano aktualizację innej zależności, mapy stawek 1.0.3, która dodała poprawkę blokującą wywołanie zwrotne podczas ładowania. Te. w obu przypadkach zmiany w nowych wersjach Load-from-cwd-or-npm irate-map miały charakter oczywistego sabotażu. Co więcej, złośliwy kod miał kontrolę, która wywoływała błędne działania tylko podczas instalowania wydania od nowych opiekunów i nie pojawiała się w żaden sposób podczas instalowania starszych wersji.

Twórcy rozwiązali problem wypuszczając aktualizację, w której usunięto problematyczne zależności. Aby zapobiec osadzaniu się skompromitowanego kodu w systemach użytkowników po próbie instalacji problematycznej wersji PureScript, zaleca się usunięcie zawartości katalogów node_modules i plików package-lock.json, a następnie ustawienie wersji purescript 0.13.2 jako dolna granica.

Źródło: opennet.ru

Dodaj komentarz