LINUX.ORG.RU

Специальный вредоносный код в npm-пакете для России и Белоруссии

 ,


3

3

Разработчик популярного npm-пакета node-ipc добавил в проект код, который совершает запросы на удаленный сервер и при совпадении IP-адреса с Российским или Белорусским перезаписывает содержимое всех файлов на жестком диске на эмоджи-сердечко (♥).

Пакет node-ipc стоит в зависимости более чем у 300 других не менее популярных проектов, в том числе из экосистемы Vue.js (vue/cli)

Незадолго до этого тот же самый разработчик добавил в реестр npm модуль peacenotwar, который выводил в консоль сообщение со словами [данные удалены] и создает в нескольких поддериктория домашнего каталога файл WITH-LOVE-FROM-AMERICA.txt с содержимом на множестве языков мира.

Пакет peacenotwar так же был включен в зависимости для node-ipc

Вредоносный код, затирающий файлы, был добавлен в пакет node-ipc 7 марта в версии 10.1.1

Несмотря на то, что спустя некоторое время пакет был помечен как deprecated, его успели скачать несколько тысяч раз.

На данный момент текущая версия пакета 11.1.0 больше не содержит вредоносный код, затирающий файлы сердечком, но все еще содержит в зависимостях модуль peacenotwar, который больше не выводит сообщения в консоль, но создает файлы WITH-LOVE-FROM-AMERICA.txt в домашнем каталоге.

Подробности об уязвимости

Почему говноедами вечно оказываются nodejs девелоперы? Это профессиональная деформация такая?

Я вот не слыхал о подобных случаях с python, java либами.

riko
()
Ответ на: комментарий от oldstable

Малварь малварью, а вот встраивать в нормальный код злонамеренный, да ещё и самим автором – говноедство, какого я не припомню.

riko
()
Ответ на: комментарий от riko

Я вот не слыхал о подобных случаях с python, java либами.

Нормальные люди в яве подключают либу только если вот прям сильно надо ибо почти все есть в самой яве, а чего там нет - часто логично вынести и из проекта в отдельный.
Но если либа и подключается, то это обычно матюрный проверенный проект ибо реально кол-во разрабов на яве в соотношении к отсутствующему в ждк функционалу зашкаливает и любая найденная дырка в фичастости сразу обрастает решениями, которые превращаются в снежный ком.
Исключение - для работы с физическими портами, по сути, всего одна актуальная библиотека с очень узким кругом мэнтейнеров (чуть ли не один человек) но ей и обновления нужны только по факту выхода нового офтопика где ломают совместимость раз в пять лет.

rukez ★★★★
()
Ответ на: комментарий от erfea

Я про питоно и джава сообщества, если что. А в среде jsхипстеров такое говноедство это уже обыденность.

riko
()

как дела с другими источниками свободного линукс ?

ustas1
()
Ответ на: комментарий от riko

Среда обитания у них там у многих толерастская, с их тысячами гендеров и вечной травлей да отменами. Не так давно была история с терминами master/slave. Не переживайте, «ещё не видел» сегодня, а завтра всё будет.

erfea ★★★★★
()
Ответ на: комментарий от rukez

Ну ладно, в яве сложновато подобную хрень провернуть, ибо обычно версии зависимостей фиксированы. Да и проекты редко в одну харю тянутся, поэтому сложно код пропихнуть незаметно.

riko
()
Ответ на: комментарий от riko

В яве, которая не для Мобил, обычно и разрабы возрастом постарше да умом побольше - гормоны не играют, в игнор человечества не хочется :-)

rukez ★★★★
()
Ответ на: комментарий от erfea

Отменами занимаются люди, которым делать нечего. В нормальных сообществах таких нет.

Т.н. программисты, с проектами а-ля left-pad на гитхабе, за нормальных не считаются.

riko
()
Ответ на: комментарий от riko

А запретами на устоявшийся за десятки лет технический термин master/slave кто занимался?

PS хотите отрицать объективную действительность, Ваше право )

erfea ★★★★★
()
Последнее исправление: erfea (всего исправлений: 1)
Ответ на: комментарий от ls-h

В связи с этим возникает вопрос.

Вынес в отдельную тему, т.к. есть своя специфика.

ls-h ★★★★★
()
Ответ на: комментарий от ya-betmen

Поэтому не стоить тащить в проект много зависимостей и зависимости с безумным релизным циклом.

Есть само собой, но только в идеальном мире с розовыми единорогами. Реальный мир так к сожалению не работает. Я конечно могу написать драйвер базы и прочее, вот только платить мне будут за продукт, а не за обвязку

upcFrost ★★★★★
()

А каким образом он «перезаписывает содержимое всех файлов на жестком диске» если запускается от не рутового пользователя?

Juan-Carlos
()
Последнее исправление: Juan-Carlos (всего исправлений: 1)
Ответ на: комментарий от Juan-Carlos

Что-то мне подсказывает что никаким. Но что-то ещё мне подсказывает что всё что действительно жалко, не руту принадлежит.

erfea ★★★★★
()

Почему он всё ещё не забанен нигде?

th3m3 ★★★★★
()
Ответ на: комментарий от rukez

Нормальные люди в яве подключают либу только если вот прям сильно надо

Ага, и гуава с апачем прям никому не уперлись

upcFrost ★★★★★
()

WITH-LOVE-FROM-AMERICA.txt

Какое же убожество. Двойные стандарты пробивают двойное дно.

Почему он не «боролся», когда America вторгалась везде, где только можно. «Вы не понимаете. Это другое»

qaqa ★★
()
Ответ на: комментарий от upcFrost

Ну в гуаву, скажем, вредоносный код трудно пропихнуть, её сообщество разрабатывает. В какой-нибудь bytebuddy проще, но там автор адекватный – проффесионал не будет репутацию рушить.

cocucka ★★★★☆
()
Ответ на: комментарий от ox55ff

В смысле зачем? Эта либа содержит меняющуюся инфу. Ты ещё скажи, что timezonedb или locale не надо обновлять.

cocucka ★★★★☆
()
Ответ на: комментарий от ox55ff

Это база телефонных кодов. Если её не обновлять то через некоторое время начнём определять всякую Югославию и прочие римские империи.

upcFrost ★★★★★
()

Бывает. Кукуха-то у многих отлетает от новой реальности.

Vit ★★★★★
()
Ответ на: комментарий от upcFrost

Ага, и гуава с апачем прям никому не уперлись

Да, в 99% случаев их подключают рукопопы которым впадлу или не хватает мозга написать трёхстрочник самостоятельно. Но есть исключения да, в апаче хорошее быстрое фурье, например, хотя опять-таки полно готовых эталонных реализаций вне библиотек.

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

Upd: забыл, дерби теперь тоже в апаче только лежит - тоже полезная штука кто по привычке явадб пользует, хотя после исключения из ждк в этом не шибко много смысла осталось

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)
Ответ на: комментарий от upcFrost

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

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

уважаемого члена сообщества

Разница простая - либы под Яву пишут как правило люди на окладе, которые решают проблемы работодателя в конкретном прикладном решении. Для такого человека репутация = зарплата ибо если он будет замечен в саботаже (хоть против геноцида пушистых котят) то работодатель поймёт что человек может учудить и в следующий раз насрать прям в хате, если например, поссорится с проджект-манагером или просто жена не даст.
Траст ми, хр любой опытной конторы такого кадра будет держать максимально далеко от ручек всю оставшуюся жизнь - мы через это проходили раз и по факту это портит жизнь сразу всем.

rukez ★★★★
()

Я правильно понимаю, что все последствия для него - это все пожали плечами, сказали «ну бывает» и все?

LightDiver ★★★★★
()
Ответ на: комментарий от rukez

Остаётся фактор отъехавшей кукухи, когда уже насрать на репутацию.

cocucka ★★★★☆
()
Ответ на: комментарий от ls-h

В связи с этим возникает вопрос. В чём лучше вести разработку, чтобы не встать в подобное?

В чём-то отличном от javascript / nodejs, очевидно же.

LamerOk ★★★★★
()
Ответ на: комментарий от rukez

Да, в 99% случаев их подключают рукопопы которым впадлу или не хватает мозга написать трёхстрочник самостоятельно

Ну или те кто не страдает NIH-синдромом в особо тяжёлой форме

upcFrost ★★★★★
()
Ответ на: комментарий от cocucka

К счастью обычно «уважаемые члены сообщества» когда кукухой едут начинают орать так громко что об их коммите можно даже в новостях узнать

upcFrost ★★★★★
()
Ответ на: комментарий от rukez

работодатель поймёт что человек может учудить и в следующий раз насрать прям в хате

Ну, не факт, он может предупредить работодателя что хочет чего-то такое выложить. В крупных конторах вообще правило всегда говорить тимлиду если вообще коммитишь что-то куда-то, а то можно и на конфликт интересов залететь

upcFrost ★★★★★
()
Ответ на: комментарий от gutaper

Уже отписались - это уголовка в целом. Но посмотрим. Возможно действия, попадающие под УК против русских - не будут считаться нарушениями.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Американская организация собирала анонимки на Путина с Лукашенкой. Сообщения от неполживых граждан валили рекой. Сервак был где-то в районе Белоруссии. Догадайтесь, что было дальше. В общем, нет больше компромата. Путин может спать спокойно.

qaqa ★★
()
Последнее исправление: qaqa (всего исправлений: 1)
Ответ на: комментарий от qaqa

Пришлось зайти и подключить яндекс транслейт. Но это шедевр. Я аж в голос заржал.

Хоть все это на деле и не смешно нифига. Надо думать.

LightDiver ★★★★★
()
Ответ на: комментарий от upcFrost

Ну, не факт, он может предупредить работодателя что хочет чего-то такое выложить. В крупных конторах вообще правило всегда говорить тимлиду если вообще коммитишь что-то куда-то, а то можно и на конфликт интересов залететь

Просто представь что ты управляющий условного оракла (работодатель), к которому приходит один из 100500 хомячков, который пилит один из 100500 махоньких винтиков, на которых работает твоя машина со 100500 клиентами и говорит «я хочу подорвать пуканы у русских заложив закладку в свой винтик».
Если ты дорос до управляющего такой компании то у тебя в голове складываются как минимум следующие риски:

  • клиенты в рф на активных договорах (на всю машину) меня засудят, обоссут и снова засудят
  • клиенты в других странах офигеют от того что моя машина может взять и упасть в целой стране. Пока даже не вникая в детали, это не потеря 0.001% аптайма, это потеря 3% инстансов - проще сразу загуглить как делать сепуку
  • клиенты в других странах офигеют от того что моя машина, которая является лишь винтиком в их машинах, может разносить закладки/мальварь по всем их продуктам/сервисам. Сепуки мало, нужна сепука дабл пенетрейшн
  • в рэдхэте (подставь список своих конкурентов) открывают шампанское - такого подарка они не просили даже у йолопуки, не говоря про санту и его друга гея клауса
  • если оно заглючит и сработает вне рф то оно положит все инстансы. Это даже не дефолт, это пожизненный ппц для все кто выше джуна

один из 100500 хомячков точно заслоупочит и случайно воткнет мальварную версию в продукт, а если и не воткнет, то все же друг друга примерно знают и что хомячок шпарит на условный оракл знают все в условно связанных проектах, включая дружочков-пирожочков от конкурентов, и новость дня разлетится в миг.

Так что нет, такие зашквары обычно происходят спонтанно и импульсивно, а если хомячок совсем дурачок и реально пойдёт к тимлиду, то тот его явно отправит подлечиться/отдохнуть/на мороз, в зависимости от квалификации хомяка и его важности - тимлиду такие загоны на ровном месте нафиг не сдались.

rukez ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.