7 марта разработчик и мейнтенер с кистально чистой репутацией более 40 популрных пакетов для инфраструктуры npm, большая часть из которых транзитивные, создал пакет peacenotwar, который не просто выводил в консоль баннер мира в консоль, но еще и создавал текстовые файлы WITH-LOVE-FROM-AMERICA.txt с определенным содержимым на рабочем столе, в домашнем каталоге пользователя а так же в OneDrive, если он имеется на компьюетере.
После чего он добавил этот модуль в качестве зависимости в свой же пакет node-ipc, который являетс транзитивной зависимостью во множестве популярном программном обеспечении, например в инструментах Vue.js и Unity.
Но этого ему показалось мало, после чего он добавил деструктивный обсфуцированный код в сам пакет node-ipc (https://github.com/RIAEvangelist/node-i … geospec.js), который совершал запрос к удаленному сервису геопозиции, определял страну по IP-адресу, и в случае совпадения страны с Росиией или Белоруссией рекурсивно проходил по всем каталогам на жестком диске и затирал содержимое всех файлов на эмоджи-сердечко, на которые хватало прав.
Помимо добавления вредоносного кода, разработчик так же опакетил эту версию модуля и опубликовал ее в репозитории пакетов. После чего она была скачана несколько тысяч раз.
Лишь спустя 24 часа пакет был заблокирован в репозитории, а разработчик стал активно заметать следы, пытаясь скрыть преступление. Он активно отрицал содеянное, удалял все комментарии в баг-трекере которые указывали на это и вообще до последнего врал. Тем временм сам пакет node-ipc в репозитории был обновлен до новой версии уже без кода удаляющего файлы, но все еще создающего файлы на рабочем столе и в OneDrive.
Боьшинство пользователей заметило что-то неладоное именно потому что у них ВНЕЗАПНО стали появляться файлы WITH-LOVE-FROME-AMERICA.txt на рабочем столе.
Тем временем один китайский разработчик проводил расследование, собирая все доказательства и деобсфуцируя вредоносный код. Сам же автор пытался всячески этому препятсовать. Лишь спусят неделю удалось доказать все, что произошло и зарегистрировать CVE. В том чсиле в базе NIST https://nvd.nist.gov/vuln/detail/CVE-2022-23812
Но даже после этого, разработчик всячески отрицал свою вину, говоря буквально — "этот код выглядит страшно, однако оне может быть исполнен, потому что я отозвал API_ключ к сервису геопозиционирования". Тем неменее на момент публикации пакета в репозитории ключ был работспособным, а следовательно код мог выполняться.
В то же время администрация гитахаба никак не реагирует на множество жалоб на данную ситуацию, несмотря на то, что явно нарушены ToS,а немногим ранее в аналогичном происшествии, когда другой раработчик color.js и faker решил протестова — он был заблокирован в тот же день.
Разработчик node-ipc не заблокирован до сих пор и никакого наказания он не понес. Все это создало прецедент показавший, что ЛЮБОЙ мейнтенер в ЛЮБОМ репозитории в современных условях может прикрыться какой-то идеей и не бояться уголовного преследования.
По состоянию на сегодняшний день разработчика активно травят. Ему заказывают доставку пиццы на дом и вызывают к нему домой полицию, о чем он активно пишет. Вчера был взломан его твиттер, в котором хакер сменил его аватар на Российский флаги разместил неколько изобличающих твиттов.