Marak Squires, autor popularnych pakietów colors (kolorowanie konsoli node.js) i faker (generator fikcyjnych danych do pól wejściowych), które mają odpowiednio 2,8 mln i 25 mln tygodniowych pobrań, umieścił w repozytorium NPM i na GitHub nowe wersje swoich produktów, zawierające destrukcyjne zmiany, które celowo prowadzą do awarii na etapie kompilacji i wykonania projektów zależnych. W wyniku działań Maraka naruszona została praca wielu projektów, w tym AWS CDK, używających wspomnianych bibliotek — biblioteka colors jest wykorzystywana jako zależność przez 18953 projektów, a faker — przez 2571.
Do kodu biblioteki „colors” dodano wyjście w konsoli tekstu „LIBERTY LIBERTY LIBERTY” oraz nieskończoną pętlę, blokującą działanie projektów zależnych i wyprowadzającą strumień z zniekształconymi słowami „tesing”. W bibliotece faker usunięto zawartość repozytorium, w commicie „endgame” dodano pliki .gitignore i .npmignore w celu wykluczenia plików projektu, a zamiast zawartości pliku README umieszczono pytanie „Co tak naprawdę stało się z Aaronem Swartzem”. Problemy występują w wersjach colors 1.4.1+ i faker 6.6.6.

W odpowiedzi na dokonane działania GitHub zablokował dostęp Maraka do swoich repozytoriów (90 publicznych + kilka prywatnych), a NPM cofnęło szkodliwą wersję pakietu. Przy tym legalność działań GitHub budzi wątpliwości, ponieważ usunięcie przez dewelopera kodu z jednego ze swoich repozytoriów nie może być traktowane jako naruszenie zasad serwisu. Co więcej, w tekście licencji na pakiety colors i faker wyraźnie zaznaczone jest brak jakichkolwiek gwarancji i zobowiązań w zakresie funkcjonalności kodu.
Ciekawe, że pierwsze ostrzeżenie o zakończeniu rozwoju opublikowano ponad rok temu. We wrześniu 2020 roku Marak stracił wszystkie swoje mienie w wyniku pożaru, po czym na początku listopada w stanowczy sposób wezwał komercyjne firmy korzystające z jego projektów do finansowania dalszego rozwoju, w przeciwnym razie obiecał zaprzestać wsparcia, ponieważ nie zamierzał już pracować za darmo. Do incydentu ostatnia wersja colors została wydana dwa lata temu, a faker — 9 miesięcy temu.
Jeśli chodzi o motywy wprowadzania destrukcyjnych zmian do pakietów, prawdopodobnie Marak stara się nauczyć lekcji korporacjom, które korzystają z pracy społeczności programistów oprogramowania otwartego, ale nic nie oddają w zamian, lub zwrócić uwagę na przemyślenie okoliczności śmierci Aarona Swartza. Aaron popełnił samobójstwo po wszczęciu postępowania karnego przeciwko niemu związane z kopiowaniem artykułów naukowych z płatnej bazy danych JSTOR, opierając się na idei zapewnienia otwartego dostępu do publikacji naukowych. Aarona oskarżono o oszustwo komputerowe i nielegalne uzyskiwanie informacji z chronionego komputera, za co groziło mu maksymalnie 50 lat pozbawienia wolności oraz grzywna w wysokości miliona dolarów (w przypadku zawarcia umowy sądowej i przyznania się do winy, Aaron miałby spędzić w więzieniu 6 miesięcy).
Uważa się, że Aaron, zmagający się z depresją, nie wytrzymał presji systemu sądowego i niesprawiedliwości przedstawianych oskarżeń (groziło mu 50 lat więzienia tylko za to, że pobrał zawartość bazy danych artykułów naukowych, które jego zdaniem powinny być dystrybuowane bez ograniczeń). Marak Squires w opublikowanym zamiast usuniętego kodu pytaniu o śmierć Aarona oraz w publikacji na Twitterze sugeruje niepotwierdzoną teorię spisku, według której Aaron Swartz znalazł w archiwum MIT jakieś dokumenty kompromitujące niektóre ważne osoby i został za to zabity, zamaskowawszy przyjście pod samobójstwo (jutro minie 9 lat, odkąd Aaron odszedł z życia).
Źródło: opennet.ru
