Бесплатно Экспресс-аудит сайта:

08.03.2025

Загрузил пакет – потерял кошелёк: новый троян атакует Python-сообщество

Исследователи безопасности из компании Socket выявили вредоносный пакет PyPI под названием «set-utils», который перехватывал функции создания криптокошельков и отправлял украденные приватные ключи через блокчейн Polygon.

Пакет маскировался под полезную библиотеку для Python, имитируя «python-utils» с 712 миллионами загрузок, а также «utils», установленный более 23,5 миллиона раз. Специалисты обнаружили угрозу и сообщили, что «set-utils» загрузили более тысячи раз с момента его размещения на PyPI 29 января 2025 года.

Атака была направлена на разработчиков блокчейн-приложений, использующих «eth-account» для управления кошельками, проекты DeFi на Python, Web3-приложения с поддержкой Ethereum и пользователей, автоматизирующих создание кошельков с помощью Python. Несмотря на относительно небольшое количество загрузок, атака могла затронуть значительно большее число пользователей, использующих эти кошельки.

Вредоносный пакет содержал публичный RSA-ключ злоумышленников, который использовался для шифрования украденных данных, а также Ethereum-аккаунт атакующих. Он внедрялся в стандартные функции генерации кошельков, такие как «from_key()» и «from_mnemonic()», перехватывая приватные ключи при их создании.

После кражи ключи шифровались и вставлялись в поле данных Ethereum-транзакции, отправляемой на аккаунт злоумышленников через публичный RPC-эндпоинт Polygon. Такой метод позволял скрытно передавать данные без риска блокировки со стороны антивирусов и брандмауэров, которые обычно отслеживают HTTP-запросы, но не транзакции в блокчейне.

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

После обнаружения «set-utils» был удалён с PyPI, однако разработчикам и пользователям, установившим этот пакет, следует немедленно его удалить. Все кошельки, созданные с его помощью, считаются скомпрометированными, а хранящиеся на них средства рекомендуется срочно перевести на другие кошельки, чтобы избежать кражи.