Розробник вніс деструктивні зміни до 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

Додати коментар або відгук