Новости | ITSec.Ru

Угрозы для разработчиков постепенно смещаются из PyPI и npm в GitHub

Written by Komolov Rostislav | 20/06/25

Команда ReversingLabs зафиксировала масштабную атаку, в ходе которой злоумышленники, связанные с группировкой Banana Squad, разместили более 60 поддельных репозиториев, замаскированных под популярные Python-инструменты. На первый взгляд это обычные проекты, но внутри скрыт троян, пишет Securitylab.

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

Анализ показал, что за этой схемой стоит уже известная группировка Banana Squad, впервые замеченная в 2023 году. Тогда группа массово загружала вредоносные пакеты на open source-платформы под разными именами. Те пакеты были скачаны почти 75 000 раз до того, как были удалены. Их цель заключалась в краже обширного спектра конфиденциальной информации: от данных системы и браузеров до криптовалютных кошельков.

В новой кампании удалось обнаружить 67 поддельных репозиториев GitHub, содержащих сотни заражённых Python-скриптов. Один из ключевых векторов атаки оказался завязан на особенности интерфейса GitHub: длинные строки кода не переносятся на следующую строку, а продолжаются вправо, за пределы экрана. Это позволило вставлять вредоносные участки кода после большого количества пробелов, делая их визуально незаметными даже на экранах с высоким разрешением. Только специализированные инструменты позволяют выявить скрытые фрагменты.

Решающую роль в обнаружении сыграла обратная аналитика URL-адресов. Заражённые скрипты связывались с удалёнными серверами, используя домены вида dieserbenni[.]ru, где в параметре запроса repo= указывалось имя конкретного репозитория. Эти индикаторы позволили команде RL составить перечень подозрительных проектов, после чего каждый архив с исходниками был изучен с помощью их собственной платформы Spectra Intelligence.

Технический разбор выявил, что вредоносный код использовал различные методы обфускации и шифрования: Base64, шестнадцатеричную кодировку и библиотеку Fernet из популярного Python-пакета cryptography. Чтобы скрыть адреса загрузки полезной нагрузки, злоумышленники комбинировали эти методы, создавая цепочку расшифровки, аналогичную рецептам в CyberChef. Используя такой рецепт, можно было извлечь адреса следующего этапа атаки.