The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

26.11.2018 21:50  Бэкдор в зависимости к event-stream, популярной библиотеке для Node.js

Пользователи библиотеки event-stream, около 2 миллионов копий которой еженедельно загружается из репозитория NPM и которая используется во многих крупных проектах, выявили вредоносный код в одной из зависимостей. Проблема выявлена в пакете flatmap-stream, в котором под видом тестового набора данных (test/data.js) в одной из переменных передавался вредоносный код, предназначенный для кражи криптовалюты и проведения целевой атаки на связанные с криптовалютой сервисы.

Вредоносный код использовался для кражи закрытых ключей от криптокошельков Copay. Во вредоносном коде также выполнялись манипуляции с файлами, используемыми в библиотеке bitcore-wallet-client. Не исключено, что атака может охватывать и другие связанные с криптовалютой приложения на Node.js, которые так или иначе связаны зависимостями с event-stream и производными библиотеками. Библиотека event-stream используется как зависимость в почти четырёх тысячах npm-пакетов, среди которых ps-tree и npm-run-all c 1.4 млн и 400 тыс. еженедельных загрузок.

В начале сентября автор библиотеки отстранился от дел и передал доступ к репозиторию event-stream и право публикации в NPM новому мэйнтейнеру right9ctrl, который являлся человеком со стороны, ранее не участвовал в разработке и общался с автором event-stream только по email. 9 сентября новый мэйнтейнер добавил пакет flatmap-stream в зависимости к event-stream. Примерно в то же время был сформирован выпуск flatmap-stream 0.1.1, в который был добавлен вредоносный код. 16 сентября, после выхода релиза event-stream 3.3.6, пакет flatmap-stream был удалён новым мэйнтейнером из зависимостей к event-stream, а релиз 3.3.6 был отозван из NPM. Судя по действиям нового мэйнтейнера event-stream, он и является организатором атаки.

Вредоносный код подменял функцию Credentials.getKeys, используемую для получения расшифрованных ключей в мобильном и настольном клиентском ПО Copay. В случае наличия в кошельке более 100 BTC или 1e3 BCH связанные с кошельками ключи и используемые для их расшифровки пароли отправлялись на подконтрольные атакующим серверы copayapi.host и 111.90.151.134. Пользователи могут оценить подверженность своих систем атаке запустив команду "npm ls event-stream flatmap-stream" - cистема скомпрометирована, если в выводе упомянута библиотека "flatmap-stream@0.1.1".

Разработчикам приложений рекомендуется зафиксифровать в зависимостях версию event-stream 3.3.4. Создатели Copay подтвердили подверженность атаке выпусков приложений Copay (5.0.2-5.1.0) и BitPay, а также сформировали обновление клиентского ПО 5.2.2, в котором убрана привязка к библиотеке event-stream. Вредоносная версия пакета flatmap-stream в настоящее время уже удалена из репозитория NPM.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: В популярный NPM-модуль внедрено вредоносное ПО, копирующее параметры аутентификации
  3. OpenNews: Более половины npm-пакетов могли быть скомпрометированы из-за ненадёжных паролей доступа
  4. OpenNews: Выявлена попытка включения бэкдора в популярный NPM-пакет mailparser
  5. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM (left-pad)
  6. OpenNews: Критическая проблема в NPM 5.7, приводящая к смене прав доступа на системные каталоги
