Компания ESET – лидер в области информационной безопасности – обнаружила вредоносные проекты Python, которые распространяются через официальное хранилище пакетов PyPI. Угроза, нацеленная на Windows и Linux, как правило, распространяет специальный бэкдор с возможностями кибершпионажа. Он позволяет удаленно выполнять команды и осуществлять кражу файлов, а иногда включает возможность делать снимки экрана.
Специалисты ESET обнаружили 116 файлов, которые содержат вредоносное программное обеспечение, в 53 проектах. За год пользователи загрузили эти файлы более 10 000 раз, а количество установок в день достигало около 80 с мая 2023 года.
PyPI популярен среди программистов Python для обмена и загрузки кода. Поскольку кто-либо может сделать изменения в хранилище, появляется вредоносное программное обеспечение, которое маскируется под популярные легитимные библиотеки кода.
На сегодняшний день большинство пакетов уже было удалено PyPI. Однако после этого специалисты ESET связались с PyPI, чтобы принять меры относительно оставшимся пакетам. Сейчас все известные вредоносные пакеты находятся в режиме офлайн.
Компания ESET проанализировала три метода добавления вредоносного кода в пакеты Python, которые используют злоумышленники. Первый прием — размещение тестового модуля со слегка запутанным кодом внутри пакета. Вторая техника – встраивание кода PowerShell в файл setup.py, который, как правило, запускается автоматически, чтобы помочь установить проекты Python. В третьем методе злоумышленники не прилагают усилия для включения легитимного кода в пакет, используя лишь вредоносный код в слегка запутанной форме.
Как правило, конечным компонентом является специальный бэкдор, способный удаленно выполнять команды, осуществлять кражу файлов и иногда делать снимки экрана. В Windows бэкдор реализован на Python, а в Linux – на языке программирования Go. В некоторых случаях вместо бэкдора используется угроза W4SP Stealer или простой инструмент для буфера обмена для кражи криптовалюты Bitcoin, Ethereum, Monero и Litecoin или оба варианта.
«Разработчики Python должны проверить код, который они загружают, прежде чем устанавливать его в своих системах. Вероятно, что злоумышленники продолжат использование PyPI в своих целях, поэтому рекомендуем быть осторожными при установке кода из любого общедоступного хранилища программного обеспечения», – рекомендует Марк-Этьен Левейе, исследователь компании ESET.