Исследователь Владимир Пезо из компании ReversingLabs, специализирующейся на безопасности цепочек поставок программного обеспечения, обнаружил критическую проблему в устаревших пакетах Python. В репозитории Python Package Index (PyPI) был выявлен уязвимый код, создающий риск компрометации через захват домена. Основной причиной угрозы стал отказ от своевременного вывода из эксплуатации модуля «Distribute», из-за чего в проектах сохранились опасные загрузочные скрипты.

Техническая суть проблемы кроется в инструменте автоматизации сборки и развертывания
Центральным элементом уязвимости выступает целевой домен
Уязвимый скрипт, обращающийся к указанному домену, содержится в ряде пакетов PyPI. В список затронутых проектов входят
Существуют определенные факторы, снижающие вероятность немедленной эксплуатации. Скрипт не запускается автоматически при установке пакета и написан на языке Python 2, что делает невозможным его выполнение в среде Python 3 без модификаций. Эксперты классифицируют эту угрозу как «ненужную поверхность атаки», реализация которой зависит от того, удастся ли обманом заставить разработчиков запустить устаревший код.
Для демонстрации реальности подобных угроз приводится сравнительный пример инцидента 2023 года с пакетом
Параллельно с описанной проблемой была зафиксирована активность вредоносного пакета

Изображение носит иллюстративный характер
Техническая суть проблемы кроется в инструменте автоматизации сборки и развертывания
zc.buildout, а конкретно в старом скрипте инициализации среды bootstrap.py. Этот файл предназначен для автоматической загрузки, сборки и установки библиотек. В процессе работы он извлекает и запускает установочный скрипт distribute_setup.py. Триггером для выполнения вредоносного действия служит попытка установки «Distribute», происходящая либо по умолчанию, либо при использовании опций командной строки -d или --distribute. Механизм включает извлечение полезной нагрузки с жестко закодированного домена, что является паттерном, характерным для вредоносного ПО. Центральным элементом уязвимости выступает целевой домен
python-distribute[.]org. Этот устаревший веб-адрес выставлен на продажу с 2014 года и в настоящее время находится в премиальном ценовом диапазоне, используется для генерации рекламных доходов. Угроза заключается в латентном риске: злоумышленники могут приобрести этот домен и разместить на нем вредоносный код. Если загрузочный скрипт будет случайно запущен разработчиком, это приведет к выполнению атаки, потенциальным итогом которой может стать кража конфиденциальных данных. Уязвимый скрипт, обращающийся к указанному домену, содержится в ряде пакетов PyPI. В список затронутых проектов входят
tornado (в версии для разработки и обслуживания), pypiserver, roman, xlutils и testfixtures. Особо отмечается пакет slapos.core, который до сих пор поставляет этот уязвимый код. Исторически модуль «Distribute» был недолговечным форком проекта Setuptools, созданным из-за отсутствия активной разработки последнего. В 2013 году функции форка были интегрированы обратно в Setuptools, что сделало «Distribute» устаревшим, однако скрипт, изначально созданный для загрузки форка вместо оригинала, остался в кодовой базе. Существуют определенные факторы, снижающие вероятность немедленной эксплуатации. Скрипт не запускается автоматически при установке пакета и написан на языке Python 2, что делает невозможным его выполнение в среде Python 3 без модификаций. Эксперты классифицируют эту угрозу как «ненужную поверхность атаки», реализация которой зависит от того, удастся ли обманом заставить разработчиков запустить устаревший код.
Для демонстрации реальности подобных угроз приводится сравнительный пример инцидента 2023 года с пакетом
npm под названием fsevents. Уязвимости был присвоен идентификатор CVE-2023-45311 и критический рейтинг CVSS 9.8. Злоумышленник захватил контроль над невостребованным облачным ресурсом по адресу fsevents-binaries.s3-us-west-2.amazonaws[.]com. В результате пользователям, устанавливавшим определенные версии пакета, отправлялись вредоносные исполняемые файлы. Параллельно с описанной проблемой была зафиксирована активность вредоносного пакета
spellcheckers, обнаруженного системой HelixGuard. Пакет, загруженный пользователем под ником leo636722 15 ноября 2025 года, ложно позиционировался как инструмент для проверки орфографии с использованием «OpenAI Vision». На самом деле ПО содержало бэкдор и троян удаленного доступа (RAT). Цепочка атаки включала соединение с внешним сервером, загрузку полезной нагрузки следующей стадии и выполнение подконтрольного атакующему кода Python через функцию exec(), обеспечивая полный удаленный контроль над хостом жертвы. До момента удаления пакет был скачан 955 раз.