Лицензия: CC-BY
Тип: Интересно / Проблемы безопасности
Ключевые слова: node.js, backdoor, npm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, интеллигентный разработчик (?), 21:55, 26/11/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +48 +/
    НИКОГДА такого не было и вот опять
     
     
  • 2.3, пох (?), 22:15, 26/11/2018 [^] [ответить]    [к модератору]
  • +1 +/
    помнити об npm leftad!
     
     
  • 3.55, Аноним (55), 12:12, 27/11/2018 [^] [ответить]    [к модератору]
  • +2 +/
    А что такого с left-pad?
     
  • 2.79, Ydro (?), 19:03, 27/11/2018 [^] [ответить]    [к модератору]
  • –1 +/
    Samba она такая.
     
  • 1.2, Онаним (?), 21:55, 26/11/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +8 +/
    2 миллиона / 7 / N... кхм... девопсиков, безоглядно доверяющих мейнтейнить куски проектов сторонним репам, кхм... снова (что удивительно же!) попали.

    Внезапно.

     
     
  • 2.5, пох (?), 22:17, 26/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    два миллиона - это только у тех кто не очень доверяли и зачем-то проверили стоты... весь текст скрыт [показать]
     
     
  • 3.14, Онаним (?), 22:50, 26/11/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    За них композитор эту зависимость проверил. А ревьюить некому, лень, и вообще ненужно.
     
  • 2.94, Аноним (94), 18:04, 28/11/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Я правильно понимаю, что ты вообще никакой сторонний код не используешь и пишешь всё своё? NIH-синдром в терминальной стадии.
     
  • 1.4, Аноним (4), 22:17, 26/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    Смех смехом, но сильно ли отличаются в этом отношении от ноды другие веб-фреймворки? Куча зависимостей, которая при установке без лишних раздумий тянется из репы или с гитхаба - это намного ли безопаснее?
     
     
  • 2.7, Онаним (?), 22:26, 26/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    А дело не в ноде. Ручки-то - вот они, изящно изогнутые. Ревью изменений стороннего кода? Не, не слышали.
     
     
  • 3.9, пох (?), 22:37, 26/11/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    каких таких "изменений"? Оно ж с самого начала там лежало.

    ревью ВСЕГО стороннего кода? Ну тогда какой вам node, вы и на сях-то сами его ни в жизнь ниасилите (хотя там и не доходит до leftpad)

     
     
  • 4.11, Онаним (?), 22:47, 26/11/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Как минимум - ревью всех изменений стороннего кода от условно-trusted версии воо... весь текст скрыт [показать]
     
     
  • 5.17, пох (?), 23:00, 26/11/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    ну вы же уже всосали, не глядя, неизвестный код немалого объема - а теперь готов... весь текст скрыт [показать]
     
     
  • 6.21, Онаним (?), 23:03, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Дык и я о том Ну на самом деле не совсем так, кроме фич бывают ещё багфиксы В... весь текст скрыт [показать]
     
  • 6.35, Василий Топоров (?), 23:33, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Если я вас правильно понял, то нужно скопировать модуль к себе, жестко заморозит... весь текст скрыт [показать]
     
     
  • 7.49, пох (?), 10:27, 27/11/2018 [^] [ответить]     [к модератору]  
  • +/
    причем не зная заранее, ни какая версия сегодня модно, ни тем более - что еще он... весь текст скрыт [показать]
     
  • 6.36, Аноним (36), 23:39, 26/11/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    > плата за "простоту" языка - геморрой с элементарнейшими операциями, которые приходится отдельным модулем оформлять.

    Это вы про C++ boost сейчас?

     
     
  • 7.88, пох (?), 23:00, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    который из трех...ой, нет, уже четырех установленных?

    (справедливости ради - boost решает "элементарные" задачи посложнее leftpad. Многим проектам они нафиг не сдались.)

     
     
  • 8.91, Аноним (36), 09:24, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Справедливости ради и leftpad не нужен, т.к. есть нативный метод String.prototype.padStart
     
  • 6.59, J.L. (?), 12:43, 27/11/2018 [^] [ответить]     [к модератору]  
  • +/
    а баги в чужих либах вы как фиксите или у вас zip so написан через libgodallkno... весь текст скрыт [показать]
     
     
  • 7.80, пох (?), 20:04, 27/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    никак, если либа принята в продакшн - она прошла тестирование, в том виде, в кот... весь текст скрыт [показать]
     
  • 5.18, Онаним (?), 23:01, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    И нет - юнит-тестами вы все возможные комбинации звездецов в сторонних либах не покроете. Только комбинация теоретического ревью и актуальных тестов.
     
     
  • 6.24, пох (?), 23:04, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    конечно нет И потом - нахрена мне юнит-тесты ЧУЖИХ либ Я их не для того подкл... весь текст скрыт [показать]
     
     
  • 7.29, Онаним (?), 23:08, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Угу, я именно про юнит-тесты собственных модулей, завязанных на чужие либы.
    В либе что-то кромсают, и не факт, что это под тесты влетит.
     
  • 5.20, Crazy Alex (ok), 23:01, 26/11/2018 [^] [ответить]     [к модератору]  
  • +5 +/
    Да никто не ревьюит второй уровень вложенности То, что непосредственно проект т... весь текст скрыт [показать]
     
     
  • 6.23, Онаним (?), 23:03, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Хера себе. То есть можно горе-деплоерам rm -rf / подтянуть в комплекте, и они не заметят? Красиво )
     
     
  • 7.26, пох (?), 23:05, 26/11/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    так вот, только ж что и...
    (спалили, правда, но это скорее случайность)
     
     
  • 8.30, Онаним (?), 23:09, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Да уж, сколько там ещё такого добра, остаётся только гадать.
     
  • 5.57, КО (?), 12:16, 27/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Но есть ньюанс, хорошее ревью кода обходится дороже написания кода А поверхн... весь текст скрыт [показать]
     
  • 4.16, Онаним (?), 22:56, 26/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    И нет, с самого начала оно там не лежало.

    "Why was @right9ctrl given access to this repo? He added flatmap-stream"

    Ключевое слово - added.

     
     
  • 5.19, пох (?), 23:01, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    а что, не нужно было?
    я -то имел в виду, что в этом самом flatmap оно лежало.

     
     
  • 6.27, Онаним (?), 23:05, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну ревью-то в любом случае выявило бы новую зависимость, к которой нужно отнестись с особым пристрастием )
     
  • 3.41, Аноним (41), 05:22, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    В ноде дело. В ней невозможно программировать без установки кучи библиотек.
    >Ревью изменений стороннего кода? Не, не слышали.

    Да конечно. Только помрешь раньше чем весь код проверишь.

     
  • 2.8, пох (?), 22:33, 26/11/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    а причем тут - веп-фреймворки помимо ноды которая ни разу не веб и не фреймвор... весь текст скрыт [показать]
     
     
  • 3.12, Онаним (?), 22:49, 26/11/2018 [^] [ответить]    [к модератору]  
  • –4 +/
    Да и композерное угрёбище в похе... то есть в пыхе - не отстаёт.
     
  • 3.67, RomanCh (ok), 13:11, 27/11/2018 [^] [ответить]     [к модератору]  
  • +/
    На самом деле он реально хорош тем, что стандартного официального набора либ дос... весь текст скрыт [показать]
     
     
  • 4.81, пох (?), 20:09, 27/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    вопрос тогда, что считать стандартным набором - вот все вот это, что оно понат... весь текст скрыт [показать]
     
     
  • 5.83, RomanCh (ok), 20:26, 27/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Не не, я строго про то что идёт в дефолтном архиве с компилером Т е то что был... весь текст скрыт [показать]
     
  • 3.87, Аноним (87), 22:35, 27/11/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    если бы ты хоть немного разбирался в теме, то знал бы, что гитхаб такое не позво... весь текст скрыт [показать]
     
  • 2.97, КО (?), 11:15, 29/11/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Да что там фреймворки - не каждый коммерческий Линукс озаботился доказательной б... весь текст скрыт [показать]
     
     ....нить скрыта, показать (31)

  • 1.6, Аноним (6), 22:25, 26/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Пишите про пакеты, где нет бэкдора, если таковые конечно остались...
     
  • 1.10, Аноним (10), 22:44, 26/11/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +5 +/
    Мне интересно другое, как отстранившийся от дел автор event-stream так наивно пе... весь текст скрыт [показать]
     
     
  • 2.13, Онаним (?), 22:49, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > как отстранившийся от дел автор event-stream так наивно передал проект в руки первого встречного

    Он где-то подписывал юридически значимый договор с обязательствами так не делать?

     
  • 2.15, Онаним (?), 22:53, 26/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Поэтому мне более интересно как кхм... неназываемо... кхм... решились использовать библиотеку первого встречного неизвестного писателя, даже внутрь не заглядывая.
     
     
  • 3.25, Crazy Alex (ok), 23:04, 26/11/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Потому что они уже использовали сотню таких же на этом проекте и тысячу - на прр... весь текст скрыт [показать]
     
     
  • 4.28, Онаним (?), 23:06, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну в общем и получили то, что заслужили. Ничего сверху интересного нет )
     
  • 3.31, Анонимочкин (?), 23:09, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Другие пакеты добавили библиотеку event-stream от известного автора 100 лет в об... весь текст скрыт [показать]
     
     
  • 4.32, Онаним (?), 23:11, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Есть простое правило любой апдейт сорцов сторонней либы, прибитых к собственном... весь текст скрыт [показать]
     
     
  • 5.33, Анонимочкин (?), 23:18, 26/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Попробуй в одиночку всё отревьювить Мне например вообще проще микро зависимости... весь текст скрыт [показать]
     
     
  • 6.34, Онаним (?), 23:22, 26/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > Попробуй в одиночку всё отревьювить
    > Из моих зависимостей оказался только nodemon инфицирован

    :) Ну о чём и речь, если не ревьюить - будет засада.
    Иногда лучше вообще никак, чем так.

     
     
  • 7.42, Аноним (41), 05:36, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    лучше не программировать вы хотели сказать?
     
     
  • 8.45, Онаним (?), 08:59, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну в общем да. "Не умеешь - не берись", есть такая фраза из старины.
     
     
  • 9.95, Аноним (94), 18:06, 28/11/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    В старине ещё ездили на телегах, спали на лавках, избы по чёрному топили, а питались тем что сами вырастили и тем, что боженька подаст. Сказать-то ты что хотел?
     
  • 5.98, КО (?), 11:17, 29/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    >любой апдейт сорцов сторонней либы

    Вы в пролете с таким правилом - сорцы были в порядке. Минифицированная версия нет. :)

     
     
  • 6.104, J.L. (?), 16:19, 04/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >>любой апдейт сорцов сторонней либы
    > Вы в пролете с таким правилом - сорцы были в порядке. Минифицированная версия нет. :)

    вообще это важное замечание
    всё ещё хуже для мантейнеров...

     
  • 2.22, Нанобот (ok), 23:03, 26/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    вот вроде бы ответ из первых уст: https://pbs.twimg.com/media/Ds8nulwXgAAd4bv.jpg
    типа чел попросил, мейнтейнеру не жалко было
     
  • 2.61, J.L. (?), 12:57, 27/11/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    а что он должен был сделать какой тест профпригодности есть для передачи или до... весь текст скрыт [показать]
     
  • 1.37, Ordu (ok), 01:06, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    Неплохо. Новый вызов опенсурцу: как поддерживать базу кода невероятного объёма, пресекая активность злодеев? Простор для генерации идей, между прочим, а возможно даже для успешных стартапов.
     
     
  • 2.46, Онаним (?), 09:00, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    У нормальных проектов, разрабатываемых по нормальным методикам, а не в виде краудсорсинга кода неизвестного происхождения, этого вызова нет. Всякие хипстерские поделки - страдают и будут страдать.
     
     
  • 3.53, Аноним (53), 11:03, 27/11/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Если проект разработан нормально он не может тянуть 10 000 зависимостей каждая и... весь текст скрыт [показать]
     
  • 3.54, Ordu (ok), 11:26, 27/11/2018 [^] [ответить]     [к модератору]  
  • –6 +/
    Нормальные методики в твоём понимании -- это разработанные дедами Откуда тако... весь текст скрыт [показать]
     
     
  • 4.56, нах (?), 12:15, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > Но так или иначе они будут вынуждены найти способ не страдать.

    переложить ответственность на никого, отличный способ не страдать.

     
     
  • 5.74, Ordu (ok), 16:05, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    >> Но так или иначе они будут вынуждены найти способ не страдать.
    > переложить ответственность на никого, отличный способ не страдать.

    Для некоторых -- да.

     
  • 4.84, Онаним (?), 20:32, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Нет, я технократ. За такие поделки надо редактор от сети отключать и аффтару, и всем "писателям", использовавшим это без ревью - пусть в стол пишут сначала, потом в паблик.
     
  • 4.105, Michael Shigorin (ok), 20:02, 07/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну не малолетками же, которые и впрямь ложку в ухо упорно несут Вы и в этом нек... весь текст скрыт [показать]
     
     
  • 5.107, Ordu (ok), 16:33, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Вы и в этом некомпетентны.

    Сказаал модератор форума школоло-эникеев. Очень убедительно вышло.

     
  • 4.106, КГБ СССР (?), 20:49, 07/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Любой действительно мыслящий человек понимает, что 171 новое 187 и 171 луч... весь текст скрыт [показать]
     
     
  • 5.108, Ordu (ok), 16:41, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Чёт тебя понесло в тривиальщину Умные мысли кончились Да-да Тут целый форум д... весь текст скрыт [показать]
     
     
  • 6.109, КГБ СССР (?), 17:22, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Я ещё не отсмеялся, прочитав пафосные рассусоливания миллениала про индивидуальн... весь текст скрыт [показать]
     
     
  • 7.110, Ordu (ok), 18:19, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Слишком сложно Книжки надо читать чаще, тогда проблем с пониманием текстов длин... весь текст скрыт [показать]
     
     
  • 8.111, КГБ СССР (?), 19:32, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Феерический невежда. Ещё и хам и графоман. :-)
     
     
  • 9.112, Ordu (ok), 20:07, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Феерический невежда. Ещё и хам и графоман. :-)

    Ты так говоришь, будто только сейчас это понял. Тупой что ли?

     
  • 9.113, Ordu (ok), 20:58, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Кстати обо всех этих эвристиках и байесах, как всегда как на заказ напоролся тут... весь текст скрыт [показать]
     
  • 2.47, trolleybus (?), 09:31, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Как обычно - ревьювить все пул-реквесты, не мержить что попало. А комитить в мастер-ветку разрешить только хозяевам репозитория.
     
     
  • 3.63, J.L. (?), 13:05, 27/11/2018 [^] [ответить]     [к модератору]  
  • +/
    и что вы сделаете с пулреквестом добавляющим зависимость от либы делающей нужно... весь текст скрыт [показать]
     
     
  • 4.77, КО (?), 16:59, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Да каждый ответить, что либа которая делает "непонятно-что", но у которой есть тесты, в разы лучше той, у которой их нет, что уж говорить про велосипед...
     
  • 2.48, Аноним (48), 10:05, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > для успешных стартапов.

    пилите антивирус для сабжа ;)

     
  • 2.51, пох (?), 10:30, 27/11/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    "успешный стартап" только что намайнил/свистнул чужие пару десятков btc, и еще сопрет. Нафига тут что-то строить, когда гораздо проще и интереснее ломать, а прибыль выше?

     
     ....нить скрыта, показать (20)

  • 1.39, Аноним (39), 03:56, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    https://ru.wikipedia.org/wiki/Предотвращение_утечек_информации
     
     
  • 2.65, J.L. (?), 13:07, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > https://ru.wikipedia.org/wiki/Предотвращение_утечек_информации

    а в реальности оно работает никак
    или вы сидите в закрытом ящике и пишете целиком свою Ось, и это должна быть явно не ОС МСВС

     
  • 1.43, svsd_val (ok), 05:58, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Это мне напомнило старую статейку на хабре:
    https://habr.com/company/ruvds/blog/346442/
     
     
  • 2.50, Аноним (48), 10:30, 27/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    веб уже ничто не спасет
     
  • 1.58, J.L. (?), 12:29, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    как же так? видь это же репозиторий у которого есть мантейнеры!!! как же такое могло произойти???

    хотя ладно, тут либа ломает приложение которое зависит от этой самой либы, я вот не знаю как в лине от такого защищаться и можно ли вообще?

     
  • 1.71, Аноним (71), 13:44, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > около 2 миллионов копий которой еженедельно загружается из репозитория NPM

    Кто все эти люди?

     
     
  • 2.73, НяшМяш (ok), 14:37, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Так это не люди. Там зависимость на зависимости с зависимостью. Ты мог сделать npm install webfignya, а у тебя один пакет скачался 20 раз, потому что он в зависимостях у 30 пакетов.
     
  • 1.75, Аноним (75), 16:49, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    На зависимостях из NPM можно классный ботнет соорудить.
     
  • 1.76, ыы (?), 16:57, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а есть там пакет у которого в зависимостях "все" ?
     
     
  • 2.99, КО (?), 11:19, 29/11/2018 [^] [ответить]    [к модератору]  
  • +/
    его еще не плохо было бы впропихнуть в зависимость ко всему. :)
     
  • 1.78, Аноним (78), 17:24, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    VSCode зависит от event-stream. Если ваш мейнтенер (или вы) собрал его с зараженной версией либы, то пропали ваши коины. Нормальненько так.
     
     
  • 2.82, пох (?), 20:12, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > VSCode зависит от event-stream

    бггг.

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

     
     
  • 3.85, Онаним (?), 20:34, 27/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > крановщик же не хранит свою заначку от жены в кабине крана на стройке где работает

    А вот тут дедка надвое сказала. Которая была бы бабкой при определённых условиях, конечно, но не сложилось.

     
  • 1.86, OldFart (?), 20:58, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    DLL hell, version 2.0

    "Умные учатся на чужих ошибках, простые люди на своих и только дураки никогда ничему не учаться..." (c) 0001 Народная мудрость.

     
     
  • 2.89, Ananim (?), 08:54, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Тебе бы не мешало поучиться русскому языку.
     
     
  • 3.92, OldFart (?), 17:02, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Так я с ним родился, с русским, куда еще больше учить... ну а на счет typos, sorry...
     
  • 2.90, Аноним (90), 09:03, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    DLL hell
    это вообще про конфликт зависимостей, ник не оправдали если даже такое не знаете
     
     
  • 3.93, OldFart (?), 17:07, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Название темы: "Бэкдор в зависимости", отсюда версия 2 :) раньше конфликт, теперь backdoors. А сарказм от того, что терпеть не могу зависимостей, что в жизни , что в soft-e ...
     
  • 1.96, Попугай Кеша (?), 09:44, 29/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Интересный тут ср@ч развели, конечно. Но речь вот о чем. Веб-приложения на Node, либо на браузере обычно тянут сотни зависимостей.

    Если условно выбрать какую-то версию и зафризиться на ней (но все сторонние компоненты проверить), то есть шанс потом вообще никуда не обновиться. Другой вопрос - а надо ли? Иногда проще с нуля все переписать.

    Вообще в университете физик говорил: "Парни, запомните! Чем больше зависимостей - тем меньше степеней свободы )".

    Вот и получается, что по-хорошему надо этих самых зависимостей делать меньше. Потому что их надо: a) проверять, б) апдейтить, в) следить, чтобы ничего не сломалось. А на поддержку всего этого тратится уйма времени.

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

    Это как с AppStore от Apple и их системой модерации, или PlayMarket от Google. Где меньше порядка и слабее модерация - больше вирусни.

    В общем и целом, да, надо следить за сторонними изменениями, либо же делать свой NPM c блекджеком и репозиториями

     
     
  • 2.100, Аноним (100), 11:50, 29/11/2018 [^] [ответить]     [к модератору]  
  • +/
    Корень еще в том, что вендоры библиотек не заботятся о выпуске стабильных релизо... весь текст скрыт [показать]
     
     
  • 3.101, Попугай Кеша (?), 12:04, 29/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > Корень еще в том, что вендоры библиотек не заботятся о выпуске стабильных
    > релизов, а считают, что все можно поправить, закоммитив в мастер на
    > следующий день быстрофикс.
    > Просто надо настроить себя не рваться за большим колисчеством и свежестью 3rd-party
    > либ для своего проекта. Взял либу - так и сиди на
    > ней. Что касается безопасности, то дыр в ней, как мы видим
    > наглядно, меньше, если её не обновлять.

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

     
  • 1.103, Aqueelone (?), 12:57, 03/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    NPM? ...да здравствует YARN... (https://yarnpkg.com/lang/en/)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor