1.1, Аноним (1), 20:01, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +14 +/– |
> не уведомив разработчиков зависимых пакетов
а должен был? это же опенсорс, детка, здесь и удалить своё репо могут
| |
|
2.44, anonymous (??), 09:22, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это разработчики python должны были предусмотреть возможность фиксации зависимостей.
| |
|
3.57, нах. (?), 15:35, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
А они и предусмотрели. Но васяны с лефтпадом этой возможностью не пользуются, потому что во-первых это совершенно ненужная им затрата времени, во-вторых с новой версией лефтпада может приехать устраненная уязвимость с тем же самым успехом, в-третьих васян вовсе может не предполагал невиданного узбека своего лефтпада, использующего десять других лефтпадов, а просто пилил для себя, и не собирается переживать из-за того что ты встроил его васян-код в свой скрипт управления системой NORAD.
Такая возня с ручной фиксацией цифирек возможна только в корпоративной разработке, да и то если только под руку не толкают со сроками и фичами. (Т.е. невозможна даже и там.)
Ну и у васяна под кроватью, но кому он нужен, ломать его...
| |
|
|
1.2, Ivan_83 (ok), 20:07, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
> выявлена уязвимость (CVE-2025-27607)
В чём уязвимость то!?
Причём тут вообще какой то питон логер!?
Это проблема системы установки зависимостей самого питона допускающая атаку на цепочку поставок.
В общем репутация CVE скамеров помножается на ноль.
| |
|
2.12, Аноним (1), 21:21, 10/03/2025 [^] [^^] [^^^] [ответить]
| –8 +/– |
тебе никогда не стать фрибзд комиттером, как бы ты не старался
цве нужен для того, чтобы когда человек прочёл заафекченные версии, мог сразу понять - он скорее всего заафекчен, а вот версия Х+1, где зависимость убрали\изменили - она уже безопасна
| |
|
3.24, Ivan_83 (ok), 00:00, 11/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Чувак, мне им никогда не стать потому что я уже и не хочу давно. Да и раньше не очень сильно хотел.
А если ты навешиваешь CVE по зависимости - то тебе надо навешивать её не на одну нещастную либу а на все проекты где эта зависимость есть. Мне чото кажется таких проектов должно быть больше одного.
Но вообще, я не видел раньше чтобы CVE вешали вот так.
В том же ffmpeg да и прочих популярных либах ни раз что то находили, но никогда не приходили к проектам которые эти либы юзают.
| |
3.33, Смузихлеб забывший пароль (?), 07:47, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вне зависимости от стараний никогда не стать тем, для кого будет великой честью работать как прОклятому за бесплатно на тех кто гребёт баблоу на пожертвованиях и тратит его хз как и хз куда
О, Боги, за что такое наказание, каков же смысл жЫть дальше :)
| |
|
|
|
2.4, Ivan_83 (ok), 20:32, 10/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
Да вот так.
Смотри какой прикол: я беру пачку денег которые охота сжечь ради лулзов, открываю топ этого вашего пипа, дальше пишу авторам: куплюк ваш проект прям сегодня за $10к.
Кто то с первой сотни по любому согласится.
Дальше я туда или коммичу фигню ломающую всё, ну типа оставляю только coc.md, или пихаю майнер или грохаю репу.
А дальше ловлю лулзы с телека про то как всё везде сломалось.
Притом с случае coc.md мне и предъявить то нечего: я честно купил, дальше делаю что хочу со своим проектом.
| |
|
3.9, Аноним (9), 20:54, 10/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Подобная шляпа решается версионированием, а точнее запретом (платформы хостинга репозитария) на изменения\удаление архивных версий. Ну а что вы хотели, ваш проект зависимостями задействован в другом ПО.
Ну т.е. в кюррент "20250319_6.8.24" ты изменения писать конечно можешь, а вот подменить\удалить архив(20210101_01.1.1.) - ты уже не должен иметь прав вообще.
Вопрос лишь во времени заморозки - через день-два, или неделю.
Удивлен, если в Пипи это не реализовано. Хотя что с них взять, вечно думают в шлангах и гейтах, вместо безопасности.
| |
|
4.21, пох. (?), 23:36, 10/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> вы хотели, ваш проект зависимостями задействован в другом ПО.
DMCA takedown, и удалишь как миленький. (авторские права? Неаааа, не слышал?)
Внезапно, использование зависимостей - ответственность тех кто их использует (вот они, если хотят - могут у себя коллекционировать архивы - но никому их не показывать).
А автор имеет полное право взять и перестать предоставлять тебе исходники.
(причем в большинстве правовых систем это право - даже передать нельзя, оно неотъемлемое. Т.е. не получится повесить при входе грозную табличку "ваш код не ваш код с момента его выкладывания в нашу помойку")
| |
|
5.40, Фрол (?), 09:15, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
товарищ ну вы то должны понимать что авторские права и права на распространение - это не муж и жена, а четыре разных человека?
право идентифицировать себя, как автора произведения, оно и правда неотчуждаемое, а право на распространение, то самое копи- в копирайте - вполне себе отчуждаемое
| |
|
6.61, Ivan_83 (ok), 17:09, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так достаточно кинуть DCMA предъяву, чтобы ввели обеспечительные меры, а то что через месяц или год после судов и разборок это вернут на место - ваще пофик.
| |
|
5.41, Фрол (?), 09:19, 11/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
птушо что тебе предоставляют мит и жепль лицензии? не право считать себя Рав Моше Столлманом, например, право копировать его произведения в хвост и в гриву.
| |
|
4.23, Ivan_83 (ok), 23:55, 10/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну т.е. в кюррент "20250319_6.8.24" ты изменения писать конечно можешь, а вот подменить\удалить архив(20210101_01.1.1.) - ты уже не должен иметь прав вообще.
ШО!?
Я типа за $10к это купил (или сам написал с нуля), делаю чо хочу.
Не нравится - идите в лес и пишите там сами.
А если ты против то приедут ребята в пативэне и применят обеспечительные резиновые меры и к серверам и к их владельцам. Но скорее всего хватит и просто емыла/звонка с обещанием приехать если через 5 минут не будет готово.
| |
|
3.26, Аноним (26), 00:11, 11/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
>$10k
1. Оторван от реальности. Для тех вот авторов топовых проектов твои $10k - копейки. Пошлют далеко и надолго. И в паблик переписку выложат, просто чтобы поржать.
2. Как только ты это сделаешь ... огребёшь от платформы. Напомнить, какая корпорация взяла там на себя роль хозяина всей опенсорс экосистемы, и что она делает, когда очередной лефтпадчик наглеет?
| |
|
4.37, Жироватт (ok), 08:42, 11/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
1. Сильное заявление, доказывать его, конечно, никто не будет.
1.1. И? Постоянно такое всплывает, когда китайцы покупают расширения для браузеров.
2. ...только находясь в штатовской юрисдикции или юрисдикции их европейских вассалов. Реально, на территории ~70% всей обитаемой суши, прямо или косвенно не подпадающей под штатовские законы единственное что эта корпорация может - удалить аккаунт и заспамить тебя туповатыми полуавтоматическими письмами про "встретимся в суде", на которые просто ложится болт.
| |
4.39, нах. (?), 08:46, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это ты оторван от реальности и явно даже читать не умеешь.
Для автора очередной вот такой msgspec-python313-pre (название конечно само за себя говорит) уже удаленной нахрен из репо - очень даже не копейки. Он, небось, вообще не думал что его васяноподелка кому-то нужна может оказаться. А оно - опачки, используется кое-кем третьим, у кого 40 миллионов загрузок (и кто ему, кстати, ничего не заплатит вообще).
И таких лефтпадов слепленных на скорую руку из дерьма и... дерьма без единой палочки - полный пипи.
Потому что "для того и брали", в том и смысл существования примитивных языков с миллионами лефтпадов, что всю твою работу за тебя выполнил миллион неведомых васянов с незаконченным средним образованием.
| |
4.60, Ivan_83 (ok), 17:00, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
1. Я для того и написал взять ТОП, а потом спускатся по нему. Первые 50 наверное пошлют, а дальше остальные начнут думать и соглашатся, как бы до аукциона на понижение в итоге не дошло :)
Цель то не взять вершину топа а любой или любые проекты у которых много потребителей.
Вот указанная фигня явно была очень далеко от топа, но поломала коего кого что был выше.
2. Огребу что? Бан - дапофиг, для меня это как лишится читательского билета в мухосранске - потеря которая никак не ощущается.
| |
|
|
2.5, Аноним (5), 20:35, 10/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Там ниже по тексту обсуждение запрета удаления в контексте защиты от повторного использования: If we remove project deletion, which is just one way to prevent name reuse, we should permit orphanage or something similar.
| |
2.6, Аноним (6), 20:48, 10/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Заходил Кэп, передавал что если нельзя будет удалить, то нельзя будет и повторно зарегистрировать.
| |
|
1.7, Аноним (7), 20:51, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Уязвимости уровня "придти, вскрыть при всех, перепаять.. профит!" уже не впечатляют, пошли уязвимости "а вот если бы"...
| |
1.8, Аноним (8), 20:53, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А я не использую PyPI. Ставлю через APT и через GitHub. Уже более 10 лет. Полёт нормальный. Шах и мат, подменщики зависимостей.
cat /etc/pip.conf
[global]
no-index = true
no-deps = true
| |
|
2.11, Аноним (9), 20:56, 10/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Где тот отважный герой-мантейнер, который перепаковывает все проекты из пипи, в апт-репозитарий?
P.S. Сам я в CPAN тоже давно не заходил - все из портов ставлю.
| |
|
3.25, Аноним (26), 00:04, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Зачем все перепаковывать, если можно просто из гита ставить? pip это умеет.
| |
|
4.28, Аноним (9), 04:11, 11/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
И как это защитит от очередного васяна, который решил пакеты на гите порушить?
| |
|
5.45, Аноним (45), 09:27, 11/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Очень просто: ты ручками смотришь репозиторий перед использованием. Полная due digilence: лицензия (вы же не хотите вляпаться в GPL), pyproject.toml, далее исходники.
| |
|
6.49, нах. (?), 10:13, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> ты ручками смотришь репозиторий перед использованием
Угу, и все стопиццот зависимостей тоже. "pip это умеет!" (нет. И с точно тем же успехом ты мог бы смотреть в исходники с pypi. Но у тебя лапки и ты не умеешь кодить.)
| |
|
|
|
|
2.20, Аноним (20), 23:27, 10/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> cat /etc/pip.conf
cat: /etc/pip.conf: Нет такого файла или каталога
| |
|
1.16, Tron is Whistling (?), 22:18, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ахах, ну вот как раз то, о чём я и писал. Каждому лефтпаду - по пакету непонятно где. И все вот эти вот язычки без динамической линковки, и вся эта практика сбора монолита автоматом - вот сюда вот и приводит.
| |
|
2.34, Смузихлеб забывший пароль (?), 07:52, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
там проблема в возможности удаления пакетов, которые уже могут быть в зависимостях
Либо запретить удаление пакетов( что очевидно. Запарился поддерживать - ну и бросай это дело. Но, что уже сделано - то остаётся )
Либо - помимо версии и названия пакета, запоминать его хеши, чтобы можно было отличить старый пакет от нового с таким же названием но иным содержанием
| |
|
3.55, Аноним (55), 13:43, 11/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
И кто будет проверять обновления сотен пакетов? Вот увидит разработчик, что после отпуска надо обновить три сотни пакетов - что он сделает?
| |
|
4.59, Смузихлеб забывший пароль (?), 16:04, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
суть вопроса неочевидна. Если блок уже есть - то он будет просто качаться безо всяких вопросов
В остальном - имеет смысл перечитать исходный коммент, в котором нет упоминаний каких-либо проверяльщиков ибо он совсем о другом
| |
|
|
|
|
2.22, пох. (?), 23:37, 10/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Как будто их создают не скриптом, чохом подбирающим любой мусор из той же самой пиписки?
| |
|
3.29, Аноним (9), 04:14, 11/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
чито бы подбирать гамно из пипи, нужно что бы были задействованы пятонячьи инструменты,
а умственно отсталых для этого в сборщиках дистрибов обычно нет.
| |
|
|
1.30, Аноним (30), 04:34, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Никогда не любил эти менеджеры пакетов в яп. Нужна библиотека - пиши сам или скачай на сайте руками. На каждую программу на таких языках приходится тянуть в систему целую помойку из зависимостей. Будто чувакам их в линуксе не хватает так они их в свой софт пихают.
| |
|
2.35, Смузихлеб забывший пароль (?), 07:53, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это если один работаешь. А если хотя бы 5-10 чел ? Каждому будешь пошагово объяснять, как конкретный добавленный пакет подключать на его стороне или в репу десятки-сотни мегабайт мусора закидывать ?
| |
|
3.36, нах. (?), 08:33, 11/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Это если один работаешь.
это если не работаешь вообще. Один или впятером - без разницы.
> Каждому будешь пошагово объяснять
это называется - собеседование. И это они тебе объясняют уровень минимального владения инструментами для работы, или идут искать другого лош.....
Проблема совершенно в другом - питон без батареек превращается в просто еще один чудовищно неудобный примитивный бейсик. (как и жабоскрипт)
А просто перекладывание миллиона зависимостей зависимостей пятого порядка себе в проект - ни от чего толком не защищает, кроме "защиты" от исправлений ошибок и может даже угроз безопасности в каждой следующей версии лефтпада.
Где гарантия что ты себе УЖЕ не троянскую версию скопировал-то?
| |
|
|
1.42, Аноним (42), 09:20, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Выявивший проблему исследователь зарегистрировал новый пакет именем msgspec-python313-pre и продемонстрировал на практике возможность выполнения кода при установке Python JSON Logger с зависимостями
Каким образом при установке зависимости выполняется код?
| |
|
2.52, Аноним (52), 10:43, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не хожу по ссылке, но по опыту предполагаю следующее.
Питоновские пакеты имеют как правило конфигурационный setup.py, в котором основные настройки приведены. Оттуда можно при желании и скрипты запускать, которые выполняются на этапе установки/конфигурации пакета. Поэтому если один пакет устанавливает какую-то зависимость, то отрабатывается и setup.py (этой зависимости). Кто-то умудрился переназначить зависимость на свой пакет со своим содержимым setup.py. Да, это дыра в безопасности, но уязвимостью это называть язык не поворачивается. Так оно и должно работать. Вот чего не должно - тянуть зависимости без оглядки.
| |
|
1.43, Аноним (43), 09:22, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Подскажите, я у Rust с их crates ситуация получается аналогичной описываемой?
| |
|
2.47, Я (??), 09:38, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
на Раст такого нет, хакеры не могут выйти за блок unsafe, да и по памяти безопасность огромная, течёт, но не переиспользуется.
| |
|
3.48, Аноним (48), 09:43, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
зачем куда-то выходить? переписываешь пакет так чтобы он запрашивал явки и пароли пользователя и сливаешь их в облако
| |
|
2.50, нах. (?), 10:16, 11/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Там чуть сложнее - надо уметь кодить, на хрусте. И при этом еще и что-то накодить чего нет в стандартной библиотеке, а она далеко не пустая. Иначе твой крейт с нулем скачиваний никому не сможет навредить.
Т.е. чисто технически ты можешь, но это уже будет не лефтпад и вот так выкрасить и выбросить тебе его будет жалко.
| |
|
1.53, Аноним (53), 11:30, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
всё делается просто - пакеты на pypi должны подписываться ключом разраба, который выкладывает. В зависимостях должен быть ключ для проверки. У каждого разраба свой ключ.
вариант номер два - сложно и мутно, но фиксировать удаление/новые пакеты с тем же именем и не давать для пакетов, которые старше нового репа, подтягивать это в зависимостях. Т.е. заставлять обновить пакет + красным плевать, что пакет пересоздан
| |
1.58, Аноним (58), 15:36, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
there is one way to do it во всей красе, ждём ещё прогрева питонистов на биткоины и бдсм для стада любитей единственных и неповторимых глобально-надёжно-питоничных решений.
| |
|