URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117922
[ Назад ]

Исходное сообщение
"В зависимостях к npm-пакету с установщиком PureScript выявле..."

Отправлено opennews , 15-Июл-19 13:57 
В зависимостях к npm-пакету с установщиком  PureScript выявлен (https://harry.garrood.me/blog/malicious-code-in-purescript-n.../) вредоносный код, проявляющийся при попытке установки пакета purescript (https://www.npmjs.com/package/purescript). Вредоносный код встроен через зависимости load-from-cwd-or-npm (https://npmjs.com/package/load-from-cwd-or-npm) и rate-map (https://npmjs.com/package/rate-map). Примечательно, что сопровождением пакетов с данными зависимостями занимается изначальный автор npm-пакета с инсталлятором PureScript, который  до недавних пор занимался сопровождением данного npm-пакета, но около месяца назад пакет перешёл к другим сопровождающим.

Проблему обнаружил один из новых мэйтейнеров пакета, которому права на сопровождение были переданы после многих разногласий и неприятных обсуждений с изначальным автором npm-пакета purescript. Новые мэйнтейнеры отвечают за компилятор PureScript и настаивали, что NPM-пакет с его установщиком должен обслуживаться теми же сопровождающими, а не посторонним лицом. Автор npm-пакета с установщиком PureScript долго не соглашался, но затем уступил и передал доступ к репозиторию. При этом некоторые зависимости остались под его управлением.


На прошлой неделе был выпущен релиз компилятора PureScript 0.13.2 и
новыми сопровождающими было подготовлено соответствующее обновление npm-пакета с установщиком, в зависимостях  к которому был выявлен вредоносный код. Смещённый с поста сопровождающего автор npm-пакета с установщиком PureScript заявил, что его учётная запись была скомпрометирована неизвестными атакующими. Тем не менее, в текущем виде действия вредоносного кода ограничивались лишь саботажем установки пакета, который стал первой версией  от новых сопровождающих. Вредоносные действия сводились к зацикливанию с выводом ошибки при попытке установить пакет командой "npm i -g purescript" без выполнения явной вредоносной активности.

Были выявлены две атаки. Через несколько часов после официального выхода новой версии npm-пакета purescript кем-то была сформирована новая версия зависимости load-from-cwd-or-npm 3.0.2, изменения в которой  привели к тому, что вызов loadFromCwdOrNpm() вместо списка необходимых для установи бинарных файлов возвращал поток PassThrough (https://nodejs.org/api/stream.html#stream_class_stream_passt...), зеркалирующий входные запросы в качестве выходных значений.


Спустя 4 дня, после того как разработчики разобрались в источнике сбоев и готовились выпустить обновление для исключения load-from-cwd-or-npm из зависимостей, злоумышленниками было выпущено ещё одно обновление load-from-cwd-or-npm 3.0.4, в котором вредоносный код был убран. Тем не менее, почти сразу было выпущено обновление другой зависимости rate-map 1.0.3, в которой было добавлено исправление, блокирующее callback-вызов для загрузки. Т.е. в обоих случаях изменения в новых версиях load-from-cwd-or-npm и rate-map  носили характер явной диверсии.


Разработчики решили проблему выпуском обновления, в котором проблемные зависимости были удалены. Для того чтобы исключить оседание скомпрометированного кода на системах пользователей после попытки установки проблемной версии PureScript рекомендуется удалить содержимое каталогов node_modules и файлов package-lock.json, после чего выставить в качестве нижнего лимита версию  purescript  0.13.2.


URL: https://www.theregister.co.uk/2019/07/15/purescripts_npm_ins.../не
Новость: https://www.opennet.dev/opennews/art.shtml?num=51093


Содержание

Сообщения в этом обсуждении
"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 14:05 
Ух, прямо Санта-Барбара какая-то.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Andrey Mitrofanov_N0 , 15-Июл-19 14:28 
> Ух, прямо Санта-Барбара какая-то.

Вы переоцениваете драматичность происходящего.... бега по граблям.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 20:52 
Улыбнуло.
Забег по расставленным жюри граблям.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено freehck , 15-Июл-19 18:43 
> Ух, прямо Санта-Барбара какая-то

А написано, как будто Арменфильм постарался:

> Примечательно, что сопровождением пакетов с данными зависимостями занимается изначальный автор npm-пакета с инсталлятором PureScript, который до недавних пор занимался сопровождением данного npm-пакета, но около месяца назад пакет перешёл к другим сопровождающим.

Пакет с того берега интернета, который хакеру не перелететь, опсу не перебежать. Хоть мейнтейнер не мейнтейнер, так сеть от блекаута на город упала и насмерть убила. А из оптоволокна хороший букет вышел. Тут автор кааааак подпрыгнет!


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено fi2fi , 15-Июл-19 14:09 
Шо, опять!!!

когда же появятся обязательные подписи в NPM ???


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено пох. , 15-Июл-19 14:15 
чем тебе подписи или гитхляп помогут от ситуации "разработчик зависимости стопиццотого уровня вложенности (помнити npm leftpad!) засунул в нее трояна"?

просто он будет врать не "акаунт на npm скомпроментировали враги", а "враги украли подпись, вместе с симкой, и вот, накоммитили и подписали".

это ваш жабоскриптик, с зависимостями всего от всего, он так работает, это не лечится.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 14:24 
>  это не лечится.

Ты болен, неуважаемый.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Wilem , 15-Июл-19 15:16 
Почему? Всё правильно, «лечится» без мягкого знака.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 20:54 
Таки не лечится. За всю историю человечества. )))

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 14:54 
> это ваш жабоскриптик, с зависимостями всего от всего, он так работает, это не лечится

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


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено пох. , 15-Июл-19 15:33 
как и любой другой язык "быстрого прототипирования", да.

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


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено НяшМяш , 15-Июл-19 16:33 
Даже фиксация версий зависимостей не спасёт. Нужно зависимости с собой бандлить.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Andrey Mitrofanov_N0 , 15-Июл-19 16:42 
> Даже фиксация версий зависимостей не спасёт. Нужно зависимости с собой бандлить.

