Распрацоўнік унёс дэструктыўныя змены ў NPM-пакеты colors і faker, якія прымяняюцца ў 20 тысячах праектах.

Марак Сквайрс (Marak Squires), аўтар папулярных пакетаў colors (расфарбоўка кансолі node.js) і faker (генератар фіктыўных дадзеных для палёў уводу), якія налічваюць 2.8 і 25 млн штотыднёвых загрузак, размясціў у рэпазітары NPM і на GitHub новыя версіі сваіх прадуктаў, улучальныя дэструктыўныя змены, мэтанакіравана якія прыводзяць да збояў на стадыі зборкі і выкананні залежных праектаў. У выніку дзеянняў Марака была парушана праца шматлікіх праектаў, у тым ліку AWS CDK, якія выкарыстоўваюць названыя бібліятэкі — бібліятэка colors выкарыстоўваецца ў якасці залежнасці ў 18953 праектаў, а faker — у 2571.

У код бібліятэкі "colors" была дададзеная выснова ў кансоль тэксту "LIBERTY LIBERTY LIBERTY" і бясконцы цыкл, які блакуе працу залежных праектаў і выводзіць паток са скажоных слоў "tesing". У бібліятэцы faker выдаленае змесціва рэпазітара, у коміце «endgame» дададзеныя файлы .gitignore і .npmignore для выключэння файлаў праекта, а замест змесціва файла README змешчана пытанне «Што насамрэч здарылася з Ааронам Шварцам». Праблемы прысутнічаюць у версіях colors 1.4.1+ і faker 6.6.6.

Распрацоўнік унёс дэструктыўныя змены ў NPM-пакеты colors і faker, якія прымяняюцца ў 20 тысячах праектах.

У адказ на здзейсненыя дзеянні GitHub заблакаваў доступ Марака да сваіх рэпазітароў (90 публічных + некалькі прыватных), а NPM адкаціў шкоднасную версію пакета. Пры гэтым законнасць дзеянняў GitHub выклікае пытанні, бо выдаленне распрацоўшчыкам кода з аднаго са сваіх рэпазітароў не можа разглядацца як парушэнне правіл сэрвісу. Больш таго, у тэксце ліцэнзіі на пакеты colors і faker відавочна пазначана адсутнасць любых гарантый і абавязанняў у стаўленні працаздольнасці кода.

Цікава, што першае папярэджанне аб спыненні распрацоўкі было апублікавана больш за год таму. У верасні 2020 года Марак страціў усю маёмасць з-за пажару, пасля чаго ў пачатку лістапада ва ўльтыматыўнай форме заклікаў камерцыйныя кампаніі, якія выкарыстоўваюць яго праекты, фінансаваць працяг распрацоўкі, інакш ён абяцаў спыніць суправаджэнне, бо не мае намеру больш працаваць бясплатна. Да інцыдэнту апошняя версія colors была выпушчана два гады таму, а faker – 9 месяцаў таму.

Што да матываў унясення ў пакеты дэструктыўных змен, то верагодна Марак спрабуе даць урок карпарацыям, якія карыстаюцца працамі супольнасці распрацоўнікаў вольнага ПЗ, але нічога не вяртаюць наўзамен, або прыцягнуць увагу да пераасэнсавання акалічнасцяў смерці Аарона Шварца. Аарон скончыў жыццё самагубствам пасля ўзбуджанай супраць яго крымінальнай справы, звязанай з капіраваннем навуковых артыкулаў з платнай базы дадзеных JSTOR, адстойваючы ідэю прадастаўлення свабоднага доступу да навуковых публікацый. Аарону былі прад'яўленыя абвінавачванні ў кампутарным махлярстве і незаконным атрыманні інфармацыі з абароненага кампутара, максімальны тэрмін пакарання па якіх складаў 50 гадоў пазбаўлення волі і штраф у мільён даляраў (у выпадку заключэння судовага пагаднення і прызнання абвінавачанняў Аарону трэба было адседзець у турме 6 месяцаў).

Лічыцца, што Аарон на фоне дэпрэсіі не вытрымаў ціску судовай сістэмы і несправядлівасці абвінавачванняў (яму пагражала 50 гадоў турмы толькі за тое, што ён запампаваў змесціва базы дадзеных навуковых артыкулаў, якія на яго думку павінны распаўсюджвацца без абмежавання). Марак Сквайрс у апублікаваным замест выдаленага кода пытанні аб смерці Аарона і ў публікацыі ў Twitter-е намякае на непацверджаную тэорыю змовы, у адпаведнасці з якой Аарон Шварц знайшоў у архіве MIT нейкія дакументы, якія ганьбяць пэўных важных асоб, і яго за гэта забілі, замаскіраваўшы прышэсце пад самагубства (заўтра споўніцца 9 гадоў як Аарон пайшоў з жыцця).

Крыніца: opennet.ru

Дадаць каментар