Анна НагорнаГаряченьке
11 січня 2022, 18:23
2022-01-11
Розробник зіпсував популярні бібліотеки з відкритим кодом і нашкодив тисячам користувачів. Ймовірно, йому набридло роздавати свій код безкоштовно
Один з розробників навмисно зіпсував популярні бібліотеки з відкритим початковим кодом на GitHub і в реєстрі програмного забезпечення npm — faker.js і colors.js. Це вплинуло на тисячі користувачів і безліч проєктів, які використовують ці бібліотеки. Як пише The Verge, ймовірно, розробник більше не хотів надавати свій код безкоштовно.
Один з розробників навмисно зіпсував популярні бібліотеки з відкритим початковим кодом на GitHub і в реєстрі програмного забезпечення npm — faker.js і colors.js. Це вплинуло на тисячі користувачів і безліч проєктів, які використовують ці бібліотеки. Як пише The Verge, ймовірно, розробник більше не хотів надавати свій код безкоштовно.
Баги з відсилками
Розробник, на ім’я Марак Сквайрс, впровадив пошкоджені оновлення в ці бібліотеки, які й спровокували баги. Зокрема, Сквайрс випустив «новий модуль американського прапора» для colors.js і версію з «диявольським числом» 6.6.6 для faker.js.
Після цього програми почали нескінченно виводити дивні букви та символи, починаючи з трьох рядків тексту «LIBERTY LIBERTY LIBERTY». Також консолі JavaScript почали фарбуватися в кольори американського прапора.
А ще в файлі Readme в faker.js він написав: «Що насправді сталося з Аароном Шварцем?». Це відсилання до відомого розробника, який допомагав створювати Creative Commons, RSS і Reddit. У 2011 році його звинуватили в крадіжці документів з академічної бази JSTOR, до яких він хотів надати вільний доступ. Двома роками пізніше Шварц вчинив самогубство.
Імовірно, згадка Сквайрса про нього може посилатися на теорію змови, пов’язану з його смертю.
Які наслідки
Бібліотеку faker.js завантажують приблизно 2,5 мільйона разів на тиждень на npm, а color.js налічує понад 22 мільйони завантажень. Зламані програми вплинули на безліч проєктів (сайтів, ПЗ, додатків), що містять ці бібліотеки з відкритим кодом, які за своїм визначенням є безкоштовними.
До теперішнього часу colors.js замінили на робочу версію, а використовувати faker.js стало можливо при переході на попередню версію (5.5.3). Також GitHub заблокував Сквайрсу його акаунт і доступ до проєктів, яких, за словами розробника, у нього сотні.
Навіщо все це
Один з користувачів бібліотек припустив у Twitter, що розробник colors.js сердиться через те, що йому не платять. Тому він вирішив «вивішувати» американський прапор кожного разу, коли бібліотеку завантажують.
Apparently the author of `colors.js` is angry for not being payed https://t.co/4N9Nl81bkL So he decided to print the American flag each time his library is loaded https://t.co/U6FoH0ADFJ WTF
Крім того, видання Bleeping Computer розкопало пост Сквайрса на GitHub від листопада 2020 року, в якому він заявляє, що більше не хоче працювати безкоштовно.
«З усією повагою, я більше не збираюся підтримувати Fortune 500 (та інші компанії меншого розміру) своєю безкоштовною роботою. Використовуйте це як можливість надіслати мені шестизначний річний контракт, або розгалузити проєкт, щоб хтось інший працював над ним», — написав Сквайрс.