LINUX.ORG.RU
ФорумTalks

Появилась статья «Пакеты NodeJS не заслуживают вашего доверия»

 ,


0

2

Собственно, сабж: https://josephg.com/blog/node-sandbox/ .

Версия для Ъ:

Фундаментальная проблема с npm заключается в том, что любой устанавливаемый вами пакет имеет полный доступ и может делать на вашем компьютере всё, что ему заблагорассудится. Например, пакеты могут:

  • Читать каждый файл на вашем компьютере, включая вашу электронную почту, пароли, вообще всё.
  • Редактировать ваши файлы. Удалять их. Криптолокировать их. Делать всё, что они хотят в Интернете.
  • Запускать дочерние процессы, менять настройки ОС, устанавливать кейлоггеры.

Вы думаете, что устанавливаете leftpad. Но на самом деле вы впускаете незнакомца в свой дом, пока вас нет дома. Они могут делать в принципе всё, что хотят.

★★★★★

Какое решение проблемы предлагает?

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

mydibyje ★★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)

Фундаментальная проблема с npm заключается в том, что любой устанавливаемый вами пакет имеет полный доступ и может делать на вашем компьютере всё, что ему заблагорассудится.

Очередной сисюрити-фанатик пропагандирует самоогороженность и доступ через жопупорталы.

Гугл только рад.

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

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

Так и от юзера можно, например, закриптолокировать файло юзера.

saahriktu ★★★★★
() автор топика

любой устанавливаемый вами пакет имеет полный доступ

4.2

Пакеты npm имеют в системе, внезапно, точно такие же возможности, как любой пакет из любого репозитория пакетов.

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

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

Это из цикла статей

– Идиоты для Идиотов

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

Таки почиал по ссылке. Рукалицо. Что мешает делать sudo -u nodejs npm install? Это же дизайн идеологии прав в системе. Все равно что запускать любой интерпретатор под своими правами и ругаться что оно что-то там затерло, еще круче от рута несистемные вещи пулять. Тупняк, имхо.

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

Вам смешно, а юзеры дистрибутивы GNU/Linux'а по подобным причинам меняют (не буду разворачивать подробнее чтобы не скатывать тему в танцпол).

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

Появилась статья «Пакеты NodeJS не заслуживают вашего доверия»

Сабж ничерта не понимает в npm. Надо всё наоборот: «Пакеты в npm, которые заслуживают доверия»

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

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

Проблема nmp в его популярности и современной культуре разработки и доставки софта. Мейнтенеров и верификации нет, так как это несовместимо с текущими требованиями к скорости и дешевизне в ИТ.

altwazar ★★★★★
()

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

ilinsky ★★★★★
()

После выходки какого-то блмнутого чмошника, который поудалял все файлы с компов пользователей из РФ и Беларуси ‒ нет. Да как и любой пакет откуда бы он не был поставлен

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

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

Обычно нет, но это не важно. Там же полный доступ к файлам и данным пользователя. Мало кто будет заморачиваться и ограничивать ей права. Да и не удивлюсь, если у кого-то даже по рутом работает :)

th3m3 ★★★★★
()

Крутите ноду в контейнере. Мы уже давно так работаем - в локальной host-системе вообще ничего не стоит из конкретных средств разработки кроме IDE-шки. Всякие PHP, NodeJS, СУБД-шки и пр. - всё в контейнерах.

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

При этом другую версию подозрительного пакета может притащить другой покет в качестве депенденси

WindowsXP ★★
()


«Пакеты dpkg не заслуживают вашего доверия»

Фундаментальная проблема с deb заключается в том, что любой устанавливаемый вами пакет имеет полный доступ и может делать на вашем компьютере всё, что ему заблагорассудится. Например, пакеты могут:
* Читать каждый файл на вашем компьютере, включая вашу электронную почту, пароли, вообще всё.
* Редактировать ваши файлы. Удалять их. Криптолокировать их. Делать всё, что они хотят в Интернете.
* Запускать дочерние процессы, менять настройки ОС, устанавливать кейлоггеры.
* Вы думаете, что устанавливаете openssl. Но на самом деле вы впускаете незнакомца в свой дом, пока вас нет дома. Они могут делать в принципе всё, что хотят.


