Разработчики в опасности: вредоносные пакеты были размещены на популярном репозитории

Разработчики в опасности: вредоносные пакеты были размещены на популярном репозитории

Зловредный софт успели скачать на свой компьютер несколько сотен человек.

image

В этом месяце неизвестный злоумышленник под ником «Lolip0p» загрузил в репозиторий PyPI (Python Package Index) три вредоносных пакета, которые содержат код для последующей установки программ-инфостилеров.

Вредоносные пакеты, обнаруженные Fortinet, были загружены в период с 7 по 12 января 2023 года. Названия у этих пакетов следующие: «colorslib», «httpslib» и «libhttps». Все три были удалены из PyPI после обнаружения.

PyPI — это наиболее широко используемый репозиторий для пакетов Python, который разработчики программного обеспечения используют для ускорения своей работы.

К сожалению, популярность репозитория делает его привлекательным и для злоумышленников, нацеленных на разработчиков или их проекты. Как правило, вредоносные пакеты загружаются на PyPI под видом чего-то полезного. Или просто имитируют известные проекты, благодаря изменённому названию.

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

В отличие от типичных вредоносных загрузок на PyPI, обнаруженное Fortinet «трио», содержит полные подробные описания, которые обычно используются в нормальных пакетах. Это усыпляет бдительность разработчиков, и они добровольно скачивают зловредное ПО на свой компьютер.

Пример описания одного из вредоносных пакетов (выглядит убедительно)

В примере выше название пакета не имитирует какой-то другой проект. А в описании злоумышленники намеренно пытаются убедить разработчика, что код пакета абсолютно безопасный и надёжный, да ещё выполняет много полезных функций.

По данным службы подсчета статистики пакетов PyPI, к моменту удаления у трех вредоносных записей было следующее количество загрузок:

  • colorslib – 248 загрузок
  • httpslib – 233 загрузки
  • libhttps – 68 загрузок

Хотя количество загрузок может показаться небольшим, потенциальное влияние заражения, если рассматривать эти случаи как часть цепочки — очень значительно.

Все три пакета содержат один и тот же вредоносный файл setup.py, который пытается запустить PowerShell. Инсталлятор скачивает исполняемый файл «Oxyz.exe» с подозрительного URL-адреса. Программа, в свою очередь, крадёт данные из браузера.

Издание BleepingComputer обнаружило, что «Oxyz.exe» также распространяется как бесплатный генератор подписки Discord Nitro. А ещё по крайней мере один из исполняемых процессов данного файла используется для сбора токенов Discord. Значит, предположительно, это всего лишь часть крупной кампании по краже информации и других данных с заражённых устройств.

Показатели обнаружения для всех трех файлов, используемых в этой атаке, довольно низкие — от 4,5% до 13,5%. Это позволяет вредоносным файлам в большинстве случаев избежать обнаружения антивирусом, установленном на компьютере жертвы.

Вредоносный пакет засекли лишь 7 антивирусных систем из 70

К сожалению, даже после удаления этих пакетов из PyPI злоумышленники всё равно могут повторно загрузить их под другим именем.

Чтобы обеспечить безопасность своих проектов, разработчики программного обеспечения должны внимательно подбирать пакеты для загрузки. Проверять как авторов пакета, так и сам код на наличие подозрительных или зловредных намерений.


Мир сходит с ума, но еще не поздно все исправить. Подпишись на канал SecLabnews и внеси свой вклад в предотвращение киберапокалипсиса!