"Стабильный Дебиан не достаточно Прогрессивен"--  говорили они...
"...вынуждены его, и его ошибки, повторять"-- говорили им...
, но они не слушали и не слышали.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено пох. , 15-Июл-19 18:11 
ну вот в рамках одного хаба - остальное решается технико-административными путями.

а так да, правильно именно бандлить, зафиксируешь версию - а leftpad выпилен разработчиком целиком и со всеми версиями сразу.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 20:55 
Так Дмитрий-то так и спрашивает: а ты зависимости сам собираешь ли. Да.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено kai3341 , 15-Июл-19 23:10 
>  как и любой другой язык "быстрого прототипирования", да.
> фикcация версий зависимостей, разумная осторожность при обновлениях, иногда и замена чужого универсального комбайна своей мелкой открывашкой - это не про них.

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

Что является наиболее узким местом web-приложения? Неужели код на языке "быстрого прототипирования"?

Расскажи, кем ты работаешь? Можно одной ссылкой на linkedin. Меня не перестаёт удивлять узость твоего мышления и активность комментирования


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено kai3341 , 15-Июл-19 14:56 
Или у тебя много сторонних библиотек и мало кода, или у тебя мало сторонних библиотек и куча говнокода

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Wilem , 15-Июл-19 15:18 
> Или у тебя много сторонних библиотек с говнокодом и мало своего говнокода, или у тебя мало сторонних библиотек с говнокодом и куча своего говнокода

