БОЛЬШОЙ саботаж: известный пакет npm удаляет файлы в знак протеста против войны на Украине

17 марта 2022 г.


npm-bg.webp
В этом месяце разработчик популярного пакета npm «node-ipc» выпустил саботированные версии библиотеки в знак протеста против продолжающейся русско-украинской войны.
Более новые версии пакета node-ipc начали удалять все данные и перезаписывать все файлы на машинах разработчиков, а также создавать новые текстовые файлы с сообщениями «мир».
Node-ipc загружается более миллиона раз в неделю и является важным пакетом, используемым основными библиотеками, такими как Vue.js CLI.

Protestware: продолжающийся кризис в Украине просачивается в открытый исходный код

Некоторые версии (10.1.1 и 10.1.2) широко популярного пакета node-ipc содержали вредоносный код, который перезаписывал или удалял произвольные файлы в системе для пользователей из России и Беларуси. Эти версии отслеживаются под CVE-2022-23812 .

8 марта разработчик Брэндон Нодзаки Миллер, также известный как «RIAEvangelist », выпустил пакеты программного обеспечения с открытым исходным кодом под названием Peacenotwar и oneday-test как на npm, так и на GitHub.

Пакеты, по-видимому, изначально были созданы разработчиком как средство мирного протеста, поскольку они в основном добавляют «послание мира» на рабочий стол любого пользователя, устанавливающего пакеты.

«Этот код служит неразрушающим примером того, почему важно контролировать модули вашего узла», — объясняет RIAEvangelist.
«Это также служит ненасильственным протестом против агрессии России, которая угрожает миру прямо сейчас».

Но хаос разразился, когда было замечено, что некоторые версии npm знаменитой библиотеки «node-ipc», также поддерживаемой RIAEvangelist, запускают разрушительную полезную нагрузку для всех данных и перезаписывают все файлы пользователей, устанавливающих пакет.

Интересно, что вредоносный код, введенный разработчиком еще 7 марта , считывал внешний IP-адрес системы и удалял данные только путем перезаписи файлов для пользователей из России и Беларуси.

Код, представленный в «узле-ipc», в частности, в файле «ssl-geospec.js», содержит строки в кодировке base64 и тактику запутывания, чтобы замаскировать его истинное назначение:

node-ipc-deletion.webp

Вредоносный код в node-ipc, работающий для пользователей из России и Беларуси (BleepingComputer)

Упрощенная копия кода , предоставленная исследователями , показывает, что для пользователей из России или Украины код перепишет содержимое всех файлов, присутствующих в системе, с эмодзи в виде сердца, эффективно удалив все данные в системе.

Кроме того, поскольку «node-ipc» версий 9.2.2, 11.0.0 и более поздних, чем 11.0.0, включает в себя модуль Peacenotwar , затронутые пользователи видели всплывающие файлы « WITH-LOVE-FROM-AMERICA.txt» на своих устройствах . Рабочий стол с сообщениями "мир":

with-love-america-dark.webp

Многоязычный файл WITH-LOVE-FROM-AMERICA.txt с «мирными» сообщениями
Исследователи из компании Snyk, специализирующейся на безопасности с открытым исходным кодом, также отследили и проанализировали вредоносную активность:
«В этот момент произойдет очень явное злоупотребление и критический инцидент безопасности цепочки поставок для любой системы, в которой будет вызываться этот пакет npm, если это соответствует географическому местоположению России или Беларуси», — говорит Лиран Таль, директор. отдела защиты интересов разработчиков в Snyk в сообщении в блоге .

Пользователи Vue.js паникуют из-за атаки на цепочку поставок

Популярный интерфейсный фреймворк JavaScript «Vue.js» также использует «node-ipc» в качестве зависимости. Но до этого инцидента «Vue.js» не прикреплял версии зависимости «node-ipc» к безопасной версии и вместо этого был настроен на получение последних второстепенных версий и версий исправлений, как видно из символа вставки (^). :

vue-js-dep.webp

Версии Vue.js CLI ранее извлекали последние второстепенные и исправленные версии node-ipc.
Таким образом, пользователи Vue.js CLI обратились к сопровождающим проекта с призывом привязать зависимость «node-ipc» к безопасной версии, после того как некоторые были поражены .

И, как отмечает BleepingComputer, Vue.js — не единственный проект с открытым исходным кодом, на который повлиял этот саботаж.
Разработчики Лукас Мертенс и Федор предупреждают других сопровождающих проекта, чтобы убедиться, что они не используют вредоносную версию «node-ipc»:
warning.webp

Лукас Мертенс предупреждает владельцев репозиториев об использовании вредоносных версий node-ipc (GitHub)
Исследователи Snyk подозревают, что версии «node-ipc» 10.1.1 и 10.1.2, наносящие вопиющий ущерб системе, были удалены npm в течение 24 часов после публикации.

Однако обратите внимание, что версии node-ipc 11.0.0 и выше остаются доступными в npm. И эти версии по-прежнему содержат модуль Peacenotwar , который создаст вышеупомянутые файлы «WITH-LOVE-FROM-AMERICA.txt» на рабочем столе.

Таким образом, если ваше приложение создано с использованием библиотеки «node-ipc», убедитесь, что зависимость привязана к безопасной версии, такой как 9.2.1 (оказывается, 9.2.2 тоже не безобидна).

Инцидент расстроил сообщество открытого исходного кода

Это второй крупный инцидент протеста со стороны разработчиков с открытым исходным кодом в этом году после январского инцидента с самосаботажем «цветов» и «фейкеров» , о котором впервые сообщил BleepingComputer.

В случае с «цветами» его разработчик Марак Сквайрс вызвал неоднозначную реакцию со стороны сообщества открытого исходного кода, потому что его манера протеста включала взлом тысяч приложений путем введения в них бесконечных циклов.

Действия RIAEvangelist , который поддерживает более 40 пакетов в npm , вызвал резкую критику, с другой стороны, за то, что он выходит за рамки простого «мирного протеста» и активно развертывает деструктивные полезные нагрузки в популярной библиотеке без предупреждения честных пользователей.
Пользователь GitHub назвал это «огромным ущербом» для доверия ко всему сообществу открытого исходного кода.
«Такое поведение выходит за чертовщину. Конечно, война — это плохо, но это не делает такое поведение (например, удаление всех файлов для пользователей из России/Беларуси и создание странного файла в папке на рабочем столе) оправданным. ты иди к черту.

Ты только что успешно разрушил сообщество открытого исходного кода. Теперь ты счастлив, @RIAEvangelist?» — спросил другой.

Некоторые также видели, как разработчика «node-ipc» обвинили в попытке «замести следы», настойчиво редактируя и удаляя предыдущие комментарии в ветке [ 1 , 2 , 3 ].
«Даже если преднамеренные и опасные действия сопровождающего RIAEvangelist будут восприняты некоторыми как законный акт протеста. Как
это отразится на будущей репутации сопровождающего и его доле в сообществе разработчиков?» — спрашивает Тал Сника.

Разработчики должны проявлять осторожность, прежде чем использовать «node-ipc» в своих приложениях, поскольку нет никаких гарантий, что будущие версии этой или любой другой библиотеки, выпущенной RIAEvangelist , будут безопасными.

Прикрепление ваших зависимостей к доверенной версии — это один из способов защиты ваших приложений от таких атак цепочки поставок.

Перевод - Google
Bleeping Computer
 
Назад
Сверху Снизу