Wykorzystywany do budowy sieci neuronowych w popularnym środowisku programistycznym JavaScript pakiet node-ipc pobierany jest ponad milion razy w tygodniu i wykorzystywany w jeszcze popularniejszych narzędziach. W zeszłym tygodniu zyskał nowe nie do końca typowe funkcje.
Powodowały one sprawdzenie adresu IP komputera, na którym pakiet jest uruchamiany i jeżeli należał on do puli adresów z Rosji lub Białorusi kasował zawartość dysku. Jak wskazuje szereg mniej lub bardziej histerycznych reakcji na stronie zgłoszeń projektu, odniosło to spodziewany efekt. Wersje oprogramowania podejmujące tak drastyczne kroki zostały jednak w ciągu paru dni usunięte ze stron odpowiedzialnych za ich dystrybucję do użytkowników, obecna “jedynie” utrzymuje jako zależność pakiet “peacenotwar” o następującym opisie;
Ten kod służy jako nie-destruktywny przykład dlaczego ważne jest aby kontrolować wykorzystywane moduły node. Jest też bezprzemocowym protestem przeciw Rosyjskiej agresji, która zagraża obecnie światu. Moduł ten doda wiadomość pokoju na pulpicie użytkowników i zrobi to wyłącznie, jeśli jeszcze nie istnieje taki plik, z uprzejmości.
Autor tego pakietu określa go terminem “protestware”.
Licencja pakietu node-ipc została też zmieniona z MIT na bardzo treściwą “Dont Be a Dick” Public License, której polskie tłumaczenie można znaleźć tutaj.
Dłuższy zdecydowanie niepochwalający akcji opis można znaleźć tutaj (ang).
Jest w ogóle chyba mocno niejasne, co robi
peacenotwar
, a co samnode-ipc
implementuje w ramach protestu. Z tego, co mi się udało ustalić:peacenotwar
po prostu wyświetla antywojenną wiadomość w konsoli, i tworzy na dysku plik z jej treścią;node-ipc
sprawdza publiczny adres IP urządzenia, na którym jest odpalone, i jeśli “jest z Rosji”, próbuje usunąć zawartość dysku.Sorry, wydawało mi się, że możliwie jasno to opisałem. Jest tak jak piszesz, z tym, że
node-ipc
działał tak przez circa 2-3 dni, w dwóch już generalnie niedostępnych wersjach. Obecnie przy każdym uruchomieniu odpalapeacenotwar
.O, to ważna informacja. 👀
Było w tekście ;)
No fakt, było. :P