Поправил.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено vitalif , 15-Июл-19 16:17 
Если у тебя много сторонних библиотек - то много чужого говнокода, а если мало - то некоторое количество своего. Но по крайней мере ты точно знаешь, что вставить в него rm -rf / можешь только ты сам

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Wilem , 15-Июл-19 16:54 
Вывод: заменять версии надо запретить, а новые версии билдить из исходников и только после ревью несколькими независимыми разработчиками. Прям на уровне центральной свалки откуда все качают.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Wilem , 15-Июл-19 17:15 
Правда, тогда надо ещё придумать защиту от новых аккаунтов которые могут фейково сделать ревью.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Хипстер Ведерный , 15-Июл-19 23:02 
Нет, нужно код новой версии смерживать вручную со старой. Смотреть построчно новую писанину. Очевидно, что мутный код должен быть заметен компетентному глазу.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Led , 15-Июл-19 23:59 
Всем известно где у вэб-макаки находится этот "компетентный глаз".

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Хипстер Ведерный , 16-Июл-19 02:08 
Не вижу связи между сферой человеческой деятельности и качеством его работы. Любая дистрибьюция кода подвержена подобным вещам. Нужен контроль кто и что добавляет в код. Под другому никак.

Просто видать тем, у кого на сайте написано крупных шрифтом "Build amazing things" наплевать кто и что заливает им пока ты не заплатил и не получил:


Security expertise

npm is the central authority on JavaScript security. Find — and fix — JavaScript security vulnerabilities before they make it to production, with nothing to set up or install.



"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 16-Июл-19 06:52 
> Не вижу связи между сферой человеческой деятельности и качеством его работы.

+

> Просто видать тем, у кого на сайте написано крупных шрифтом "Build amazing
> things" наплевать кто и что заливает им пока ты не заплатил

Вот же связь.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Хипстер Ведерный , 16-Июл-19 10:26 
Они как раз просто считают деньги, ничего личного. Должны происходить подобные инциденты, как напоминание всем халявщикам, что они живут в непростом мирке и за спокойствие надо платить.

Не сильно удивлюсь, если они сами разыгрывают этот цирк. Мы же на знаем сколько к ним приходит платных подписчиков после подобных шоу.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 19:14 
> куча говнокода

, которую можно подрихтовать до библиотеки и выложить в npm :^)


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено KonstantinB , 16-Июл-19 03:59 
До библиотеки? Одной?

Не... Надо кучу разложить по маленьким баночкам и коробкам от спичек. Так, чтобы не больше лефтпада. Будет сразу пара тыщ библиотек!


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено KonstantinB , 16-Июл-19 03:56 
И чем они помогут, когда "злоумышленник" - это сам мейнтенер? Меньше поверят, что "аккаунт воз хакд"? :-)

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 14:10 
когда же появятся обязательные подписи в NPM ???

а зачем, разве кому то нужен порядок в этом болоте ?


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 14:10 
Да запретить аплоадить пакеты в npm - и всё. Разработчик должен сам запушить в гитхаб изменения, затегать релиз, а npm бы автоматом запаковал. Ну или предоставил бы кнопку "Чекнуть мой гитхаб на предмет новых релизов".

То же касается остальных пакетных репозиториев по ссылкам к новости.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Andrey Mitrofanov_N0 , 15-Июл-19 14:31 
>запретить аплоадить пакеты
>должен сам
> запушить в гитхаб
>npm бы автоматом запаковал.
>гитхаб на предмет новых
> релизов".

Сим запрещаю тебе камментиь на опенете про пакеты и йих манагемент, и гидхаю заодно.

Выполняй?


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено AnonPlus , 15-Июл-19 14:41 
TL;DR

У автора пакета отжали пакет и он стал мелко пакостить.


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Дворник , 15-Июл-19 14:51 
> У автора пакета отжали пакет и он стал мелко пакостить.

Или враг автора пакета вовремя воспользовался случаем.
Так или иначе, автор дескредитирован донельзя.

  


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Led , 16-Июл-19 00:02 
> автор дескредитирован донельзя.

Как можно дИскредИтировать вэб-макаку?


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено CryNet , 17-Июл-19 09:35 
А ты какая *-макака будешь?

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 15:52 
Какой смысл автору заниматься подобным?

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 18:09 
Неразвитые социальные навыки и общая неадекватность.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено анон , 16-Июл-19 08:01 
А как же веселье?
А как же осуществить акт дефекации на стол?
Я вот в больничках, где разгреб все говно и поднял k8s, на прощанье все положил и сломал.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 16-Июл-19 09:55 
Это уже граничит с криминалом.

