Судя по всему, разработчик намеренно испортил пару библиотек с открытым исходным кодом на GitHub и в менеджере пакетов NPM: faker.js и colors.js.
Выяснилось, что разработчик этих двух библиотек Марак Сквайрс выпустил злонамеренные версии на GitHub. Библиотека faker.js генерирует случайные данные (например, для тестирования работы приложений), а colors.js добавляет в консоль отображение цветных символов. Но после обновления вместо нормальной работы библиотеки начали бесконечно выводить странные буквы и символы, начиная со строк текста, которые гласят: «СВОБОДА, СВОБОДА, СВОБОДА».
Дополнительно выяснилось, что файл readme для faker.js версии 6.6.6 был изменён на «Что на самом деле случилось с Аароном Шварцем?». Шварц был выдающимся разработчиком, который помог создать Creative Commons, RSS и Reddit. В 2011 году Шварцу было предъявлено обвинение в краже документов из академической базы данных JSTOR с целью сделать их бесплатными. Не дождавшись суда, он покончил жизнь самоубийством в 2013 году. Упоминание Сквайрсом о Шварце потенциально может относиться к теориям заговора, связанным с его смертью.
Испорченные библиотеки являются довольно популярными. Например, faker.js еженедельно загружается на NPM почти 2,5 млн раз, а color.js — около 22,4 млн раз в неделю. Таким образом, последствия этих действий Марака Сквайрса потенциально могут затронуть миллионы проектов и иметь далеко идущие последствия.
После первых сообщений о проблеме Сквайрс разместил публикацию на GitHub. В ней говорилось, что уже известно о «проблеме zalgo», которая относится к появлению случайных символов, и ведутся работы по её устранению. Но вскоре учётную запись Сквайрса заблокировали на GitHub, о чём он сообщил в Twitter. Но, похоже, в дальнейшем блокировка была снята. Судя по журналу изменений библиотек faker.js и colors.js, Сквайрс выпустил сбойную версию faker.js 4 января, был заблокирован на платформе 6 января, а сбойная версия colors.js появилась 7 января. Неясно, был ли снова заблокирован аккаунт Сквайрса.
NPM has reverted to a previous version of the faker.js package and Github has suspended my access to all public and private projects. I have 100s of projects. #AaronSwartz pic.twitter.com/zFddwn631S
— marak 🗿 (@marak) January 6, 2022
Однако на этом история не заканчивается. Ресурс Bleeping Computer нашёл одну из публикаций Сквайрса на GitHub, датированную ноябрём 2020 года. В этой публикации он заявляет, что больше не хочет заниматься бесплатной работой.
«При всем уважении, я больше не собираюсь поддерживать Fortune 500 (и другие компании меньшего размера) своей бесплатной работой», — говорит он. «Воспринимайте это как возможность прислать мне шестизначный годовой контракт или сделать ответвление проекта, чтобы кто-то другой работал над ним».
Таким образом, шаг Сквайрса можно воспринимать как попытку привлечения внимания к моральной и финансовой дилемме разработки открытого исходного кода. Огромное количество сайтов, программного обеспечения и приложений полагаются на разработчиков, предлагающих проекты с открытым исходным кодом. На основе таких проектов создаются различные необходимые инструменты и компоненты. И всё это – бесплатно.
Похоже, что на текущий момент библиотека color.js была обновлена до рабочей версии, а библиотеки faker.js по-прежнему является дефектной. Обойти проблему с faker.js можно, откатившись до предыдущей версии (5.5.3).
Источник: The Verge