В настоящее время одной из основных угроз, приобретающих все более масштабный характер, становятся атаки с использованием вредоносных пакетов с открытым исходным кодом. Сегодня подобные атаки кажутся обыденными, ведь отчеты о зараженных пакетах в таких репозиториях, как PyPI или npm, появляются чуть ли не каждый день. И казалось бы, повышенное внимание со стороны исследователей к этим репозиториям уже давно должно было свести к минимуму доходы киберпреступников, которые пытаются сделать состояние на вредоносных пакетах. Однако наше расследование одного недавнего киберинцидента в очередной раз подтвердило, что open-source-пакеты до сих пор остаются для злоумышленников привлекательным способом зарабатывать легкие деньги.
Заражение из ниоткуда
В июне 2025 года к нам обратился блокчейн-разработчик из России, пострадавший от действий злоумышленников: они похитили у него криптоактивы на сумму около $500 000. При этом удивительно, что операционная система жертвы была установлена всего за несколько дней до инцидента. На зараженное устройство были загружены лишь самые необходимые и популярные программы. Разработчик не понаслышке знал о рисках кибербезопасности, которые возникают в ходе операций с криптовалютами, и проявлял бдительность, тщательно проверяя каждое действие во время работы в Сети. Кроме того, для защиты системы использовались бесплатные онлайн-сервисы для выявления вредоносных программ, хотя коммерческое антивирусное ПО установлено не было.
Нас заинтересовали обстоятельства заражения, и мы решили найти истоки произошедшего инцидента. Получив образ диска с зараженной системой, мы начали его анализ.
Подсветка синтаксиса с подвохом
Во время исследования хранящихся на диске файлов наше внимание привлек файл с именем extension.js, хранящийся по пути %userprofile%\.cursor\extensions\solidityai.solidity-1.0.9-universal\src\extension.js. Ниже представлена часть его содержимого.
На этом скриншоте видно, что код запрашивает с веб-сервера angelic[.]su PowerShell-скрипт и запускает его. Это явный признак наличия вредоносного кода.
Оказалось, что файл extension.js является компонентом расширения Solidity Language для среды разработки Cursor AI, которая основана на Visual Studio Code и предназначена для разработки кода с использованием ИИ. Расширение содержится в хранилище Open VSX, используемом средой Cursor AI. Оно было опубликовано около двух месяцев назад и на момент исследования было загружено 54 тысячи раз — это число, вероятно, было искусственно увеличено. Согласно описанию, оно предлагает множество функций для оптимизации работы с кодом на языке для смарт-контрактов Solidity, в частности подсветку синтаксиса.
Мы проанализировали код всех версий этого расширения и убедились, что оно является поддельным: ни подсветка синтаксиса, ни другие заявленные возможности не были реализованы ни в одной из версий. Расширение не имеет никакого отношения к смарт-контрактам, и все, что оно делает, — скачивает и запускает вредоносный код с указанного выше веб-сервера. Кроме того, мы выяснили, что описание вредоносного плагина было скопировано злоумышленниками со страницы легитимного расширения, которое скачали 61 тысячу раз.
Как расширение проникло на компьютер
Итак, мы обнаружили, что вредоносное расширение было скачано 54 тысячи раз, а легитимное — 61 тысячу. Но как злоумышленники смогли усыпить бдительность разработчика? Почему он скачал вредоносное расширение с меньшим количеством загрузок, чем у оригинального?
Мы выяснили, что, пытаясь установить расширение для подсветки синтаксиса кода на Solidity, разработчик вводил в поисковую строку хранилища расширений запрос solidity. По нему в выдачу попадали следующие результаты.

