Розробник пошкодив власні NPM-пакунки на знак протесту

3 хв. читання

Додавання чужого коду до своїх проєктів завжди супроводжується ризиком, але розробники звикли довіряти відкритим проєктам, які мають мільйонні завантаження покладаючись на чесність та уважність інших. Але інколи це має непередбачувані наслідки.

Так, днями, розробник цілеспрямовано пошкодив кілька власних бібліотек з відкритим кодом і npm-пакунки faker.js (генератор несправжніх даних для демонстрацій) і colors.js (додає кольори до консолі JavaScript), на які покладаються тисячі користувачів. Внаслідок цього деякі проєкти вийшли з ладу. І хоча color.js було оновлено до робочої версії, faker.js досі не працює, але проблему можна усунути, повернувшись до попередньої версії (5.5.3).

Розробник цих двох бібліотек, Марак Сквайрс, надіслав зловмисний коміт до color.js, який додає «новий модуль американського прапора», а також випустив версію 6.6.6 faker.js, яка спричиняє таку ж проблему. Ці версії змушують програми нескінченно виводити дивні літери та символи, починаючи з трьох рядків тексту «LIBERTY LIBERTY LIBERTY.»

Найцікавіше, що файл Readme faker.js також був змінений на «Що насправді сталося з Аароном Шварцом?». Згадка Сквайрса про Шварца потенційно може посилатися на теорії змови, пов'язані з його смертю.

Шварц був видатним розробником, який допоміг створити Creative Commons, RSS і Reddit. У 2011 році Шварц був звинувачений у крадіжці документів з академічної бази даних JSTOR з метою їхнього вільного розповсюдження, а пізніше покінчив життя самогубством у 2013 році.

Низка користувачів, серед яких ті, хто працює з Amazon Cloud Development Kit, писали до системи відстеження помилок GitHub цих двох проєктів, щоб висловити свої занепокоєння з приводу цієї проблеми. І, оскільки пакунки faker.js завантажують майже 2,5 мільйона разів на тиждень на npm, а color.js — близько 22,4 мільйона разів на тиждень, наслідки пошкодження, ймовірно, відгукуватимуться ще довго.

У відповідь на запити Сквайрс написав у, імовірно, саркастичній формі: «Нам стало відомо, що у версії colors 1.4.44-liberty-2 є помилка zalgo. Повідомляємо, що ми зараз працюємо над виправленням ситуації й незабаром ми її вирішимо».

За два дні після розміщення пошкодженого оновлення faker.js, Сквайрс твітнув, що його обліковий запис на GitHub призупинено, попри підтримку ним сотень проєктів на сайті. Однак, судячи з журналу змін у faker.js і colors.js, його блокування було знято. Сквайрс випустив виправлення faker.js 4 січня та був заблокований 6 січня і не представив «вільну» версію colors.js до 7 січня. Незрозуміло, чи був обліковий запис Сквайрс знову заблокований.

Однак на цьому історія не завершується. Виявилося, що у дописі на GitHub від листопада 2020 року він заявляв, що більше не хоче задарма працювати. «З повагою, але я більше не збираюся підтримувати Fortune 500 (та інші дрібніші компанії) своєю безплатною роботою», — каже він. «Пропоную вам можливість надіслати мені шестизначний річний контракт або форкніть проєкт і попросіть когось іншого працювати над ним».

Цей крок Сквайрса привертає увагу до моральної та фінансової дилеми розробки відкритого коду, яка, можливо, була метою його дій. Безліч вебсайтів, програмного забезпечення та застосунків покладається на безплатну працю розробників ПЗ з відкритим кодом для створення основних інструментів та компонентів.

Ця ж проблема призводить до того, що неоплачувані розробники невтомно працюють над усуненням проблем із безпекою їхнього програмного забезпечення з відкритим кодом, як-от Heartbleed scare у 2014 році, яка впливала на OpenSSL, і нещодавня вразливість Log4Shell, виявлена в log4j, над виправленням якої працювало чимало волонтерів.

npm
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 4.7K
Приєднався: 10 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація