Три года на виду у всех: как вредоносный пакет на PyPI собрал 37 000 скачиваний

Команда исследователей из компании Socket обнаружила вредоносный Python-пакет с названием “fabrice”, замаскированный под популярную библиотеку “fabric”. Этот пакет, присутствующий в PyPI с 2021 года и скачанный более 37 тысяч раз, незаметно похищает учётные данные AWS у разработчиков.

Настоящая библиотека “fabric”, разработанная компанией bitprophet, используется многими специалистами по всему миру и насчитывает более 200 миллионов скачиваний. Однако злоумышленники использовали её доверие, создав аналог с вредоносным кодом. Пакет “fabrice” ворует ключи доступа, создаёт бэкдоры и выполняет команды в зависимости от операционной системы.

На Linux вредоносный код запускается через функцию linuxThread(), которая загружает и выполняет скрипты с удалённого сервера. Используется скрытая директория для хранения загруженных файлов, что затрудняет их обнаружение. Адрес сервера обфусцирован, что помогает скрыть вредоносные действия от антивирусов.

На Windows система заражается с помощью функции winThread(), которая загружает вредоносные исполняемые файлы и создаёт задачи для их регулярного запуска. Это позволяет злоумышленникам сохранять доступ к заражённым устройствам даже после перезагрузки.

Главной целью “fabrice” является кража AWS-учётных данных. Используя библиотеку boto3, вредоносный код извлекает ключи и отправляет их на сервер, расположенный на VPN в Париже. Это затрудняет отслеживание атакующих и позволяет им получить доступ к облачным ресурсам жертв.

Для обеспечения безопасности разработчикам настоятельно рекомендуется использовать специальные инструменты для GitHub, которые автоматически проверяют зависимости и выявляют подозрительные пакеты. Команда Socket уже уведомила PyPI о наличии вредоносного пакета для его удаления.

Public Release.