- Разработчик популярного npm-пакета node-ipc выпустил саботированные версии библиотеки в знак протеста против конфликта России и Украины.
- Новые версии пакета node-ipc начали удалять данные и перезаписывать файлы на машинах разработчиков, а также создавать новые текстовые файлы с «мирными» сообщениями.
- С более чем миллионом еженедельных загрузок, node-ipc является важным пакетом, используемым в основных библиотеках, таких как Vue.js CLI.
Protestware: Продолжающийся кризис в Украине проникает в открытый исходный код
В некоторых версиях популярного пакета node-ipc были обнаружены следы содержащие вредоносный код, который перезаписывал или удалял произвольные файлы в системе пользователей из России и Беларуси.
8 марта разработчик Брэндон Нозаки Миллер, он же RIAEvangelist, выпустил пакеты программ с открытым исходным кодом «peacenotwar» и «oneday-test» на npm и GitHub.
Похоже, что эти пакеты были изначально созданы разработчиком как средство мирного протеста, поскольку они в основном добавляли «послание мира» на рабочий стол любого пользователя, устанавливающего эти пакеты.
«Этот код служит ненасильственным протестом против агрессии России, которая угрожает миру прямо сейчас», – объясняет RIAEvangelist.
Но хаос развернулся, когда некоторые npm-версии знаменитой библиотеки node-ipc, также поддерживаемой RIAEvangelist, были замечены в перезаписи всех файлов пользователей, установивших пакет.
Интересно, что вредоносный код изначально считывал внешний IP-адрес системы и удалял данные, перезаписывая файлы только для пользователей из России и Беларуси.
Код, присутствующий в node-ipc, а именно в файле «ssl-geospec.js», содержит строки в base64-кодировке и тактику маскировки, чтобы скрыть своё истинное назначение:
Кроме того, поскольку версии node-ipc 9.2.2, 11.0.0 и выше 11.0.0 содержат в себе модуль peacenotwar, пострадавшие пользователи наблюдали появление на рабочем столе файлов «WITH-LOVE-FROM-AMERICA.txt» с сообщениями о «мире»:
Разработчикам следует проявлять осторожность перед использованием node-ipc в своих приложениях, поскольку нет никакой гарантии, что будущие версии этой или любой другой библиотеки, выпущенной RIAEvangelist, будут безопасными.
Ещё по теме: