![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"PyPI приостановил регистрацию новых пользователей и проектов из-за всплеска вредоносных публикаций" | +/– | ![]() |
Сообщение от opennews (??), 29-Мрт-24, 12:56 | ||
Репозиторий Python-пакетов PyPI (Python Package Index) временно запретил регистрацию новых пользователей и создание новых проектов из-за непрекращающейся массовой загрузки вредоносных пакетов в ходе автоматизированной атаки. Блокировка была введена после того, как 26 и 27 марта в репозиторий было загружено 566 пакетов с вредоносным кодом, стилизованных под 16 популярных Python-библиотек... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
5. Сообщение от Аноним (5), 29-Мрт-24, 13:25 | +5 +/– | ![]() |
На самом деле, утомительно по 10 раз перепроверять, что вон тот васянопакет на самом деле настояший васянопакет, и вовсе не соседний, поддельный с малварью. И Snyk тут не всегда поможет (да и сам он выглядит, как скам). | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #20 |
7. Сообщение от Аноним (7), 29-Мрт-24, 13:26 | –1 +/– | ![]() |
Адекватные люди ставят все pure-python пакеты исключительно из исходников, бинарные - по возможности из дистра, по возможности - компилируют сами. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #8, #9, #28, #33 |
8. Сообщение от Аноним (8), 29-Мрт-24, 13:36 | +1 +/– | ![]() |
А как отличить правильный исходник от «немножко изменённого»? У бинарника хотя бы чексумма есть... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 Ответы: #31, #42 |
9. Сообщение от Аноним (5), 29-Мрт-24, 13:38 | +/– | ![]() |
Смотри, перечень пакетов со сборкой которых возникли сложности лично у меня только на той неделе. Каковы будут дальнейшие рекомендации? О, я бы сейчас с удовольствием предоставил ещё и гигабайты максимально мутных логов, но так, навскидку? И чёт почти ничего в репах и не водится. А если и есть, то протухшее и неактуальное. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 Ответы: #10, #30, #41 |
10. Сообщение от Аноним (10), 29-Мрт-24, 14:03 | +/– | ![]() |
Читай маны | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #12 |
12. Сообщение от Аноним (5), 29-Мрт-24, 14:15 | +/– | ![]() |
Ты не понял. Тысячи пакетов я скомпилировал, включая все используемые пакеты в pypi. Кроме этих. А эти ну никак не компилируются. Дальнейшие действия? В итоге, есть только блобы в pypi и больше ничего. И игры с тулчейнами тоже ни к чему не приводят. Какой вообще смысл их компилировать разработчику? Правильно, никакого. А пользователи могут взять ровно те же общедоступные блобы, собранные в непонятных условиях. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #10 Ответы: #32 |
20. Сообщение от Аноним (20), 29-Мрт-24, 16:00 | +/– | ![]() |
Хоть как-то у себя поддерживать базу доверительных публичных ключей: https://packages.gentoo.org/categories/sec-keys и верифицмровать ключи разрабов по WOT. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 Ответы: #43 |
28. Сообщение от БуБука (?), 29-Мрт-24, 16:34 | +/– | ![]() |
А какой не является? Можно список с аргументами? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 |
29. Сообщение от Alladin (?), 29-Мрт-24, 17:08 | +5 +/– | ![]() |
Как можно из 16 пакетов сделать 566, кажись это очень эффективные менеджеры:) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
30. Сообщение от Аноним (30), 29-Мрт-24, 17:31 | +1 +/– | ![]() |
>tensotflow | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #34 |
31. Сообщение от Аноним (31), 29-Мрт-24, 17:36 | +/– | ![]() |
Вот бинарник от подправленного ты никак не отличишь - злоумышленник и сумму пересчитает, и ключом своим подпишет, и ссылку на ключ на свою заменит. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 |
32. Сообщение от Аноним (31), 29-Мрт-24, 17:37 | +/– | ![]() |
Не из pypi надо кшмпилить, а с гитхаба. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 |
33. Сообщение от Пряник (?), 29-Мрт-24, 17:37 | +/– | ![]() |
Много ли ты видел pure-python пакетов? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 Ответы: #37 |
34. Сообщение от Аноним (5), 29-Мрт-24, 17:38 | +/– | ![]() |
Это 1 spacy и его зависимости на самом деле. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #30 Ответы: #36 |
35. Сообщение от Пряник (?), 29-Мрт-24, 17:43 | +1 +/– | ![]() |
И куда он отправляет пароли? Давайте уже вычислим по IP этого мамкиного шалунишку. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #45, #54 |
36. Сообщение от Аноним (36), 29-Мрт-24, 17:48 | +/– | ![]() |
Я себе просто отключил проверку зависимостей в pip. Доустанавливаю если что-то не работает вне зависимости от того, что записано в METADATA. И такое гигантское дерьмо приходится ставить из бинарных пакетов. Ручками. Из исходников ставлю всякую мелочь вроде colorama, setultools, pip, etc. И если учитывать зависимости, то у самого TensorFlow дофига бинарных зависимостей. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #34 |
37. Сообщение от Аноним (36), 29-Мрт-24, 17:52 | –1 +/– | ![]() |
Более сотни - это лишь те, что я полностью сам написал, без учёта превосходящего вклада в чужие пакеты, большая часть из которых pure python. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #33 Ответы: #38 |
38. Сообщение от Аноним (36), 29-Мрт-24, 17:56 | +/– | ![]() |
под pure python имеется в виду отсутствие компиляции cext или долботни с maturin/setuptools-rust, что пакет можно установить просто распаковкой. Это не означает отсутствие зависимостей от компонентов в native-коде, таких как сам интерпретатор, shared-библиотеки, другие пакеты, jar-файлы, .Net-сборки, ONNX-файлы и т.д. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 Ответы: #39 |
39. Сообщение от Аноним (5), 29-Мрт-24, 18:11 | +/– | ![]() |
Правда, pure python _именно это_ и означает: только интерпретируемый код, без использования нативного (компилируемого) в любом виде, за исключением интерпретатора и его стандартных бинарных компонентов. И, в частности, без таких трюков как освобождение gil на время, пока нативный код исполняется. По этой же причине, такой код является третьесортным -- он просаживается в многопотоке. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #38 Ответы: #40, #72 |
40. Сообщение от Аноним (40), 29-Мрт-24, 18:54 | +/– | ![]() |
>за исключением интерпретатора и его стандартных бинарных компонентов | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #39 Ответы: #73 |
41. Сообщение от YetAnotherOnanym (ok), 29-Мрт-24, 19:04 | –1 +/– | ![]() |
> Каковы будут дальнейшие рекомендации | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 |
42. Сообщение от Аноним (5), 29-Мрт-24, 19:53 | +/– | ![]() |
Кстати, там в дистрибутивных xz-utils малварь нашли в исходниках, вот это по-актуальнее https://bugs.gentoo.org/928134 https://www.openwall.com/lists/oss-security/2024/03/29/4 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 Ответы: #65, #66 |
43. Сообщение от Аноним (5), 29-Мрт-24, 20:04 | +2 +/– | ![]() |
А бэкдор в xz-utils ведь был подписан? Или нет? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #20 Ответы: #51 |
45. Сообщение от голос из леса (?), 29-Мрт-24, 21:19 | +/– | ![]() |
Тебе надо, сам и вычисляй (С). )) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #35 Ответы: #49 |
48. Сообщение от Аноним (48), 30-Мрт-24, 03:25 | +3 +/– | ![]() |
А нельзя сделать просто проверку на похожесть и не разрешать имена пакетов, похожие на существующие? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #57 |
49. Сообщение от Аноним (49), 30-Мрт-24, 07:14 | +/– | ![]() |
Нет, это тебе надо чтобы тут пользователь вычислил! (иначе бы комментарии не писал) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #45 Ответы: #59 |
51. Сообщение от Аноним (51), 30-Мрт-24, 09:48 | +/– | ![]() |
Говорат был подписан: "Newer releases were signed by a potentially compromised upstream maintainer." https://packages.gentoo.org/packages/app-arch/xz-utils | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #43 |
52. Сообщение от Аноним (52), 30-Мрт-24, 10:13 | –4 +/– | ![]() |
> 38 - Matplotlib | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #56 |
54. Сообщение от Аноним (54), 30-Мрт-24, 11:11 | +/– | ![]() |
>И куда он отправляет пароли? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #35 |
55. Сообщение от Вы забыли заполнить поле Name (?), 30-Мрт-24, 12:01 | +/– | ![]() |
Надо запрещать похожие названия, а вообще давно пора по умолчанию сделать username/package как схему именования, тогда злоумышленникам придётся имя пользователя делать похожим, но и его можно запретить. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #58, #62 |
56. Сообщение от Вы забыли заполнить поле Name (?), 30-Мрт-24, 12:03 | +2 +/– | ![]() |
Тёплое с мягким тебя где научили сравнивать? Или ты сам? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #52 |
57. Сообщение от Прохожий (??), 30-Мрт-24, 12:27 | +/– | ![]() |
>проверку на похожесть | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #48 Ответы: #67 |
58. Сообщение от Прохожий (??), 30-Мрт-24, 12:28 | –1 +/– | ![]() |
Во сколько символов разница должна быть, чтобы название не считать похожим? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #55 Ответы: #61, #64 |
59. Сообщение от Прохожий (??), 30-Мрт-24, 12:30 | +/– | ![]() |
Рекурсия получается | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #49 Ответы: #60 |
60. Сообщение от Прохожий (??), 30-Мрт-24, 12:33 | +/– | ![]() |
Точнее, не рекурсия, а бесконечный цикл. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #59 |
61. Сообщение от Аноним (52), 30-Мрт-24, 13:57 | –1 +/– | ![]() |
Очевидно, коллега - специалист по сравнению | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #58 |
62. Сообщение от чатжпт (?), 30-Мрт-24, 14:14 | +/– | ![]() |
> вообще давно пора по умолчанию сделать username/package | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #55 Ответы: #63 |
63. Сообщение от Вы забыли заполнить поле Name (?), 30-Мрт-24, 16:40 | +1 +/– | ![]() |
>> вообще давно пора по умолчанию сделать username/package | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #62 |
64. Сообщение от Вы забыли заполнить поле Name (?), 30-Мрт-24, 16:41 | +/– | ![]() |
> Во сколько символов разница должна быть, чтобы название не считать похожим? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #58 |
65. Сообщение от Аноним (65), 30-Мрт-24, 17:41 | +/– | ![]() |
В том то и дело, что нашли. В бинарнике бы её даже выискивать не стали. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #42 |
66. Сообщение от Аноним (66), 30-Мрт-24, 17:46 | +/– | ![]() |
И подчеркну - бэкдор был именно в релизах, которые обычно никто не смотрит, потому что все разрабы работают с git. А спалили именно на работе с другими разрабами. Если бы xz был поддерживаемым - спалили бы гораздо раньше. Но он фактически не был никому интересен. Как и bitmessage, в котором тоже был явный бэкдор, RCE, вообще никак не спрятанный - публично сообщили только после начала массовой атаки. Не пользуйтесь проектами с низким числом независимых разрабов и индикаторами мутности, или читайте и аудируйте их исходники сами. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #42 Ответы: #68 |
67.
Сообщение от 3draven![]() | +/– | ![]() |
С точностью до опечатки достаточно. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #57 |
68. Сообщение от Аноним (5), 30-Мрт-24, 19:23 | +/– | ![]() |
Неа, никто ничего не заметил за 2 месяца и растащили повсюду, в том числе по дистрам. Никто не использует гит/свн и т.д., понятное дело все берут релизный архив с исходниками, а он-то и заражён. То, что он соответствует реальным исходникам, никто не проверяет, как мы видим. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #66 Ответы: #70 |
69. Сообщение от Аноним (69), 31-Мрт-24, 11:32 | +1 +/– | ![]() |
Ну парни, кожанные мешки не могут называться программистами, если попадаются на тайпсквотинг ловушку СЕОшников. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
70. Сообщение от Аноним (70), 31-Мрт-24, 16:13 | +/– | ![]() |
Повторяю: недоумки берут архив с релизами. Просто потому, что для архива нужен просто curl, а для релиза - git + git-lfs + libcurl для фетча по http + настройка (которую можно сделать черрез переменные окружения), потому что гит откажется даже клонировать, пока никнейм и email не задашь. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #68 Ответы: #71 |
71. Сообщение от Аноним (5), 31-Мрт-24, 16:43 | +/– | ![]() |
Дело в том, что это быстрее и лучше поддаётся автоматизации. И разве люди, сношающиеся с гитхабами и их ограничениями скорости, не недоумки? Самые настоящие. Проблема не в используемых инструментах, проблема в том, что пользователям получать дерево достаточно болезненно, а если ещё разные ветки с тегами выкачивать придётся, то всё. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #70 |
72. Сообщение от Пряник (?), 01-Апр-24, 10:25 | +/– | ![]() |
Есть модуль multiprocessing. Между разными процессами GIL не используется. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #39 Ответы: #74 |
73. Сообщение от Пряник (?), 01-Апр-24, 10:30 | +/– | ![]() |
Например, Paramiko не pure-python, потому что зависит от cryptography, написанном на Си. А вот Bottle является одиночным файлом без зависимостей. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #40 |
74. Сообщение от Аноним (5), 01-Апр-24, 10:49 | +/– | ![]() |
Зато добавляются накладные расходы, IPC очень дорого и невозможно шарить конекшены допустим. Вообще, я сравнивал на примере requests, намного выгоднее быстрее удобнее и эффективнее взять aiohttp. Раньше приходилось обмазываться pycurl, но, среди прочих недостатков, он не работает с асинхронным кодом и его слишком легко засегфолтить. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #72 Ответы: #75 |
75. Сообщение от Пряник (?), 01-Апр-24, 15:05 | +/– | ![]() |
Ну так про GIL говорили же. А GIL никак не связан с однопоточной природой Asyncio. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #74 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |