|
|
3.180, ЧешкиЧехова (?), 19:07, 11/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +4 +/– |
ЛапкоКодеры импортируют на лету непроверенное гавно из внешних источников в прод рантайм.
Так вообще можно было сразу форму отправки для загрузки произвольного крипта сделать и повесить на главную, механика даже не уровня xss.
Виток "Кнута-Смузи":
1
Тяжёлые времена
рождают сильных кодеров.
2
Сильные кодеры
ролждают либы и фреймворки.
3
Фреймворки и либы
рождают слабых кодеров.
4
Слабые кодеры
рождают тяжёлые времена.
Мы где то в середине 4ой стадии. А все умы идут в децентрализацию, trust computing и прочие умные модели, чтобы закрыть эпоху смузихлебов танцующих дырявую Тьюринг машину.
| |
|
|
5.198, Аноним (-), 08:14, 14/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +2 +/– |
> давайте тогда делать вебсайты без этих ваших фреймворков и MVC, будем складывать
> все в условный index.php, чтобы чувствовать себя сильными кодерами
ЧСХ пока так делали - работало явно лучше. Во всяком случае, гиг RAM на рендер не жрало и не грузилось по 5 минут, даже несмотря на тормозные диалапы с GPRS и ADSL-ями.
| |
|
|
|
2.48, Аноним (48), 13:08, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +7 +/– |
Правильно, если у тебя в большом проекте 1 000 000 однострочников и ты использовал этот проект как платформу для 1000 других проектов, то весь код между проектами нужно копировать. И не в коем случае не использовать менеджеры зависимости! И когда ты фиксишь например 100 функций-однострочников в одном проекте, то все их вручную нужно копировать в 100 других проектов. Гениально, надо продвигать эту идею в массы.
| |
|
|
|
3.49, Аноним (48), 13:12, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
Я не тот анон, но там написано "в других системах, таких как..." и дальше приводится пример (именно пример, а не весь список!!!) систем "таких как". То есть из текста следует, что проблеме может быть подвержен любой менеджер зависимостей даже если он не перечислен в данной статье.
| |
|
2.30, cheater (?), 12:03, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +5 +/– |
Не раста, а cargo.
Именно эта не касается, тк. зависимости качаются по дефолту с crates.io, если явно не сказано иное.
Проблемам компрометации пакетов cargo подвержен так же как и все остальные, например если указать в конфиге Cargo.toml version ">=0.2" то никто не мешает скомпрометировать v0.3 в репозитории
| |
|
3.32, Аноним (5), 12:09, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
Да, это проблема и не только cargo, но и всего раста, потому что все используют cargo. В общем, недостатки - это продолжение достоинств. Хотелось бы, чтобы появилась полноценная возможность опираться в пакетах (крейтах) только на то, что идет с самим дистрибутивом линукса, не компрометируя себя связями с единственным иностранным внешним репозиторием. Обычно всем пофиг на это, но есть области программирования, где совсем не пофиг. Короче, исходная тема новости лишний говорит, что бесплатного сыра [в мышеловке] не бывает.
| |
|
|
|
6.68, Аноним (68), 13:38, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
В уже скомпилированном состоянии он будет содержать крейты в себе.
Раст все растовые (в т.ч. удаленные крейты) зависимости вкомпиливает статически. В нем нет динамической линковки, поскольку нет стабильно ABI https://github.com/rust-lang/rfcs/issues/600 . Динамическая линковка доступна только при FFI (с либами, написанными на других языках)
Лично мне это нравится благодаря достигаемой скорости исполнения при использовании LTO. Понимаю тех, у кого места на диске мало. Или кому нужно множество связанных раст-процессов запускать.
| |
|
|
|
7.146, Аноним (5), 19:53, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
Даже если сделать "cargo vendor", то изначально все равно крейты попадут в локальное хранилище (подкаталог проекта) из ненадежного сайта crates.io, т.е. такие крейты не будут вызывать доверия. Я же предпочел бы, чтобы крейты брались из дистрибутива линукса. Точнее, мне самому это не так важно, а важно то, что такое требование могут выставить потенциальные заказчики - к гадалке не ходи!
| |
|
|
|
|
|
|
1.11, Lex (??), 11:20, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> Проблема в том, что пакетные менеджеры, такие как npm .. пытаются загрузить внутренние зависимости компаний в том числе и из публичных репозиториев
Они что, объявляли их просто как пакеты, а не ссылкой на каталог/файл типа file:// или ссылки на конкретную гитОвую репу типа git://github.com/<user>/<project>.git#<branch> !?
-Если так, то руководителей отделов разработки тех контор надо гнать сс.ными тряпками, поскольку в противном случае пакет вообще почти откуда угодно может стягиваться даже просто ввиду случайного совпадения имен
| |
|
2.26, Аноним (24), 11:55, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
> как исследователь случайно обратил внимание, что в публикуемом на GitHub общедоступном коде многие компании не очищают из manifest-файлов упоминание дополнительных зависимостей, применяемых во внутренних проектах или при реализации расширенной функциональности.
А если кто то забудет там пароли ?
| |
|
|
2.86, JL2001 (ok), 14:21, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Я тоже немного офигел когда приватные пакеты искались на nuget.org
> Самый очевидный но не самый простой способ на мой взгляд это юзать
> что-то типа Sonatype Nexus и проксировать nuget.org... полностью убрав nuget.org из
> списка источников.
а Nexus не накачает с nuget.org более новых версий, чем локальные??
| |
|
3.103, kissmyass (?), 15:09, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
>> Я тоже немного офигел когда приватные пакеты искались на nuget.org
>> Самый очевидный но не самый простой способ на мой взгляд это юзать
>> что-то типа Sonatype Nexus и проксировать nuget.org... полностью убрав nuget.org из
>> списка источников.
> а Nexus не накачает с nuget.org более новых версий, чем локальные??
Насколько я знаю, там надо апрувить пакеты на кеширование.
Если пакета нет, то пофик какой версии его нет )))
Он заберется из приватной репы.
| |
|
4.109, JL2001 (ok), 15:55, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
>>> Я тоже немного офигел когда приватные пакеты искались на nuget.org
>>> Самый очевидный но не самый простой способ на мой взгляд это юзать
>>> что-то типа Sonatype Nexus и проксировать nuget.org... полностью убрав nuget.org из
>>> списка источников.
>> а Nexus не накачает с nuget.org более новых версий, чем локальные??
> Насколько я знаю, там надо апрувить пакеты на кеширование.
> Если пакета нет, то пофик какой версии его нет )))
> Он заберется из приватной репы.
возможно от настроек зависит, наш выкачивает автоматом
| |
|
|
|
1.42, Аноним (42), 12:54, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
>многие компании не очищают из manifest-файлов упоминание дополнительных зависимостей
Защита методом "безопасность через неясность" - говно.
В нормальных компаниях просто с публичных репозиториев ничего не ставится. Ставится со своего, все чужие пакеты в котором проверены службой безопасности.
| |
|
2.44, Dzen Python (ok), 12:58, 10/02/2021 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –2 +/– |
В нормальных компаниях к тому моменту, когда они выкладывают код/имеют зрелый продукт на руках уже есть набор нормальных опенсорцных .so'шников ИЛИ свой набор отлаженных, оптимизированных homebrew-либ. Ни или в сама крайнем случае - нормальная купленная библитека на внутреннем сервере. А не набор васянских лефтпадов из NPM
| |
|
3.106, www2 (??), 15:33, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
Пользователи Windows, скачавшие её с торрентов у Васяна и потом качающие на неё софт с кряками по первой ссылке из поиска - вот настоящие эльфы и наркоманы.
Самые серьёзные люди используют списки контроля доступа, системны мандатного доступа и сертифицированные операционные системы, поставить на которые обновлённый пакет - значит лишиться сертификации.
Новость тут в том, что даже качая из официального источника, проверяя хэш-суммы и цифровые подписи скачанного, можно всё равно нарваться на подлог из-за неправильно выставленных (или не выставленных вовсе) приоритетов источников.
| |
|
|
1.45, Gogi (??), 13:02, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +2 +/– |
Этот случай только лишний раз доказывает ущербность идеи "автоматических пакетов". Сеть априори считается ОПАСНЫМ местом. А вы оттуда тягаете пакеты на автомате и надеетесь, что хакеры это пропустят?? :)
Я уже несколько лет выступаю против нюГетов и подобных rовноподелий - им не место в продакшене! Для самопальных перделок - ради бога, но где идёт коммерческое ПО - сразу вон поганой метлой!
| |
|
2.89, JL2001 (ok), 14:28, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
> Этот случай только лишний раз доказывает ущербность идеи "автоматических пакетов". Сеть
> априори считается ОПАСНЫМ местом. А вы оттуда тягаете пакеты на автомате
> и надеетесь, что хакеры это пропустят?? :)
> Я уже несколько лет выступаю против нюГетов и подобных rовноподелий - им
> не место в продакшене! Для самопальных перделок - ради бога, но
> где идёт коммерческое ПО - сразу вон поганой метлой!
а линуксы в продакшене ты как обновляешь, братюнь?
зы: какова ответственность редхата за появление в его репозитории дырявого или протрояненого самим автором программы пакета?
| |
|
3.115, An O Nim (?), 16:24, 10/02/2021 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –2 +/– |
Редхат как раз и есть внутренние штатные репо самого дистра RHE Линукс. Репы RHEL как раз внутренние репо самого RHEL.
А вот бездумное добавление в yum-dnf.conf реп третьих сторон даст уязвимость как в новости. И некоторые и так тоже делают... Всякие там PPA репо и прочие с хабров и т.п. "авторитетных" площадок.
Шапкины репы - внутренние для Шапки. Тут-то очень всё норм.
| |
|
4.133, JL2001 (ok), 18:24, 10/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Редхат как раз и есть внутренние штатные репо самого дистра RHE Линукс.
> Репы RHEL как раз внутренние репо самого RHEL.
> А вот бездумное добавление в yum-dnf.conf реп третьих сторон даст уязвимость как
> в новости. И некоторые и так тоже делают... Всякие там PPA
> репо и прочие с хабров и т.п. "авторитетных" площадок.
> Шапкины репы - внутренние для Шапки. Тут-то очень всё норм.
я купил суппорт редхата, подключил их репы, автор оченьНужнойПрограммы обсфурцировал трояна в обновлении (крызыс, все выживают, как могут), оно попало в редхатовские репы, я обновился, меня хакнули
какую ответственность несёт редхат?
| |
|
|
6.163, JL2001 (ok), 02:20, 11/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> В теории ментейнер пакетов это не просто человек-компилятор, а ещё и в
> код смотрит и правит перед компиляцией если нужно. Хотя я почти
> уверен, что у красной шляпы соглашение написано не хуже чем у
> MS.
это то понятненько, что смотрит (в теории)
но вот сейчас у меня вопрос - какая ответственность прописана у редхата/оракла/итд если их мантейнер не смог рассмотреть если пришедший пакет повлёк денежный, репутационный, моральный ущерб
| |
|
|
|
3.124, пох. (?), 17:50, 10/02/2021 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> зы: какова ответственность редхата за появление в его репозитории дырявого или протрояненого
> самим автором программы пакета?
ну раздавал же редхат непонятно кем и как модифицированный (и, что характерно - подписанный) ceph - и ничего, никто не пострадал.
Причем, кажется, так и не выяснилось, что это было и что случилось у тех кто успел савтоапгрейдиться.
Ну да, редхат врал что я не я, корова не моя, и вообще это другой, неправильный редхат сделал.
А разбор инцидента, по-моему, так и зажал.
| |
|
|
1.66, JL2001 (ok), 13:36, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –2 +/– |
> добавив в скрипт, запускаемый перед началом установки (preinstall в NPM), код для сбора информации о системе и отправки полученных сведений на внешний хост
pred/post-install запускать от рута, говорили они, ничего не будет, всегда так делали, говорили они
ей, пацаны с репозиториями, вас там ещё не во все дыры?
мантейнеры успевают все патчи мониторить, или как с Kubernetes - напихали с гита в пакет, и всё отлично?
| |
1.83, Аноним (74), 14:07, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +4 +/– |
Для пистона это норма. Даже прожекты с мегатоннами звест на гитхубе, имеют мегатонны же проблем с зависимостями и всякого дерьма в своем составе. npm уже вообще что-то вроде мема. Go ждёт такое же будущее ибо язык рассчитан на идиотов. Это не значит что на нём пишут токма дураки, но даун-френдли политика, не доводит до добра.
| |
|
|
|
4.187, Стереопаштет (?), 06:10, 12/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
Проблема не в навыках, а в том что рынку нужно быстро и дешево. За идеальных сферических коней в вакууме никто не собирается платить. И если ты предложишь бизнесу писать велосипеды с нуля или перепроверять каждую версию каждой зависимости - на тебя как минимум посмотрят как на сумасшедшего. Либо ты находишь балланс между затратами-сесурити-скоростью разработки-багами-фичами, либо идешь ночевать под мостом (зато ты гордый и правильный! Не смузихлеб и не девляпс.).
| |
|
|
|
1.105, Erley (ok), 15:23, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +4 +/– |
Странно что никто не озадачился проверкой базовых образов на которых собираются докер-контейнеры. Часто вижу как люди там используют какие-то мутные сборки убунты и тп. Вот где раздолье для хакеров!
Если уж качать бинарник из веба, то из проверенного источника и с проверкой подписи/хэша хотя бы.
| |
|
|
|
4.179, JL2001 (ok), 18:45, 11/02/2021 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Есть лучше вариант — пинить версии пакетов (и всех зависимостей конечно) и
> умеют это чуть менее чем все современные менеджеры пакетов скриптовых языков.
у меня есть проект-либа и 100500 зависящих от неё проектов
я апаю версию либы и должен собрать релиз из 100500 проектов для глобального предпрод-тестирования
мне пойти и в каждом из них прописать "теперь я завишу от версии либы +1" ?
| |
|
|
|
|