Розробник зіпсував популярні бібліотеки з відкритим кодом, нашкодивши безлічі проєктам
Один із розробників цілеспрямовано зіпсував кілька популярних бібліотек із відкритим початковим кодом на GitHub і в реєстрі програмного забезпечення npm — «faker.js» і «colors.js» — від яких залежать тисячі користувачів. Таким чином, він негативно вплинув на безліч проєктів, які містять ці бібліотеки, повідомляє The Verge.
Згодом color.js було замінено на робочу версію, а проблему з faker.js можна вирішити, перейшовши до попередньої версії (5.5.3).
Що сталося
Розробник цих двох бібліотек Марак Сквайрс здійснив ревізію файлу в colors.js на GitHub, яка додає «новий модуль американського прапора», а також випустив версію 6.6.6 faker.js. Це спричинило руйнівні наслідки: саботовані версії змушують програми нескінченно виводити дивні літери та символи, починаючи з трьох рядків тексту: «LIBERTY LIBERTY LIBERTY».
Також у Readme faker.js він написав: «Що насправді сталося з Аароном Шварцем?». Відомо, що Шварц був видатним розробником, який допоміг створити Creative Commons, RSS і Reddit. У 2011 році його звинуватили в крадіжці документів з академічної бази даних JSTOR із метою надання до них вільного доступу. Шварц вчинив самогубство в 2013 році. Тож згадка Сквайрса про Шварца потенційно може посилатися на теорії змови, пов’язані з його смертю, вважає видання.
Які наслідки дій Сквайрса
Відомо, що faker.js має близько 2,5 млн завантажень на тиждень на npm, а color.js — понад 22 млн завантажень. Тепер faker.js генерує підроблені дані для демонстрацій, а color.js додає кольори до консолей JavaScript.
У відповідь на проблему Сквайрс опублікував оновлення на GitHub, щоб нібито вирішити «проблему zalgo».
«Нам стало відомо, що у версії кольорів v1.4.44-liberty-2 є помилка zalgo. Будь ласка, знайте, що ми зараз працюємо, щоб виправити ситуацію, і незабаром ми її вирішимо», — написав Сквайрс у, ймовірно, саркастичній формі.
Уже через 2 дні після розміщення пошкодженого оновлення до faker.js акаунт Сквайрса призупинили на GitHub, незважаючи на збереження сотень проєктів на сайті.
Реакція ІТ-спільноти
Цей крок Марака викликав неоднозначну реакцію, повідомляє Bleeping Computer. Деякі представники спільноти програмного забезпечення з відкритим кодом схвально оцінили дії розробника, а інші були шоковані.
«Мабуть, автор „colors.js“ злий через те, що йому не платять... Тому він вирішив друкувати американський прапор щоразу, коли його бібліотека завантажується... WTF», — написав один із користувачів.
Деякі назвали це випадком «ще одного розробника OSS, який стає шахраєм», тоді як експерт InfoSec VessOnSecurity назвав цю дію «безвідповідальною».
Призупинення облікового запису розробника на GitHub також викликало неоднозначну реакцію.
«Видалення власного коду з [GitHub] є порушенням їхніх Умов надання послуг? WTF? Це крадіжка. Нам потрібно розпочати децентралізацію розміщення початкового коду безкоштовного програмного забезпечення», — заявив інженер-програміст Серхіо Гомес.
Проблема в неоплачуваній праці?
Bleeping Computer знайшов одну з публікацій Сквайрса на GitHub від листопада 2020 року, в якій він заявляє, що більше не хоче працювати безкоштовно.
«З повагою, я більше не збираюся підтримувати Fortune 500 (та інші компанії меншого розміру) своєю безкоштовною роботою. Скористайтеся цим як можливістю надіслати мені шестизначний річний контракт або розвинути проєкт і попросити когось іншого працювати над ним», — писав він тоді.
The Verge звернуло увагу, що нині величезна кількість веб-сайтів, програмного забезпечення та програм покладається на розробників із відкритим кодом для створення основних інструментів та компонентів — і все це безкоштовно.
«Ця ж проблема призводить до того, що неоплачувані розробники невтомно працюють над вирішенням проблем із безпекою свого програмного забезпечення з відкритим початковим кодом», — пише видання.
Раніше значного шуму наробив баг Log4j. Цю вразливість нульового дня виявили в популярній серед розробників бібліотеці логування Java Apache. Експлоіт легко експлуатується і дозволяє зловмисникам отримати повний контроль над вразливими серверами.
Log4j зачепив усі системи і служби, що використовують бібліотеку логування Java, Apache Log4j між версіями 2.0 та 2.14.1, включаючи багато служб і програм, написаних на Java: хмарні сервіси, такі як Steam, Apple iCloud та програми, як-от Minecraft.
При цьому невдовзі після масового використання вразливості Log4shell супроводжувачі бібліотеки з відкритим кодом працювали без винагороди у святкові дні, щоб виправити проєкт, оскільки виявлялося все більше і більше CVE.
Найкращі коментарі пропустити