Веселье - это когда т.н. разработчики Росы сначала принимают мои решения их недоделок в свой т.н. продукт, а потом удаляют исходники в моих репозиториях, потому что "мы не знаем что ждать от этого неадеквата". Я вот тоже не знаю, что же я мог такое учудить в персональном git, кроме как пробить кое-кому шапочку из фольги. ;-)


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено админ , 16-Июл-19 13:56 
Это граничит с идиотизмом, ибо нефиг выкидывать админа, если все работает.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 16-Июл-19 14:51 
> Это граничит с идиотизмом, ибо нефиг выкидывать админа, если все работает.

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


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 16:39 
А что это вообще за пюре-скрипт, зачем он?

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 16:55 
Горе-скрипт

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено KonstantinB , 16-Июл-19 03:52 
Это такой язык, похожий на Haskell, но не Haskell, компилирующийся в JavaScript. Кроме двух с половиной энтузиастов, не нужен никому.

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено антон , 02-Янв-20 04:05 
Я один из таких энтузиастов, не на жопоскрипте же в конце-концов фронтенд хаскелисту писать! Не солидно, стыдно и унизительно.

А PureScript очень даже хорош, там и тайплевел и всякое разное есть, и кое-что даже лучше и изящнее, чем в Haskell сделано (например partial constraints для рекордов с одинаковыми именами полей и типами), впрочем не удивительно, это молодой язык, который писался на самом Haskell с оглядкой на его недостатки, который имеет на сегодняшний день почти 30-и летнюю историю развития. Правда одно из главных отличий PureScript-а, что он НЕ ленивый, и это иногда боль в жопе, когда тебе например приходится избегать "when" в монадках в пользу "if-then-else", как и думать, объявлять ли переменную через let/where лишний раз, т.к. все частичные применения функций будут вычислены, независимо от ого, использовано имя или нет. Haskell своей ленивостью делает программистов такими же ленивыми, "за меня конпелятор разберётся".

Остальные полтора энтузиаста, дайте знак, что вы живы, ну или остальные два (если меня считать за половинку).


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 16:55 
Что же за неприятные обсуждения такие, с которыми передавали власть?

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Ilya Indigo , 15-Июл-19 17:43 
Жил_был_пёс.jpg

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 15-Июл-19 17:47 
npm - это троян

"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Andrey Mitrofanov_N0 , 16-Июл-19 09:26 
> npm - это троян

и броузер - троян,
и интнернет - троян,
и общество - троян,
и его экономмодель - троян,
и ....

покайтеся, грешниуи, конь бледный на колёсиках -- у ворот.  <><><<>


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Andrey Mitrofanov_N0 , 17-Июл-19 10:11 
>> npm - это троян
> и броузер - троян,
> и интнернет - троян,
> и общество - троян,
> и его экономмодель - троян,
> и ....

http://techrights.org/wp-content/uploads/2019/05/microsoft-b...
http://techrights.org/2019/07/14/sociopathy-incompetence-and.../

“The choice for mankind lies between freedom and happiness and for the great bulk of mankind, happiness is better.”
― George Orwell, 1984


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Пейтонист , 16-Июл-19 05:47 
Зачем сразу обновляться до последней версии?
Странные проблемы у людей, только выложили корявый пакет, сразу напарываются, будто сидят и ждут когда выйдет обновление.
Работает на старой, и пусть работает.

Хотя конечно может так и есть


"В зависимостях к npm-пакету с установщиком PureScript выявле..."
Отправлено Аноним , 16-Июл-19 12:50 
с этими обновлениями у них как шило в опе.
мне тут давеча надо было на первую малинку установить пакет. пишу апт-гет инсталл, а оно мне 404. лезу на archive.raspbian.org а там от папки wheezy и след простыл. и нафига надо было называть сайт archive ? :D   из-за хипстеров, мне теперь на эту рухлядь, которая и так по скорости как пень1 нужно что-то обновлять... железка только для spi используется, там новое ничего не нужно, вообще.