В репозитории NPM выявлены четыре пакета с вредоносным кодом. Проблема присутствует в пакетах plutov-slack-client, nodetest1010, nodetest199 и npmpubman, имеющих более тысячи установок. Пользователям, использовавшим первые три пакета, следует считать свои системы скомпрометированными, а все хранящиеся в системе ключи шифрования подлежащими замене...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=53904
Сообщество Node.js заслужило такое. Ибо это у них такой пакетный менеджер и такое отношение к безопасности.
В чем его принципиальное отличие от сородичей?
Не знал что у жскриптеров есть какие-то сорта если честно.
Папуасы они и в Африке папуасы, какая разница?
Ты папуас тоже, наверняка используешь dbus в которого контроль доступа реализован polkitd а правила к нему пишутся на JS.Да, systemd к папуасам не пришол один, а с друзьями: JIT, JS для контроля доступа в системе, ...
Я же эти правила не пишу ;)
> Не знал что у жскриптеров есть какие-то сорта если честно.
> Папуасы они и в Африке папуасы, какая разница?По себе судишь? Хвост не сломай пока ответ будешь писать
что, опять тебя, Модного Соврмененного Уеб-Программиста, прокинули, и кушать нечего? ну, попрыгай, что ж тебе остаётся-то ещё…
Какой посоветуете использовать язык программирования и пакетный менеджер, чтобы не было подобный проблем, и можно было спать спокойно?
китайский.
Как ни странно, Rust/Cargo.
В чем принципиальное отличие от maven?
А почему не все?
И ведь нельзя сказать лишь по названию пакета, установлен у тебя фактически этот пакет или нет. Взять, например, create-react-app -- популярный пакет, создающий каркас нового react-приложения. После его выполнения свежесозданный каркас прямо или косвенно _уже́_ зависит от 1684 пакетов.
и нет возможности проведения хоть какого-то аудита?..p.s. веб раздут как мыльный пузырь ):
Вообще, npm при установке пакетов все же проводит какой-то аудит. По крайней мере, пишет, сколько пакетов audited и сколько vulnerabilities found. Но какой от этого толк, если зловред суют в скрипты, автозапускающиеся при установке... Завтра прилетит еще одна новость, и ищи-свищи post mortem по всем проектам, оказался ли какой-то установочный скрипт бэкдорным.
Наивный. Этот "аудит" служит всего лишь звонком домой, типа "шеф, мы тут успешно заразили очередной сервачок (характеристики) пакетами с версиями (список пакетов с версиями), ждём указаний".
Вы утверждаете что вредоносные коды встроены прямо в NPM?
Потому что макаки уже совсем обленились и функции в одну строку делают пакетами.
Ты чушь несешь, копировать одни и те же функции из проекта в проект это антипаттерн и так не будет делать не один программист. Как впрочем и устанавливать или обновлять хотя бы один пакет без code review, если у пакета нет сотен тысяч установок и репутации.
Это невозможно. На работе говорят сделай вчера. А ты такой, сейчас подождите, я месяц буду проверять все библиотеки на вредоносный код
> Ты чушь несешь, копировать одни и те же функции из проекта в
> проект это антипаттерн и так не будет делать не один программист.
> Как впрочем и устанавливать или обновлять хотя бы один пакет без
> code review, если у пакета нет сотен тысяч установок и репутации.Ты из секты лефтпада? Как делаешь ревью установленных пакетов после установки, да ещё и после запуска постинстал скриптов?
> Ты чушь несешь, копировать одни и те же функции из проекта в
> проект это антипаттерн и так не будет делать не один программист.эвона оно как.
ну, впрочем, да: современные программисты копируют только со stack overflow. а из своих прошлых проектов нет — потому что не могут там ничего найти и понять.
Всем Deno в етом чяти.
это который прям с гхаба тянет зависимости? не против дено, но в контексте обсуждения его упоминание сомнительно
Deno устанавливает зависимости один раз, кэширует их и потом больше не обновляет, если не сделать это эксплицитно. Плюс, он более секьюрен изначально, и даже в случае со зловредным пакетом тот не принесёт столько вреда, как в ноде.
Пока что его приимущества спорны. Никто не мешает установить зловред во время первой установки - у автора угнали доступ к репо, либо он сам туда зловред и засунул. Самое стрёмное, что прямые зависимости я могу сам проконтролировать, указав ссылку на версию на гите или даже на коммит, но зависимости зависимостей контролировать - это нереально. С учетом полного отсутствия аудита - это как было дырой так и остаётся и дено тут сильно не исправит ситуацию. Хотя возможность прямо указывать полномочия аппликухе это конечно плюс. Жаль только что всей аппликухе, включая зависимости.
В ноде тебе тоже никто не запрещает с собой везде таскать node_modules от проекта
Будто бы энпиэмы и ярны пакеты не кешируют :)
Только там вполне вменяемое версионирование и источники по умолчанию против неведомой помойки у дэно.По поводу «более секурности изначально у дэно» - это в принципе крайне сомнительное утверждение, поскольку чуть ли не каждая «не баг а фича» у дэно при сколь-нибудь серьезном рассмотрении, оказывается самой настоящей дырищей либо в безопасности, либо - в воспроизводимости результата, либо - просто рекламной чушью, не имеющую реального применения в проекте.
п.с: и да, ничто не мешает таскать с проектом папку с модулями, раз уж на то дело пошло.
> Будто бы энпиэмы и ярны пакеты не кешируют :)
> Только там вполне вменяемое версионирование и источники по умолчанию против неведомой помойки
> у дэно.
> По поводу «более секурности изначально у дэно» - это в принципе крайне
> сомнительное утверждение, поскольку чуть ли не каждая «не баг а фича»
> у дэно при сколь-нибудь серьезном рассмотрении, оказывается самой настоящей дырищей либо
> в безопасности, либо - в воспроизводимости результата, либо - просто рекламной
> чушью, не имеющую реального применения в проекте.
> п.с: и да, ничто не мешает таскать с проектом папку с модулями,
> раз уж на то дело пошло.Если бы с нпмом не было проблем, как ты пытаешься сейчас высказать, то эта новость не имела бы смысла, как и не имел бы смысла Дено (созданный автором ноды с целью устранения её недостатков, ага) как таковой.
Но паровоз времени не останавливает своего бега, и будущее ноды уже предрешено. Оставаться на перроне или ехать со всеми это выбор каждого.
Никому ваш Дено не уперся. Все крупные софьверные компании вкладываются в ноду. В любом облачном окружении щас есть нода с первокласснлй поддержкой: aws, google cloud, azure и т.д. Гляньте хотя бы список коммитов и контрибуторов у ноды. А эта хрень, не может выстрелить в принципе, потому что ничего революционного не приносит. Почитайте про Yarn 2, pnpm. Вот там будущее.
А ты смешной. Первая стабильная версия Дено зарелизилась только в мае этого года, а ты уже ждёшь результатов масштаба индустрии. Естественно, что будет переходный период длиной в несколько лет. Вопрос в том, успеешь ли ты сорвать максимальный куш в начале развития технологии при низкой конкуренции, или войдёшь в неё тогда, когда рынок уже окучен более предприимчивыми, чем ты, людьми и компаниями.
Прекращай этот маркетинговый бред. Или ты там контрибутишь что-то или тебе приплачивают чтобы эту ересь нести. Я выбираю инструменты по задачам. Пока мене нода все цело устраивает и безальтернативна в cloud окружениях, если требуется серверный JS. Любую технологию если потребуется я смогу изучить и тыщи других разработчиков тоже. Только смена ноды на дено или что-нибудь ещё не поможет тебе решать твои задачи лучше и быстрее. Я не вижу ничего революционного в этом и очень сомневаюсь что оно когда-то сильно сможет потеснить ноду на рынке.
> А ты смешной. Первая стабильная версия Дено зарелизилась только в мае
> этого года, а ты уже ждёшь результатов масштаба индустрии. Естественно, что
> будет переходный период длиной в несколько лет. Вопрос в том, успеешь
> ли ты сорвать максимальный куш в начале развития технологии при низкой
> конкуренции, или войдёшь в неё тогда, когда рынок уже окучен
> более предприимчивыми, чем ты, людьми и компаниями.А какие результаты у него в принципе могут быть ?
-Нода уже давно существует и развивается, как и пакетные менеджеры под нее..
Тогда как дено предлагает.. то же самое, но более криво и в неопределенной перспективе, более того, один из основных разрабов проекта, имеющий хоть какое-то отношение к ноде - чувак, слившийся в первое же время развития и роста ноды( т.е практически не принимавший участия в ее развитии ).. что хорошего, лучше ноды, это в принципе может дать даже в неопределённом будущем ? Ну кроме убогого управления пакетами и их версиями, которого фактически нет и что выставляется как какая-то фича..
>[оверквотинг удален]
>> более предприимчивыми, чем ты, людьми и компаниями.
> А какие результаты у него в принципе могут быть ?
> -Нода уже давно существует и развивается, как и пакетные менеджеры под нее..
> Тогда как дено предлагает.. то же самое, но более криво и в
> неопределенной перспективе, более того, один из основных разрабов проекта, имеющий хоть
> какое-то отношение к ноде - чувак, слившийся в первое же время
> развития и роста ноды( т.е практически не принимавший участия в ее
> развитии ).. что хорошего, лучше ноды, это в принципе может дать
> даже в неопределённом будущем ? Ну кроме убогого управления пакетами и
> их версиями, которого фактически нет и что выставляется как какая-то фича..Какие будут результаты, ты сможешь предварительно увидеть уже через год. Называть архитектора ноды, который занимался ей три года после создания, "чуваком, слившимся в первое же время развития и роста" это смешно, но зато хорошо иллюстрирует твой уровень владения темой.
> Какие будут результаты, ты сможешь предварительно увидеть уже через год. Называть архитектора
> ноды, который занимался ей три года после создания, "чуваком, слившимся в
> первое же время развития и роста" это смешно, но зато хорошо
> иллюстрирует твой уровень владения темой.Так и.. какие конкретно плюшки кроме ранее упомянутых и весьма сомнительных в итоге предложит дэно ?
И что конкретно он в ней сделал ?
Он ведь, наверняка, очень немало в ней сделал, если "был архитектором ноды, который занимался ей 3 года после создания"(ц), не так ли ?
-Или, практически все его идеи были слиты в ноде и воплотились в дэно в виде очень( ОЧЕНЬ ) сомнительных фич и крайне запоздалой реакции на происходящее ? ( более чем уверен, что о первых релизах дэно слышал более года назад и уже тогда ее ключевые "фичи" эмм.. оказались не поняты широкой публикой, а новых фич, разумеется, так и не появилось, ведь они были конечной точкой, к которой проект изначально и стремился )
>[оверквотинг удален]
>> первое же время развития и роста" это смешно, но зато хорошо
>> иллюстрирует твой уровень владения темой.
> Так и.. какие конкретно плюшки кроме ранее упомянутых и весьма сомнительных в
> итоге предложит дэно ?
> И что конкретно он в ней сделал ?
> Он ведь, наверняка, очень немало в ней сделал, если "был архитектором ноды,
> который занимался ей 3 года после создания"(ц), не так ли ?
> -Или, практически все его идеи были слиты в ноде и воплотились в
> дэно в виде очень( ОЧЕНЬ ) сомнительных фич и крайне запоздалой
> реакции на происходящее ?Я тебе уже сказал, что ты просто не шаришь в обсуждаемом вопросе. Образовывайся.
https://www.youtube.com/watch?v=z6JRlx5NC9E
> ( более чем уверен, что о первых
> релизах дэно слышал более года назад и уже тогда ее ключевые
> "фичи" эмм.. оказались не поняты широкой публикой, а новых фич, разумеется,
> так и не появилось, ведь они были конечной точкой, к которой
> проект изначально и стремился )
> Если бы с нпмом не было проблем, как ты пытаешься сейчас высказать,
> то эта новость не имела бы смысла, как и не имел
> бы смысла Дено (созданный автором ноды с целью устранения её недостатков,
> ага) как таковой.
> Но паровоз времени не останавливает своего бега, и будущее ноды уже предрешено.
> Оставаться на перроне или ехать со всеми это выбор каждого.Так дено и не имеет смысла( серьезно, он как имел совершенное невнятные "фичи" на момент старта, так даже они со временем становятся все более странными.. и это на фоне того, что тот же энпиэм и ярн не запрещает использовать для конкретного модуля репу что на гитхабе, что - даже локальной папкой в проекте, как лично я и поступаю, когда для конкретного проекта нет никаких других вариантов кроме кастомизации конкретного пакета - не в гитхаб же его тащить, порождая зависимости от сторонних реп, которые с сегодня доступны, а завтра.. а завтра я решил почистить свой репозиторий от какого-то барахла ).
Более того, в последнее время, посоны нередко пользуются ярном.. Настолько нередко, что поддержку файлов ярн.лок даже добавляют в последние версии энпиэм. Притом, система и работает ощутимо быстрее "классического" энпиэмаю
> если не сделать это эксплицитно.Позвольте, я помогу вам и остальную часть вашего сообщения перевести на вебмакачий суржик. А то у вас не очень понятно получилось:
> Deno инсталлит депенденси один раз, кэширует их и потом больше не апдейтит, если не сделать это эксплицитно. Плюс, он более секьюрен бай дизайн, и даже в случае с малваре тот не принесёт столько харма, как в ноде.
Так намного лучше!
>> если не сделать это эксплицитно.
> Позвольте, я помогу вам и остальную часть вашего сообщения перевести на вебмакачий
> суржик. А то у вас не очень понятно получилось:
>> Deno инсталлит депенденси один раз, кэширует их и потом больше не апдейтит, если не сделать это эксплицитно. Плюс, он более секьюрен бай дизайн, и даже в случае с малваре тот не принесёт столько харма, как в ноде.
> Так намного лучше!Незнание русского языка это твоя личная интимная драма:
http://endic.ru/kuzhecov/Jeksplicitn-69352.html
Свою ссылку на ясделие от 98го года оставь себе. Макаки - они ведь не только в вебе. В 91м им вообще дали кораблём командовать, и изо всех щелей полезли приватизации, ваучеры, имплементации, рестрикции и прочие убогие кальки с английского, которыми макаки производили впечатление на стадо.Поднимаете чё попало с полу и в рот суёте...
Не тебе со мной спорить, невежда. Разуй глаза и прочитай всю страницу по ссылке целиком, а не только то, что тебе удобно -- сможешь увидеть и Розенталя от 76 года и исторические примеры из словаря галлицизмов.
Да батюшки, что ты этим доказать хочешь? Что тащить в рот всякую дрянь и от этого раздуваться от важности - круто?
Знаешь что отличает умного от позёра/дурака вообще, и тут в частности? То что умный простыми словами объясняет сложные вещи, а позёр или друак - сложными словами простые. ЧСВ тем самым себе чешет. Ну а ты и дальше можешь раздуваться от собственной "мудрости", я не против. Больше дураков - умным жить проще.
> Да батюшки, что ты этим доказать хочешь? Что тащить в рот всякую
> дрянь и от этого раздуваться от важности - круто?
> Знаешь что отличает умного от позёра/дурака вообще, и тут в частности? То
> что умный простыми словами объясняет сложные вещи, а позёр или друак
> - сложными словами простые. ЧСВ тем самым себе чешет. Ну а
> ты и дальше можешь раздуваться от собственной "мудрости", я не против.
> Больше дураков - умным жить проще.Ты не "умный", а типичный невежда, который пеленой малозначительных, но весьма обильных слов пытается скрыть свой недостаток знаний и обратить его в псевдодостоинство. Свободен.
>который прям с гхаба тянет зависимости?А это как раз самый правильный вариант. Архивы на серверах пакетных менеджерах никто не смотрит, если кому-нибудь что-нибудь нужно подправить, то клонируют репозиторий, правят, и шлют PR (у этого подхода есть недостаток - иногда среди мейтейнеров апстримов попадаются истерички и/или неадекваты, которые просто выбросят твой труд на помойку, а иногда ещё и забанят вдобавок). Или не шлют и держат форк. Да и смотреть с гитхаба удобнее прямо из браузера, с подсветкой синтаксиса, поиском по истории, и иногда - переходом по символам, чем скачивать архив и его распаковывать, особенно актуально для большого софта.
Но зато это дикая зависимость от гитхаба. Отключат и все, всем сасат.
Кто же вас заставляет git репозитории на githubе хостить?
> Кто же вас заставляет git репозитории на githubе хостить?Меня-то никто, но почему-то массово хостят именно там. Я к тому, что наличие своей инфры у менеджера пакетов это скорее плюс, чем минус
Это уже можно считать (не)доброй традицией? :)
Да удалять несколько троянов громко об это говорить, а сотни других оставлять в репо
На Java такого нет
в смысле? npm - пакетный менеджер для джава-библиотек
Когда там каникулы заканчиваются у вас?
на том свете отдохнём, а пока наша задача - обеспечить внукам светлое будущее без байткода
Джаву-джаву взял я на халяву
Конечно нет, там maven не из единого централизованного репозитория, из которого хоть иногда трояны вычищают, тягает зависимости, а вообще откуда вздумается.
>> который использовал для их распространения фиктивные учётные записиДавно уже пора интернет по паспортам ввести. Потому и безобразие такое.
Женя, залогиньтесь.
Интересно, как вы оформили свой...
я знаю это отделение, там всем кому попало паспорта раздают
Надо читать код перед использованием. И в проект его включать не через зависимости, а копированием исходников. Тогда такой херни не будет.
Вот абсолютно верно.
В крайнем случае субмодулем git или экстерналом svn, перед обновлением которого можно изменения пролистать.
Надо запретить post-install скрипты запускающиеся от имени юзера, который производит установку пакетов. Да, это не спасёт от всех проблем, но хотя бы у человека будет возможность почитать код пакета, прежде чем его запускать.
Когда уже из репозитория npm удалят главный бэкдор - сам npm?
Помните лифпад!
А что это такое?
https://habr.com/ru/post/280099/
Никогда такого не было, и вот опять!
зашёл написать этот комментарий.
ну это из разряда новостей о том что на просторах интернета есть вирусы. Разместить пакеты в пакетопомойке любой может, где тут новость? npm, rubygems, pip и другие это просто свалка. Есть такие же свалки для более душевных пакетных манаджеров (yum и apt), где тоже и вирусни и упакованного говнокода дадут с подливой.