The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Бэкдор в зависимости к event-stream, популярной библиотеке к..., opennews (?), 26-Ноя-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +8 +/
Сообщение от Аноним (4), 26-Ноя-18, 22:17 
Смех смехом, но сильно ли отличаются в этом отношении от ноды другие веб-фреймворки? Куча зависимостей, которая при установке без лишних раздумий тянется из репы или с гитхаба - это намного ли безопаснее?
Ответить | Правка | Наверх | Cообщить модератору

7. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от Онаним (?), 26-Ноя-18, 22:26 
А дело не в ноде. Ручки-то - вот они, изящно изогнутые. Ревью изменений стороннего кода? Не, не слышали.
Ответить | Правка | Наверх | Cообщить модератору

9. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +2 +/
Сообщение от пох (?), 26-Ноя-18, 22:37 
каких таких "изменений"? Оно ж с самого начала там лежало.

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

Ответить | Правка | Наверх | Cообщить модератору

11. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +2 +/
Сообщение от Онаним (?), 26-Ноя-18, 22:47 
Как минимум - ревью всех изменений стороннего кода от условно-trusted версии вообще обязательно.

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

Для реально серьёзных проектов - да, ревью всего стороннего кода уровня проекта (нет, каждую 100 лет известную библиотеку нижнего уровня ревьюить не надо, это уже за 100 лет сделало коммюнити), затянутого в проект. Причём чем меньше стороннего кода, тем лучше, меньше шансов, что придётся переломать весь проект, когда аффтарам удалённой либы придёт в голову изменить её API до неузнаваемости или просто забить на поддержку.

Ответить | Правка | Наверх | Cообщить модератору

17. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +3 +/
Сообщение от пох (?), 26-Ноя-18, 23:00 
> Или вы предпочитаете вкрячивать не глядя неизвестные изменения

ну вы же уже всосали, не глядя, неизвестный код немалого объема - а теперь готовы биться за какие-то там "изменения"?

> которые сломают неизвестно что в вашем проекте

это npm, тут так принято - версия существует самая наираспоследняя, сломалось - срочно переделываем у себя, заодно ломая все что от нас стало зависимым.

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

> Причём чем меньше стороннего кода, тем лучше

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

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

P.S. и поэтому пихоновский контейнер у меня - с вручную собраными wheels (бо _egg теперь немодно). Поэтому он будет, сцуко, работать, даже через десять лет (и да, локальное зеркало репо с тем самым пихоном тоже есть). Кто знает как повторить этот фокус с composer? С npm не надо, я не настолько долбанутый.

Ответить | Правка | Наверх | Cообщить модератору

21. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:03 
> это npm, тут так принято

Дык и я о том )

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

По остальному абсолютно согласен )

Ответить | Правка | Наверх | Cообщить модератору

35. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Василий Топоровemail (?), 26-Ноя-18, 23:33 
>Кто знает как повторить этот фокус с composer?

Если я вас правильно понял, то нужно скопировать модуль к себе, жестко заморозить зависимость версии и тянуть возможные изменения этого кода только после обновления модуля у себя в репозитории "руками". Если это так, то нужно поднять свой https://getcomposer.org/doc/articles/handling-private-packag... и указать в composer.json конкретные версии оттуда.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

49. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от пох (?), 27-Ноя-18, 10:27 
> Если я вас правильно понял, то нужно скопировать модуль к себе, жестко заморозить зависимость
> версии

причем не зная заранее, ни какая версия сегодня модно, ни тем более - что еще он притащит за собой.
(а он притащит, раз использует composer - значит можно быть уверенным, что в зависимостях примерно "весь интернет")

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

сломается - ставим задачу разработчикам "срочно почините". Для того и понабрали...

Ответить | Правка | Наверх | Cообщить модератору

36. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +4 +/
Сообщение от Аноним (36), 26-Ноя-18, 23:39 
> плата за "простоту" языка - геморрой с элементарнейшими операциями, которые приходится отдельным модулем оформлять.

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

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

88. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от пох (?), 27-Ноя-18, 23:00 
который из трех...ой, нет, уже четырех установленных?

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

Ответить | Правка | Наверх | Cообщить модератору

91. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Аноним (36), 28-Ноя-18, 09:24 
Справедливости ради и leftpad не нужен, т.к. есть нативный метод String.prototype.padStart
Ответить | Правка | Наверх | Cообщить модератору

59. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от J.L. (?), 27-Ноя-18, 12:43 
> P.S. и поэтому пихоновский контейнер у меня - с вручную собраными wheels
> (бо _egg теперь немодно). Поэтому он будет, сцуко, работать, даже через
> десять лет (и да, локальное зеркало репо с тем самым пихоном
> тоже есть). Кто знает как повторить этот фокус с composer? С
> npm не надо, я не настолько долбанутый.

а баги в чужих либах вы как фиксите? или у вас zip.so написан через libgodallknown?

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

80. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от пох (?), 27-Ноя-18, 20:04 
никак, если либа принята в продакшн - она прошла тестирование, в том виде, в котором мы ее используем - значит, скорее всего, если там и есть баги - в сочетании с нашими число их четно, и у нас они не проявляются или костыликом подперты.

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

Ответить | Правка | Наверх | Cообщить модератору

18. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:01 
И нет - юнит-тестами вы все возможные комбинации звездецов в сторонних либах не покроете. Только комбинация теоретического ревью и актуальных тестов.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

24. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от пох (?), 26-Ноя-18, 23:04 
конечно нет. И потом - нахрена мне юнит-тесты ЧУЖИХ либ ? Я их не для того подключал, чтоб за авторами горшок выносить. В смысле - ну даже написал, потратив больше времени чем всю либу написать с нуля, ну оно сфейлилось, и что делать будим ? Пойдем чинить апстрим? А нам оно вообще надо? Может мы его в этой позе и использовать-то не собираемся.
Свои, использующие чужое, могут быть юнит-тестами и покрыты - но заведомую диверсию, как тут, они не выявят.
Ответить | Правка | Наверх | Cообщить модератору

29. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:08 
Угу, я именно про юнит-тесты собственных модулей, завязанных на чужие либы.
В либе что-то кромсают, и не факт, что это под тесты влетит.
Ответить | Правка | Наверх | Cообщить модератору

20. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +5 +/
Сообщение от Crazy Alex (ok), 26-Ноя-18, 23:01 
Да никто не ревьюит второй уровень вложенности. То, что непосредственно проект тянет - да, но то, что ниже - очень вряд ли.

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

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

23. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:03 
Хера себе. То есть можно горе-деплоерам rm -rf / подтянуть в комплекте, и они не заметят? Красиво )
Ответить | Правка | Наверх | Cообщить модератору

26. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +3 +/
Сообщение от пох (?), 26-Ноя-18, 23:05 
так вот, только ж что и...
(спалили, правда, но это скорее случайность)
Ответить | Правка | Наверх | Cообщить модератору

30. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:09 
Да уж, сколько там ещё такого добра, остаётся только гадать.
Ответить | Правка | Наверх | Cообщить модератору

57. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от КО (?), 27-Ноя-18, 12:16 
>Как минимум - ревью всех изменений стороннего кода от условно-trusted версии вообще обязательно.

Но есть ньюанс, хорошее ревью кода обходится дороже написания кода. :)
А поверхностное не заметит, что в зависимости от зависимости в тестовом примере (какой ревьювер за наличие тестов + не поставит? :) ) будет зашит майнер.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

16. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от Онаним (?), 26-Ноя-18, 22:56 
И нет, с самого начала оно там не лежало.

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

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

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

19. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от пох (?), 26-Ноя-18, 23:01 
а что, не нужно было?
я -то имел в виду, что в этом самом flatmap оно лежало.

Ответить | Правка | Наверх | Cообщить модератору

27. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от Онаним (?), 26-Ноя-18, 23:05 
Ну ревью-то в любом случае выявило бы новую зависимость, к которой нужно отнестись с особым пристрастием )
Ответить | Правка | Наверх | Cообщить модератору

41. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от Аноним (41), 27-Ноя-18, 05:22 
В ноде дело. В ней невозможно программировать без установки кучи библиотек.
>Ревью изменений стороннего кода? Не, не слышали.

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

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

8. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +2 +/
Сообщение от пох (?), 26-Ноя-18, 22:33 
а причем тут - веп-фреймворки? помимо ноды (которая ни разу не веб и не фреймворк) есть еще прекрасный пихон и еще более прекрасный игого, которые к веппу только тем относятся, что современный разработчик жить не может без http(s) протокола где надо и где не надо.

> без лишних раздумий тянется из репы или с гитхаба - это намного ли безопаснее?

это вообще вчерашний день и эпоха довеба. script src=raw.​githubusercontent.​com/someshit/somemoreshit/shitcode.js  - вот как надо!
впрочем, если вы ретро-гад и пишете на пехепе, для вас есть божественный composer, ик...щас он вам накомпозирует!

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

12. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  –4 +/
Сообщение от Онаним (?), 26-Ноя-18, 22:49 
Да и композерное угрёбище в похе... то есть в пыхе - не отстаёт.
Ответить | Правка | Наверх | Cообщить модератору

67. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +/
Сообщение от RomanCh (ok), 27-Ноя-18, 13:11 
> и еще более прекрасный игого

На самом деле он реально хорош тем, что стандартного официального набора либ достаточно что бы без особой боли решить практически любую задачу уровня "мне нужен высокопроизводительный (по нынешним мерка) микронекросервис/http-демон" или чего попроще. Ну и понятно - потребление ресурсов хоть по процу хоть по памяти сильно более хорошее чем у какого-нить пыхтона. Если вы готовы в нём писать вычислительные задачи только лишь стандартными операторами (бинарные сдвиги, И/ИЛИ/НЕ и арифметика) работая над байтиками, то производительность его ровно такая же как у С. Хотя памяти безусловно сожрёт побольше, но далеко не как пыхтон. А ещё в нём можно брать и впиливать вставки кода прямо на С, не применяя какие-то особые костыли. На мой взгляд это прекрасная фича которая позволяет решать вопросы работы с ОС если нужных инструментов не нашлось в стандартных либах.

Минус - размер бинаря в который "собрано всё что нужно", это на мой взгляд вообще шаг назад в развитии технологий. И к сожалению выражается он не только в go.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

81. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от пох (?), 27-Ноя-18, 20:09 
> На самом деле он реально хорош тем, что стандартного официального набора либ достаточно

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

> Минус - размер бинаря в который "собрано всё что нужно", это на мой взгляд вообще шаг назад
> в развитии технологий.

хм, учитывая "все что нужно" (и то что там по сути go-версии всего содержимого /usr/lib) - размер как раз весьма небольшой.
Но вот про shared libraries да, можно забыть на данном этапе "развития технологий".

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

Ответить | Правка | Наверх | Cообщить модератору

83. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  +1 +/
Сообщение от RomanCh (ok), 27-Ноя-18, 20:26 
> вопрос тогда, что считать "стандартным набором" - вот все вот это, что оно понатащило в хомяк, оно ж вполне "официальное", только вот написано хз кем хз как.

Не не, я строго про то что идёт в дефолтном архиве с компилером. Т.е. то что было до начала всяких там go get ...
Ибо последнее - это действительно тот же leftpad можно получить.

> Но вот про shared libraries да, можно забыть на данном этапе "развития технологий".

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

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

https://lwn.net/Articles/330589/

Не такие уж и новые :) Уж с десяток лет будет. По нынешним меркам - почти динозавр. И оно как-то даже работает, если ручки подкрутить что бы проц не выжирало. Но конечно то ещё костылище.

Ответить | Правка | Наверх | Cообщить модератору

87. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  –1 +/
Сообщение от Аноним (87), 27-Ноя-18, 22:35 
>script src=raw.​githubusercontent.​com/someshit/somemoreshit/shitcode.js  - вот как надо!  

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

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

97. "Бэкдор в зависимости к event-stream, популярной библиотеке к..."  –1 +/
Сообщение от КО (?), 29-Ноя-18, 11:15 
>Смех смехом, но сильно ли отличаются в этом отношении от ноды другие веб-фреймворки?

Да что там фреймворки - не каждый коммерческий Линукс озаботился доказательной базой, что бинарный пакет собран именно из сырцов, которые выложены на публику. Что требовать от npm?

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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