PyPI больше не безопасен – каждая новая библиотека может стать последней

Злоумышленники продолжают использовать популярные репозитории открытого ПО в качестве плацдарма для распространения вредоносного кода. На этот раз специалисты из компании Socket обнаружилинесколько подозрительных пакетов в Python Package Index (PyPI), выдающих себя за полезные инструменты, но на деле задействованных в сборе информации о пользователях Instagram*, TikTok и Telegram.

Три вредоносных библиотеки под названиями “checker-SaGaF”, “steinlurks” и “sinnercore” были загружены в PyPI в течение последних месяцев и в сумме скачаны более 6 тысяч раз. Хотя сейчас все они удалены, последствия их использования могут оказаться серьёзными.

“Checker-SaGaF” выполнял проверку, привязан ли указанный email к аккаунтам TikTok и Instagram, отправляя HTTP POST-запросы на интерфейсы восстановления паролей этих платформ. Таким образом, можно было легко валидировать список украденных адресов, чтобы затем использовать их в атаках – от фишинга и спама до целенаправленного захвата учётных записей через Credential Stuffing или Password Spraying.

Пакет “Steinlurks” действовал по похожей схеме, но только для Instagram. Он эмулировал поведение Android-приложения и отправлял поддельные запросы к нескольким API-эндпоинтам Instagram, включая lookup, send_recovery_flow_email и check_email, пытаясь обойти защиту платформы и валидировать аккаунты незаметно.

“Sinnercore” расширял функциональность, запуская фейковый процесс восстановления пароля по имени пользователя и отправляя запросы к API Instagram, а также собирал данные из Telegram-профилей – имя, ID, статус и описание. Кроме того, в пакете присутствовали криптовалютные утилиты для получения курсов Binance и функций конвертации валют, а также инструменты сбора информации о других PyPI-пакетах – вероятно, с целью маскировки под легитимных разработчиков.

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

В начале мая стало известно об обнаружении другого вредоносного PyPI-пакета под названием “dbgpkg”, который маскировался под отладочный инструмент, но внедрял бэкдор в систему разработчика. Он позволял удалённое выполнение кода и утечку данных, а всего был скачан порядка 350 раз. Анализ показал, что он использует ту же полезную нагрузку, что и ранее замеченный пакет “discordpydebug”, а также ещё один – “requestsdev”, имевший 76 загрузок. Все они, по данным ReversingLabs, могут быть частью единой кампании.

Интересно, что внедрённый бэкдор использует GSocket – сетевой тулкит, известный по деятельности группировки Phoenix Hyena (она же DumpForums или Silent Crow), которая в 2022 году атаковала российские организации, включая ИБ-компанию “Доктор Веб”. Хотя однозначная атрибуция невозможна, совпадение полезных нагрузок и использование уникальных техник обфускации и внедрения указывает на высокую квалификацию разработчиков.

Обнаруженные случаи подтверждают устойчивую тенденцию: вредоносные пакеты всё чаще маскируются под инструменты для разработчиков, работая тихо и точечно. Угроза становится ещё опаснее из-за сложности выявления таких библиотек невооружённым взглядом. Безопасность цепочек поставок ПО остаётся слабым звеном, которым киберпреступники активно пользуются.

* Компания Meta и её продукты признаны экстремистскими, их деятельность запрещена на территории РФ.

Public Release.