В PyPI нашли вредоносный пакет ccxt-mexc-futures — он крал API-ключи и управлял ордерами, маскируясь под расширение для криптобиржи MEXC
Исследователи JFrog обнаружили в репозитории PyPI вредоносный Python-пакет под названием ccxt-mexc-futures, который маскировался под легитимное расширение популярной библиотеки CCXT.
Последняя используется для автоматизации торговли криптовалютами — она поддерживает десятки бирж и загружена более 93 млн раз. Вредоносная версия же незаметно перехватывала запросы пользователей и перенаправляла их… на подставной сервер злоумышленников.
Вместо работы с реальной биржей MEXC, как указано в README, пакет отправлял API-запросы на домен greentreeone[.]com
— поддельную площадку, созданную специально для кражи ключей и управления ордерами жертвы.
Как именно крали деньги
Злоумышленники пошли умным путем: они не внедряли вредоносный код напрямую, а переопределили внутренние функции библиотеки CCXT, включая describe
, sign
и prepare_request_headers
.
Анатомия данных: как устроено управление информациейtproger.ru
Эти функции отвечают за настройки, подписание и отправку ордеров. Вредоносный код был скрыт с помощью обфускации — сначала через base64, потом через цепочку eval
и hex-строк.
В результате, при любом действии пользователя — размещении ордера, его отмене или открытии сделки — данные отправлялись не на MEXC, а на подставной сервер. Причем подделка была настолько достоверной, что пользователь получал ответ «OrderFilled», даже если фактически ничего не происходило.
Особую опасность представляет то, что sign
-функция передавала в запросах все чувствительные данные, включая API-ключи и секреты — именно это позволяло хакерам получить полный контроль над учетной записью на бирже.
Как это распознали
JFrog обратила внимание на подозрительные техники маскировки, использованные в пакете. У разных версий были разные способы шифровки — что уже является красным флагом.
Затем исследователи расшифровали вредоносный код и выявили, что ccxt-mexc-futures загружает конфигурации с внешнего ресурса и подменяет оригинальные адреса API.
Такой подход позволял незаметно подменить критически важные участки взаимодействия между клиентом и биржей. Кроме того, при отсутствии токена аутентификации библиотека выдавала ошибку, принуждая пользователя явно его указать — это повышало шансы на кражу.
Что делать пользователям
Все, кто мог использовать ccxt-mexc-futures, должны немедленно удалить его из проекта, а также отозвать все API-ключи и токены, которые использовались при работе с биржей MEXC. JFrog уже добавила этот пакет в базу угроз Xray, и теперь он автоматически определяется как вредоносный.
Что больше всего бесит разработчиков? ТОП-10 раздражающих вещей в коде и не толькоtproger.ru
Также стоит проверить, нет ли других пакетов от этого же пользователя на PyPI и быть особенно внимательным при установке «расширений» к популярным библиотекам.
Злоумышленники всё чаще используют supply chain-атаки — когда подмена происходит не на этапе использования, а ещё на стадии установки зависимостей.