Опубликован выпуск пакетного менеджера NPM 7.1, входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Репозиторий NPM обслуживает более 1.3 млн пакетов, которыми пользуются около 12 млн разработчиков. В месяц фиксируется около 75 миллиардов загрузок. Для установки NPM 7.1, не дожидаясь новой версии Node.js, можно выполнить команду "npm i -g npm@7"...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54198
Haha classic, интересно, когда же начнут бороться с вредоносными пакетами в NPM, проверять их какимнить антивирусом🤔
Интересно, когда же перестанут бездумно подключать пакеты фронтендщики?🤔
Эти пакеты, скорее всего, никто и не подключал. 100 скачиваний - это разнообразные роботы, которые скачивают все заливаемые тарболлы автоматически
Когда изучат администрирование своей операционной системы. Но тогда они перестанут быть фронтэндщиками.
Зачем? Это оплачивается лучше?
По этой логике в наркодилеры идти самое то. Или органами барыжить.Вот только... в деньгах ли смысл жизни? Это цель или средства?
> По этой логике в наркодилеры идти самое то.Эх... чего ж в дилеры... в производители. Но ты бы знал, какой тогда был конкурс в Губкина :-(
Вот и остается только работа по специальности - кюветы в принципе, норм входят на стоечные полки, лампочки можно прям сразу специальные брать, те что для внутристоечного освещения вполне годятся.
С климатом в приличном ДЦ можно особо не мудрить, влажность внутри стойки сама поднимется.
Но разьве ж этим заработаешь... так, на хлеб с пивасом :-(> Вот только... в деньгах ли смысл жизни? Это цель или средства?
Пока не заработаешь или украдешь - цель. Как образуются - средства.
Возможно выскажу непопулярное мнение, но вы, знаете ли, недалеки от истины. Потому что если не ваш начальник, то начальник начальника вашего начальника... В общем, вы так или иначе на этих людей работаете, но они ещё и имеют наглость вам недоплачивать и делать много других абсолютно недопустимых вещей. Так что им должна быть составлена конкуренция. Другое дело, что это мероприятие рисковое. А покупатели на этот товар всегда будут, как они существуют и на любой другой. Проблема в том, что наше общество инфантильно и живёт бредовыми мечтами о идеальных философских системах, скатываясь при этом и из-за этого в том числе в феодализм. Пишу из загнивающей Америки про загнивающий капитализм если что, доллар вот вот рухнет, госдолг ужасен.
> Пишу из загнивающей АмерикиТак США же флагман перестройки. Ну и феодализма, чего уж )
>>> Пишу из загнивающей Америки про загнивающий капитализм если что, доллар вот вот рухнет, госдолг ужасен.Да не переживайте Вы так. Долларов в США намного меньше, чем в других странах и пострадают от кризиса США куда как меньше. Более того, внутри США можно будет легко провести операцию "деноминация" или "свой доллар", в любом случае граждане это страны потеряют часть сбережений, но не уровень доходов и жизни.
Поэтому проблемы с долларом начнутся не скоро -- власть имущие очень заинтересованы в сохранении этой финансовой пирамиды как можно дольше (и никого не волнует, что в будущем это означает конец цивилизации: после нас хоть потоп).
А пока так будет, считать деньги при найме специалистов будут "особенным способом" и ставильщики из NPM-а будут в тренде.
Нарко и т.п. барыжничество некорректно сравненивать, т.к. опасность для жизни в разы выше.
а кем же они тогда будут?
>> В месяц фиксируется около 75 миллиардов загрузок
>> jdb.js, который успели загрузить около 100 раз
> Haha classic, интересно, когда же начнут бороться с вредоносными пакетами в NPMHaha classic, интересно, когда же ноны начнут сопоставлять порядки величин
п.с: вредоносные пакеты, кстати, вполне неплохо подчищаются
То что нашли не означает что больше вредоносов не осталось, а ты походу из этих из жабаскриптеров.
> То что нашли не означает что больше вредоносов не осталось, а ты
> походу из этих из жабаскриптеров.Я из тех в т.ч жабаскриптеров( точнее, реакт-нативеров, у которых пакетный менеджер - тоже npm или yarn, но обычно используют последний, поскольку тот несравненно быстрее и менее косячный ), которые ни разу не сталкивались с говнопакетами на npm даже просто потому, что, прежде чем что-то качать, смотрю на описание пакета, статистику, динамику его развития и проч( и именно вредоносных пакетов среди отклоненных очень мало. Скорее всего, речь о пакете, который разрабы устали поддерживать или он потерял актуальность, потому тянуть его в проект не стОит ).
Кроме шуток, 1*10^2 / ( 7,5 * 10^10 ) * 100% = 1/7,5 * 10^-6 % = 0,133 МИЛЛИОННЫХ ПРОЦЕНТА( т.е примерно на уровне одного процента от одного процента от одного процента )
Есть смутное подозрение, что среди не_нпм разрабов доля туполобых, качающих любые васяновские пакеты, модули и копипастязих соотв куски кода как минимум не меньше.
https://youtube.com/watch?v=J7irfxq2YBM
https://www.youtube.com/watch?v=Jairxwhq4a0Базарю, если поставить это в NPM все вредоносные пакеты будут дезинтегрироваться еще на стадии их написания
>интересно, когда же начнут бороться с вредоносными пакетами в NPMБороться (давить в пелёнках сразу) надо с разработчиками, и пакетов, и NPM.
Но поздно, теперь поможет только "личная гигиена" и бойкот NPM-щиков.
Почему только у npm так плохо, а у других нет
На самом деле у всех открытых пакетных менеджеров так плохо, просто аудитория npm, видимо, наименее технически грамотна, чтобы своевременно обнаруживать "внедрёж", чем и пользуются.
Везде всё одинаково. Просто npm по объёму больше, чем Maven, Packagist, PyPI, nuget, Rubygems и CPAN вместе взятые
Где рыба лучше клюет, там ее и ловят.
Там контингент по большей части из непуганных, или до 25 или "we moving fast, we breaking things..."
Аудитория в тысячи раз больше, чем в PyPi
Аудитория использует пакеты для веба, а не для чилодробилок, как в CRAN
Аудитория неграмотная и тянет в рот все, что увидит, даже отдаленно похожее, а не как в СРАN, где уже все ученые патчем Брамина
> патчем БраминаГм, патч Бармина знаю, а это чё за индус такой?
Это корова такая, трёхголовая. "Патч" - заплатка.
Ракетчик?
Все что выше уже написали и скудная стандартная библиотека. Даже работа с датами и временем без сторонней библиотеки - это какая-то бессмысленная возня. А захочешь свое решение написать, то на этапе тестирования все равно что-то стороннее придется привлечь, потому что в коробке этого нет.
Работа с датой и временем в js по сложности примерно такая же как в java 7.
У других тоже есть. Просто все охотятся за низковисящими фруктами.1. В npm огромные DAGи зависимостей, поэтому проверить конкретный пакет, нужный уже месяц назад, там труднее и дольше, поэтому никто и не будет.
2. Ситуацию осложняет javascript, где доступ к свойствам идёт через [], что позволяет запрятать evalы от статических анализаторов. В питоне, например, getattr - большой красный флаг.
3. а значит если твоя цель - найти сколько-то бэкдоров, то искать будешь в npmе, забив на остальные языки и менеджеры.
кажется у maven нету preinsall, postinstall секций выполняющих что угодно с правами пользователя от которого запущен.
> Почему только у npm так плохо, а у других нетСложно сказать, на данный момент. У каждого свои предположения, о том, что в npm не так, и поэтому есть разные подходы к одолению этого. Сравнивать результативность практически невозможно, в силу различной популярности проектов. Единственное что нам остаётся -- это верить в то, что базар окажется сильнее злоумышленников, и он найдёт способ существовать несмотря на них. Если это не так, то значит восторги Эрика Раймонда в отношении базара потеряли актуальность, базар не в состоянии масштбироваться, и единственный разумный выбор для нас -- пересеть на соборный оффтопик. Или лучше сразу на эпол: там няшный M1.
Выпуск вредоносного пакетного менеджера)
Логичней уж тогда "менеджера вредоносных пакетов". :)
В принципе, название новости уже неплохо продвинулось в этом направлении.
Yarn запрещает запуск скриптов во время установки
как защититься от этого?
не писать на джабаскрипте
не тянуть каждую какашку в рот
от left-pad зависил даже react и babel. Ты не будешь тянуть, кака притянется по зависимостям
только конченные могут использовать эту платформу
Так лефтпад оказался вирусом или проблема была в возможности разработчиком удалить собственный пакет из репозитория когда ему вздумается, что приводит к временной неработоспособности зависимых от него пакетов( для проектов на стадии разработки, ведь у релизных тот код уже собран в кучу ) ?)
>Есть пакет под названием isArray, который скачивают 880 000 раз в день, 18 млн скачиваний в феврале 2016 года. У него 72 зависимых NPM-пакета. И вот его целая 1 строчка кода:
>return toString.call(arr) == '[object Array]';
>Есть пакет под названием is-positive-integer (GitHub), который состоит из 4 строчек и которому на вчерашний день требовалось 3 других пакета для работы. Автор с тех пор провёл рефакторинг, так что теперь у пакета 0 зависимостей, но я не могу понять, почему это не было сделано сразу.
>Свежая установка Babel включает 41 000 файловкроме как не использовать npm вариантов нет
Ты какую-то чёрную непонятную магию рассказываешь... Кто ею пользуется? Миллион мух?!
У мягкостулых Стуло-Actions используют node.js.
Кем ей? Все кто пишет фронтэнд пользуются npm потом что вариантов нет.
Я тоже и пользуюсь. И left-pad пользуюсь так как он в зависимостях у старого react и babel, а чтобы обновить придется треть когда фронтэнд переписать.
собственно к пустому react проекту тоже устанавлияется однострочник isarray
yarn why isarray
=> Found "isarray@1.0.0"
info Reasons this module exists
- "readable-stream" depends on it
- Hoisted from "readable-stream#isarray"
- Hoisted from "react-scripts#eslint-plugin-import#doctrine#isarray"
- Hoisted from "react-scripts#webpack#node-libs-browser#buffer#isarray"
- Hoisted from "braces#snapdragon#base#cache-base#unset-value#has-value#isobject#isarray"
Не использовать npm и не использовать внешние пакеты. Писать все самому.
Причём будет быстрее и безопасней.
Самое интересное, что в _долгосрочной_ перспективе выйдет гораздо лучше что в плане надёжности, что в плане эффективности, что в плане скорости разработки, чем ляпать на колене из фрикаделек из говна.
Налепить квадратноколесых велосипедов в которых невозможно разобраться никому (и даже тому кто их лепил)
Несомненно это будет гораздо надежнее, выстрее, дешевле
Особенно когда придет другой разработчик с будет пытаться понять как этот громадный кусок ..овнокода работает и почему.
То ли дело скачать половину интернета в зависимости, не забыв ни про leftpad, ни про isArray.
Это-то каждому ж васяну сразу ясно-понятно как работает, и почему.> Особенно когда придет другой разработчик с будет пытаться понять как этот громадный кусок
хороший способ отсева полуграмотных на испытательном сроке.
как работает left-pad и isArray действительно понятно каждому васяну. Там же всего несколько строчек
> как защититься от этого?Приказом по организации ввести правило: если в резюме упомянута нода - HR немедленно и навечно вносит соискателя в чёрный список.
- И, боже вас сохрани, не читайте до обеда советских газет.
- Гм… Да ведь других нет.
- Вот никаких и не читайте(с)
1. Строго указывать зависимости в package.json (без ^ или ~), см. опцию save-exact=true в .npmrc. 2. Коммитить package-lock.json.
3. Следить за npm audit.
4. Хотя бы немного поглядывать за тем, какие пакеты устанавливаются по зависимостям. Возможно проще реализовать нужную функциональность самостоятельно.
>>Опубликован выпуск пакетного менеджера NPM 7.1, входящего в поставку Node.js и применяемого для распространения вредоносных модулей на языке JavaScript.
Пора обновить описание "npm - менеджер ВРЕДОНОСНЫХ пакетов".
Что ж такое, во вредоносном репозитории опять выявлены пакеты. Сколько их там?
Тут должен быть ещё один коммент, форсящий мем "вредоносный репозиторий".зы. сорри, у меня чёт креативность просела, чтобы сочинить что-нибудь хлёсткое. Но я старался, прошу занести это в протокол.
Ой, да ладно, старался он.
Выпуск вредоносного пакетного менеджера NPM 7.1
...применяемого для распространения модулей на вредоносном языке JavaScript.Node Packages Malware
Node Polution Manager
Node Programming MonkeysА вообще, пытался я пользоваться этим "пакетом для пакетов", хотел перейти эти смузи реку вброд, но нет - вернулся. Постоянные уязвимости, обновления, несовместимость версий, размер с ОС нулевых.
Написал по старинке. Может и велосипед, но это просто велосипед: 2 колеса, руль и едет в нужном мне направлении.
Deno бы решил проблему с пакетами вида "запускаемый во время\после установки" скрипт?