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 +/
    > Откуда такое неверие в будущее и преклонение перед прошлым?

    Любой действительно мыслящий человек понимает, что «новое» и «лучшее» — не синонимы.

    Всякое «новое» обязано доказать своё преимущество над уже существующими вещами.

     
     
  • 5.108, Ordu (ok), 16:41, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >> Откуда такое неверие в будущее и преклонение перед прошлым?
    > Любой действительно мыслящий человек понимает, что «новое» и «лучшее» —
    > не синонимы.

    Чёт тебя понесло в тривиальщину. Умные мысли кончились?

    > Всякое «новое» обязано доказать своё преимущество над уже существующими вещами.

    Да-да. Тут целый форум дeбилoв, которые сидят и ждут, когда им что-то там докажут. Они искренне уверены, что кто-то обязан им что-то доказать. Я несколько лет наблюдал, думал, может они не столь тупы как кажутся, может дождутся когда-нибудь. Но не, априорные оценки оказались верны, шансов у них ноль.

     
     
  • 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 [^] [ответить]    [к модератору]  
  • +/
    > Феерический невежда. Ещё и хам и графоман. :-)

    Кстати обо всех этих эвристиках и байесах, как всегда как на заказ напоролся тут на ссылку: https://www.visualcapitalist.com/24-cognitive-biases-warping-reality/

    Первая половина из этих 24 байесов -- это сплошные мемы, которые известны любому, кто хоть раз задумался о том, что такое когнитивное искажение и спросил у гугла. Я полагаю, что любой человек, кто провёл в интернете 5+ лет слышал про каждый из них хотя бы раз. Хотя, это моё суждение основано на aviability heuristic, то есть просто я на них натыкаюсь регулярно. Вторая половина, на мой взгляд, менее меметична, но если тебе приходилось читать Thinking, Fast and Slow, то часть из них ты признаешь обязательно, ту же aviability heuristic, например.

    То есть, если ты не хочешь выглядеть дилетантом, переоценивающим свои познания, то лучше не ссылаться на мемы из первой половины вообще. А в свете того, что тот же Канеман открыто признал, что порол чушь, поскольку сам оказался жертвой тех эффектов, которые описывал, и половина его эффектов не воспроизводится в экспериментах других людей, то лучше вообще не ссылаться на эти эффекты, если ты не можешь вспомнить, какого размера была выборка у исследователя, зарегистрировавшего данный эффект. Но если тебе плевать, и ты как всегда просто лепишь в кучу все слова, которые можешь вспомнить, лишь бы они при этом увязывались между собой без грубых нарушений правил грамматики и стиля, то конечно можно не париться на этот счёт.

     
  • 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, и еще сопрет. Нафига тут что-то строить, когда гораздо проще и интереснее ломать, а прибыль выше?

     
  • 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-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor