[ << ALL_FEED ]

Страсти вокруг PyPI: 🪰⮕🐘?

Ещё в группе «Общее»

Страсти вокруг PyPI: 🪰⮕🐘? На прошлой неделе CNews выпустили новость: “Россиян погнали из сообщества Python. Пока только избранных, но критерии отбора до предела странные“. В ней выясняется, что Python Package Index (PyPI), крупнейшее хранилище пакетов Python, запретила регистрацию новых пользователей с указанием почты на домене inbox.ru.
В официальном заявлении сказано, что с почтовых ящиков inbox.ru пришла волна спама – пользователи с такой почтой создали 250 профилей и добавили к ним свыше полутора тысяч проектов, которые якобы «обманывают пользователей и представляют угрозу безопасности» (leading to end-user confusion, abuse of resources, and potential security issues).
Блокировка россиян в различных комьюнити — животрепещущая тема. Её процитировали и другие издания. @banksta:
Россиян изгоняют из сообщества программистов Python. Им запретили пользоваться репозиторием PyPI с пакетами для Python. Ограничения коснулись только тех, кто создает новый аккаунт с привязкой почты на inboxru и тех, кто хочет добавить такую почту в уже существующий профиль. Домен принадлежит Mailru.
@imaxairu:
Россиянам запретили пользоваться репозиторием PyPI с пакетами для Python Ограничения коснулись только тех, кто создает новый аккаунт с привязкой почты на inbox .ru и тех, кто хочет добавить такую почту в уже существующий профиль Домен принадлежит Mail .ru. На другие домены компании лимиты пока не распространяются
Команда Supply Chain Security активно сотрудничает с PyPI в области обнаружения троянов. Мы решили провалидировать, были ли действия администрации репозитория обоснованными. Даём оценку официальным заявлениям CNews ссылаются на статью в блоге PyPI, выпущенную 15 июля 2025. В ней говорится, что, руководствуясь практикой блокировки мусорных почтовых доменов, они закрывают регистрацию новых пользователей в Python Package Index с использованием почты на домене inbox.ru. Схожее решение администрация PyPI выносила и год назад, 16 июня 2024, в отношении доменов outlook.com и hotmail.com (принадлежат Microsoft) — они стали излюбленным решением для злоумышленников из-за простоты массовой регистрации доменов. Следует уточнить, что для скачивания пакетов не требуется регистрация. Учётная запись нужна для публикации своих проектов. PyPI приводит статистику:
9 июня: появилась первая учётная запись кампании.
11 июня: за 3 часа было создано 46 учётных записей.
24 июня: за 4 часа было создано 207 учётных записей.
С 26 июня по 7 июля ими было создано 1525 проектов:
2025-06-26  9
2025-06-27  295
2025-06-28  39
2025-06-29  119
2025-06-30  740
2025-07-01  249
2025-07-02  46
2025-07-10  16
2025-07-11  12Code language: plaintext (plaintext)
По нашему мнению не существует легитимного сценария, в котором одному пользователю потребуется столько учёток. Создавать большое количество проектов имеет смысл в борьбе с неймсквоттингом (на примере Яндекса), но для этого достаточно и одной учётки. Обращаем внимание на последний абзац поста на PyPI (ниже перевод):
Надеемся, что мы сможем отменить это решение в будущем, когда будем более уверены в способности этого провайдера электронной почты предотвращать злоупотребления. Если вы работаете в этом провайдере, пожалуйста, напишите нам по адресу security@pypi.org, чтобы обсудить это решение.
Давайте разберемся с кампанией. Характер кампании Изучим проекты, выпустившие свой первый релиз в рамках действия кампании 26 июня — 7 июля, захватив слева и справа дополнительное время для наглядности: с 12 июня по 15 июля. Разработчик, публикуя проект, может по желанию оставить email для обратной связи. В этот промежуток было опубликовано всего 4 пакета с явным указанием почты на @inbox.ru, все легитимные. График 1 (см. ниже) демонстрирует, принял ли решение разработчик указать email в первом релизе своего проекта. Наблюдаем: 1. Снижение общей активности разработчиков в выходные (видны двухдневные ямы, чередующиеся с пятидневными буднями). 2. Всплески пакетов без email, выпущенные 27 июня (378), 30 июня (662), 1 июля (509). Второе наблюдение соотносится со статистикой PyPI: 27 июня выпущено 295 пакетов на @inbox.ru, 30 июня — 740, 1 июля — 249, с поправкой на часовые пояса. В рамках периода активности есть 1403 проекта без email с одинаковым описанием: “Minimal package created automatically” — и версией 0.0.1 (график 2). Они совпадают с периодом активности кампании, которой были недовольны администраторы PyPI. Названия пакетов из этой пачки — явный тайпсквоттинг (атака на то, что разработчик опечатается в названии пакета при установке или поведется на хорошее название — и поставит себе троян): 🟢avoid 🐱 🟢common-io 🟢win32crypt 🟢win32com 🟢pywintypes 🟢jsap 🟢webdav2 🟢arbuzmining 🍉 🟢requirements-cpu-txt 🟢requirements-cuda-txt 🟢dl-pivot-pandas 🟢steambaselib 💀 🟢catboost-spark 🟢numpynumpy 🟢antlr4-runtime 🟢celery-telegram 🟢exllama-kernels 🟢booking-api Некоторые из названий тагретят разработчиков российских компаний: 🟢youla-spark-session 🐱 🟢ipy-kaspersky 💀 🟢vkads 🟢vkpay 🟢vkplay-sync 😺 🟢vkplay-metrics На этих названиях становится понятно, что администрация PyPI пресекла кампанию, от которой могли пострадать наши соотечественники 🥺 Оправдано ли внесение почты @inbox.ru в чёрный список? В настоящее время при создании почтового ящика на @inbox.ru требуется номер телефона или учётная запись VK. Есть упоминание, что два года назад можно было обойтись без почты. Также можно создать до 10 анонимных ящиков к своей основной почте в рамках официального функционала mail.ru. Вероятно немаловажную роль играет простота автоматизации и более простой обход эвристик на подозрительные действия, раз злоумышленник смог управлять 207 почтами в рамках 4 часов. Зарегистрированных на PyPI разработчиков, привязавших почту @inbox.ru, “репрессии” не касаются — были заблокированы только “пользователи”, участвовавшие в кампании. Нельзя создавать новые учётные записи или привязывать эти ящики к существующим аккаунтам. Подводя итог Ограничение создания новых учётных записей с использованием почты на @inbox.ru — закономерная реакция на кампанию, в рамках которой пара сотен учётных записей, зарегистрированных за короткое время, начинает творить беспредел. Почтовые домены от Microsoft также год назад попали под блокировку, это дополнительно уменьшает вероятность, что в этих действиях выражается какое-либо предвзятое отношение. Получился опенсорсный myth busters 👀 #ti #pypi #pyanalysis #scs @ptescalator

Ещё от ti_author

Ещё от ti_author

Ещё в группе «Общее»