Ну и т.д. про остальные ПМ, ничего нового автор не сказал.

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

А вы не слышали, как адепты снапов и флатпаков на полном серъезе заявлают, что это недопустимо и надо всё огородить?

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)

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

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

Ну и т.д. про остальные ПМ, ничего нового автор не сказал.

Кликбейт как он есть, основаный на плохой репутации пакетов npm. Как уже выше сказали, держать в контейнере, и не только по соображениям безопасности.

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

но я не понимаю, зачем может понадобиться npm на десктопе

Да тут и без npm'а NodeJS с сабжевыми пакетами давно уже во внутренностях кучи всего.

Когда кибердиверсант подложил кибербомбу в пакет node-ipc, то она автоматически приехала даже в движок Unity (тот самый, который используется для разработки игр).

А какой юзер будет запускать свои игры в песочнице от другого юзера? Он этого не хочет. Он хочет просто юзать.

В этом и засада.

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

В этом и засада.

А ты уверен, что во всем выкачаном тобой и записаном на болванки (которые обрушили полку) нету какой-то гадости?)

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

А ты уверен, что во всем выкачаном тобой и записаном на болванки (которые обрушили полку) нету какой-то гадости?)

Вероятность наличия чего-нибудь вредоносного, конечно, есть. Другой вопрос: какова вероятность активации этого вредоносного?

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

какова вероятность активации этого вредоносного?

Полку как минимум уже повредило)

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

Проблема nmp в его популярности и современной культуре разработки и доставки софта

npm это почти как в go импорт модулей прямо с гитхаба. Тупорылая хипсторская мода, ну и там больше пакетов богу пакетов, у нас в npm уже 100500 мусорных пакетов, больше чем у всех (половина - заброшенные поделки и велики).
Но проблема даже не в этом. В каких-нибудь дистрах берут код прямо с офф. сайта/репы разраба и ни у кого не печет, делай вайтлист адекватов, да радуйся жизни. Тут проблема в другом.
Неадекваты на заре развития ноды подумали, что микрозависимости - это круто. Потом они наигрались в архитекторов и свалили, а это уродство осталось, вместе с толпой тупорылых хипсторов свято верующих в эту парадигму и тащащих всякие isNumber хер пойми от кого. И эти хер пойми кто ведомые веяниями моды, начинают сувать в свои велики вайперы, шифровальщики, банеры блм или просто пароли из топ 100 на репозиторий. Тупо комунити наполнили всяким вонючим сбродом в коротких штанишках без принципов, некоторые из которых получив малейшую власть, поклали на техдолг и начали вахтёрить направо и налево. Другие просто ставят кверти на пароль, меняют сферу работы, да за забивают на свой код, от которого зависят половина всех пакетов (там уже куча форков того и этого, ибо автор давно забил хер). Может до кого-то дойдёт, что культура труЪ хакеров - это про технологии с гарантиями добросовестности, а не просто бла-бла-бла, в то время, как вся эта сжв/кок движуха с давайте тащить в разработку всяких ущербов лишь бы бекграунд был правильный - говно из жопы.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 4)

То же самое можно сказать про maven, crates, pip и прочие. Сторонние компоненты имеют тот же доступ, что и программа, которая их запускает. Единственный выход — встроенные системы защиты и контейнеризация. Для кого написан firejail?

InterVi ★★★★★
()

Братан, у тебя криокамера потекла? Не дело, весна на дворе.
Много же раз обсуждали это уже

sehellion ★★★★★
()

Появился комментарий «Репозитории git не заслуживают вашего доверия»

Фундаментальная проблема с git заключается в том, что любой клонируемый вами код имеет полный доступ и может делать на вашем компьютере всё, что ему заблагорассудится. Например, код может:

Читать каждый файл на вашем компьютере, включая вашу электронную почту, пароли, вообще всё. Редактировать ваши файлы. Удалять их. Криптолокировать их. Делать всё, что они хотят в Интернете. Запускать дочерние процессы, менять настройки ОС, устанавливать кейлоггеры.

Вы думаете, что клонируете исходники ядра. Но на самом деле вы впускаете незнакомца в свой дом, пока вас нет дома. Они могут делать в принципе всё, что хотят.

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