В каталоге Python-пакетов PyPI выявлены три вредоносные библиотеки

В каталоге PyPI (Python Package Index) выявлены три библиотеки, содержащие вредоносный код. До выявления проблем и удаления из каталога в сумме пакеты успели загрузить почти 15 тысяч раз.

Пакеты dpp-client (10194 загрузки) и dpp-client1234 (1536 загрузок) распространялись с февраля и включали код для отправки содержимого переменных окружения, которые, например, могли включать ключи доступа, токены или пароли к системам непрерывной интеграции или облачным окружениям, таким как AWS. Пакеты также отправляли на внешний хост список с содержимым каталогов “/home”, “/mnt/mesos/” и “mnt/mesos/sandbox”.


Пакет aws-login0tool (3042 загрузки) был размещён в репозитории PyPI 1 декабря и включал код для загрузки и запуска троянского приложения для захвата контроля над хостами, работающими под управлением Windows. При выборе имени пакета расчёт был сделан на то, что клавиши “0” и “-” находятся рядом и есть вероятность, что разработчик наберёт “aws-login0tool” вместо “aws-login-tool”.


Проблемные пакеты были выявлены в ходе простого эксперимента, в рамках которого при помощи утилиты Bandersnatch была загружена часть пакетов PyPI (около 200 тысяч из 330 тысяч пакетов в репозитории), после чего утилитой grep были выделены и проанализированы пакеты, в файле setup.py которых упоминается вызов “import urllib.request”, обычно применяемый для отправки запросов к внешним хостам.

Release. Ссылка here.