Выяснилось, что разработчик двух библиотек Марак Сквайрс выпустил злонамеренные версии на GitHub. Библиотека faker.js генерирует случайные данные (например, для тестирования работы приложений), а colors.js добавляет в консоль отображение цветных символов. Но после обновления вместо нормальной работы библиотеки начали бесконечно выводить странные буквы и символы.
Испорченные библиотеки являются довольно популярными. Например, faker.js еженедельно загружается на NPM почти 2,5 млн раз, а color.js — около 22,4 млн раз в неделю. Таким образом, последствия этих действий Марака Сквайрса потенциально могут затронуть миллионы проектов и иметь далеко идущие последствия.
После первых сообщений о проблеме Сквайрс разместил публикацию на GitHub. В ней говорилось, что уже известно о «проблеме zalgo», которая относится к появлению случайных символов, и ведутся работы по её устранению. Но вскоре учётную запись Сквайрса заблокировали на GitHub, о чём он сообщил в Twitter. Но, похоже, в дальнейшем блокировка была снята. Судя по журналу изменений библиотек faker.js и colors.js, Сквайрс выпустил сбойную версию faker.js 4 января, был заблокирован на платформе 6 января, а сбойная версия colors.js появилась 7 января. Неясно, был ли снова заблокирован аккаунт Сквайрса.
Однако на этом история не заканчивается. Ресурс Bleeping Computer нашёл одну из публикаций Сквайрса на GitHub, датированную ноябрём 2020 года. В этой публикации он заявляет, что больше не хочет заниматься бесплатной работой.
При всем уважении, я больше не собираюсь поддерживать Fortune 500 (и другие компании меньшего размера) своей бесплатной работой», — говорит он. «Воспринимайте это как возможность прислать мне шестизначный годовой контракт или сделать ответвление проекта, чтобы кто-то другой работал над ним».
Таким образом, шаг Сквайрса можно воспринимать как попытку привлечения внимания к моральной и финансовой дилемме разработки открытого исходного кода. Огромное количество сайтов, программного обеспечения и приложений полагаются на разработчиков, предлагающих проекты с открытым исходным кодом. На основе таких проектов создаются различные необходимые инструменты и компоненты. И всё это – бесплатно.
Похоже, что на текущий момент библиотека color.js была обновлена до рабочей версии, а библиотеки faker.js по-прежнему является дефектной. Обойти проблему с faker.js можно, откатившись до предыдущей версии (5.5.3).
Власний кореспондент молодіжної редакції інформаційного агентства ПРЕСІНФОРМ