Результаты поиска по запросу solidity: вредоносное расширение (выделено красным) и легитимное (выделено зеленым)
В поисковой выдаче вредоносное расширение расположилось на четвертом месте, а легитимное — лишь на восьмом. Таким образом, анализируя результаты поиска, разработчик кликнул первое по порядку расширение с достаточно внушительным количеством скачиваний — и именно оно оказалось вредоносным.
Ловушка алгоритма ранжирования
Как вредоносное расширение отобразилось в поисковой выдаче выше легитимного, особенно с учетом того, что у первого меньше скачиваний? Оказалось, что хранилище расширений Open VSX ранжирует результаты поиска в соответствии с метрикой релевантности. При подсчете этой метрики учитывается множество факторов, таких как рейтинг расширения, его новизна, количество загрузок, наличие верификации. Следовательно, ранжирование происходит на основе совокупности факторов: например, расширение с небольшим количеством скачиваний может оказаться в топе поисковой выдачи, если этот параметр компенсируется новизной. Именно так и произошло в случае с вредоносным плагином: дата последнего обновления поддельного расширения — 15 июня 2025 года, а легитимного — 30 мая 2025 года. Таким образом, по совокупности факторов релевантность вредоносного расширения превысила релевантность оригинального — и именно это позволило злоумышленникам продвинуть поддельное расширение в результатах поиска.
Установив вредоносное расширение из-за этой ловушки, жертва не получила желаемую функциональность: синтаксис кода на Solidity не стал подсвечиваться. Разработчик принял этот факт за баг, отложив его анализ на потом, и продолжил работу. А тем временем на его компьютере началась установка вредоносного ПО.
От PowerShell-скриптов к средству удаленного управления
Установленный вредоносный плагин при активации, как мы уже упоминали, загружает PowerShell-скрипт с URL https://angelic[.]su/files/1.txt.
Этот скрипт проверяет, установлено ли на компьютер ПО для удаленного управления ScreenConnect, и, если нет, скачивает второй вредоносный PowerShell-скрипт, расположенный по адресу https://angelic[.]su/files/2.txt. Новый скрипт загружает на зараженный компьютер установщик ScreenConnect по ссылке https://lmfao[.]su/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest, после чего запускает его. С этого момента злоумышленники получают возможность управлять зараженным компьютером при помощи установленного ПО, которое настроено на общение с C2-сервером relay.lmfao[.]su.
Дальнейшая кража данных
Последующий анализ позволил определить, что при помощи ПО ScreenConnect злоумышленники загрузили на зараженную машину три VBS-скрипта:
a.vbsb.vbsm.vbs
Каждый из них скачивал PowerShell-скрипт с сервиса для обмена текстом paste.ee. При этом URL для его скачивания хранится в обфусцированном виде:
Загружаемый PowerShell-скрипт, в свою очередь, скачивает с сайта archive[.]org изображение, из которого извлекается загрузчик, известный как VMDetector. Ранее атаки с его использованием наблюдались в фишинговых кампаниях, нацеленных на организации в Латинской Америке. Этот загрузчик скачивает финальную полезную нагрузку с сайта paste.ee и запускает ее.
Мы проанализировали VBS-скрипты и установили, что на зараженный компьютер загружались следующие полезные нагрузки:
- бэкдор с открытым исходным кодом Quasar (при помощи файлов
a.vbsиb.vbs); - стилер, собирающий данные браузеров, почтовых клиентов и криптокошельков (при помощи
m.vbs). Продукты «Лаборатории Касперского» детектируют этот зловред какHEUR:Trojan-PSW.MSIL.PureLogs.gen.
Оба импланта обращались к C2-серверу 144.172.112[.]84 (на момент анализа он соответствовал домену relay.lmfao[.]su). Распоряжаясь этими инструментами, злоумышленники смогли получить парольные фразы от криптокошельков разработчика, а затем перевести с них криптовалюту.
Новый вредоносный пакет
Вредоносный плагин не продержался долго в магазине расширений и был удален 2 июля 2025 года — на тот момент его обнаружили не только мы в ходе расследования инцидента, но и другие исследователи. Однако злоумышленники продолжили атаки. Уже на следующий день после удаления расширения они опубликовали другой вредоносный пакет с названием solidity, на этот раз полностью повторяя название исходного легитимного расширения. Функциональность подделки не изменилась: плагин скачивал вредоносный PowerShell-скрипт на устройство жертвы. Однако злоумышленники решили накрутить гораздо более внушительное количество загрузок (новое расширение скачали якобы около двух миллионов раз). И до недавнего времени, пока этот плагин не был удален нашими усилиями, по запросу solidity в среде разработки Cursor AI отображались следующие результаты.
На этот раз легитимное и вредоносное расширение расположились на соседних позициях поисковой выдачи: на 7-м и 8-м местах соответственно. При этом имена разработчиков кажутся идентичными, однако легитимный пакет загрузил пользователь juanblanco, а вредоносный — juanbIanco: в шрифте, используемом в Cursor AI, буквы l и I выглядят одинаково.
Таким образом, в поисковой выдаче оказались два, на первый взгляд, одинаковых расширения: легитимное с 61 тысячей загрузок и вредоносное с двумя миллионами. Какое из них решит загрузить пользователь? Сделать правильный выбор в этом случае довольно трудно.
Похожие кибератаки
Отметим, что обнаруженные нами расширения Solidity — это не единственные вредоносные пакеты, опубликованные злоумышленниками, которые стоят за описанной атакой. Используя наш инструмент для мониторинга пакетов с открытым исходным кодом, мы обнаружили вредоносный npm-пакет solsafe, который использует URL-адрес https://staketree[.]net/1.txt для загрузки ПО ScreenConnect. В этой кампании оно также настроено на использование домена relay.lmfao[.]su для общения со злоумышленниками.
Также мы обнаружили, что в апреле и мае 2025 года были опубликованы три вредоносных расширения (solaibot, among-eth и blankebesxstnion) для среды разработки Visual Studio Code. Схема заражения, используемая в этих зловредах, очень похожа на описанную нами. В частности, мы обнаружили практически полное совпадение функциональности вредоносных скриптов.
Кроме того, в ходе работы всех перечисленных расширений выполняются одинаковые вредоносные действия, а именно:
- скачиваются PowerShell-скрипты с именами
1.txtи2.txt; - используется VBS-скрипт с обфусцированным URL для скачивания полезной нагрузки с сайта
paste.ee; - загружается изображение с полезной нагрузкой с сайта
archive.org.
Таким образом, можно сделать вывод, что описанные схемы заражения в настоящее время активно используются для атак на блокчейн-разработчиков. Полагаем, что на расширениях для Solidity и пакете solsafe, которые мы обнаружили, злоумышленники не остановятся.
Заключение
Вредоносные пакеты продолжают представлять угрозу для криптоиндустрии. На сегодняшний день множество проектов зависят от open-source-инструментов, которые загружаются из популярных репозиториев. При этом пакеты из таких репозиториев нередко выступают источником заражения вредоносным ПО. Поэтому при загрузке любых инструментов мы рекомендуем соблюдать предельную осторожность и проверять, что скачиваемый пакет не является поддельным. Если после установки он не выполняет заявленные в его описании функции, то стоит насторожиться и проверить загруженный исходный код.
Во многих случаях вредоносное ПО, устанавливаемое при помощи поддельных пакетов с открытым исходным кодом, хорошо известно, и современные решения безопасности способны эффективно блокировать его. Даже опытным разработчикам очень важно не пренебрегать защитными решениями: они помогут предотвратить атаку в случае установки вредоносного пакета.
Индикаторы компрометации
Хэш-суммы вредоносных JS-файлов
2c471e265409763024cdc33579c84d88d5aaf9aea1911266b875d3b7604a0eeb
404dd413f10ccfeea23bfb00b0e403532fa8651bfb456d84b6a16953355a800a
70309bf3d2aed946bba51fc3eedb2daa3e8044b60151f0b5c1550831fbc6df17
84d4a4c6d7e55e201b20327ca2068992180d9ec08a6827faa4ff3534b96c3d6f
eb5b35057dedb235940b2c41da9e3ae0553969f1c89a16e3f66ba6f6005c6fa8
f4721f32b8d6eb856364327c21ea3c703f1787cfb4c043f87435a8876d903b2c
Сетевые индикаторы
https://angelic[.]su/files/1.txt
https://angelic[.]su/files/2.txt
https://staketree[.]net/1.txt
https://staketree[.]net/2.txt
https://relay.lmfao[.]su
https://lmfao[.]su/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest
144.172.112[.]84
Подсветка кода в Cursor AI за 500 000 долларов









meow
Очередное доказательство того что Линукс лучше