PyPI блокирует домены Inbox.ru после загрузки более 1500 фальшивых пакетов

information security

Python Package Index (PyPI), крупнейший репозиторий открытого ПО для Python, ввел административную блокировку домена inbox.ru, запретив его использование для регистрации новых пользователей и в качестве дополнительного адреса для верификации. Это решение стало ответом на массовую кампанию, в рамках которой злоумышленники создали более 250 поддельных аккаунтов и загрузили свыше 1500 пустых проектов.

Административные меры по борьбе со спам-кампанией

Подобные действия не только создали хаос среди разработчиков, но и поставили под угрозу безопасность экосистемы Python, вызвав опасения о возможных уязвимостях в цепочке поставок. Администрация PyPI оперативно отреагировала, удалив все скомпрометированные проекты и заблокировав связанные с ними учетные записи. Этот шаг подчеркивает важность защиты инфраструктуры открытого ПО от злоупотреблений.

Инцидент подчеркивает уязвимость модели безопасности, используемой PyPI при регистрации пользователей. Платформа полагается на механизмы аутентификации почтовых провайдеров, что позволяет злоумышленникам злоупотреблять временными или скомпрометированными доменами. Для борьбы с такими угрозами PyPI использует списки запрещенных почтовых сервисов, включая disposable-email-domains, а также внутреннюю базу данных блокировок, формируемую на основе анализа вредоносной активности.

Это не первый случай, когда PyPI вынужден вводить подобные ограничения. Ранее администрация уже блокировала крупные почтовые провайдеры из-за аналогичных злоупотреблений. Однако блокировка inbox.ru стала особенно важной мерой, поскольку злоумышленники активно использовали этот домен для автоматизированного создания аккаунтов, что могло привести к более масштабным атакам, включая типосквоттинг (регистрацию пакетов с опечатками в названиях популярных библиотек).

Технические подробности атаки

Технические детали атаки раскрывают систематический подход злоумышленников. Сначала был создан аккаунт с двухфакторной аутентификацией и API-токеном, что указывает на подготовку к долгосрочной эксплуатации. Затем последовали массовые регистрации: 46 аккаунтов 11 июня и 207 - 24 июня. Загрузка пакетов началась 26 июня, достигнув пика в 740 проектов 30 июня. К 11 июля общее количество фальшивых пакетов превысило 1500.

Анализ показал, что загруженные проекты не содержали полезного кода, что позволяет предположить разведку или подготовку к более серьезной атаке. Злоумышленники могли тестировать механизмы автоматизации перед развертыванием вредоносных пакетов. Также возможен сценарий slop-сквоттинга - метода обмана пользователей за счет незначительных изменений в названиях популярных библиотек.

Особую тревогу вызывает случай, когда крупная языковая модель (Claude 3.5 Sonnet) по ошибке рекомендовала установку несуществующего пакета, что еще раз подчеркивает риски слепого следования советам ИИ. Разработчикам настоятельно рекомендуется проверять названия пакетов перед установкой и избегать автоматического копирования команд из ненадежных источников.

Данный инцидент демонстрирует растущую угрозу для репозиториев открытого ПО, где злоумышленники активно используют автоматизацию для массового создания аккаунтов и заполнения пространства имен фальшивыми проектами. Хотя PyPI действует оперативно, внедрение более сложных систем мониторинга, например, на основе машинного обучения, могло бы помочь в раннем выявлении подобных атак.

PyPI остается ключевым ресурсом для более чем 500 000 проектов на Python, и обеспечение его безопасности - критически важная задача для всего мирового сообщества разработчиков. Этот случай служит напоминанием о необходимости постоянной бдительности как со стороны администраторов платформы, так и со стороны пользователей.

Комментарии: 0