Рубрики СтатьиКрипто

Как хакеры из КНДР охотятся на крипторазработчиков

Опубликовал Шадрін Андрій

Исследовательская команда ReversingLabs обнаружила новую ветку фейковой кампании по трудоустройству, которая нацелена на крипторазработчиков с использованием RAT (Remote Access Trojan). Это вирус, который работает в фоновом режиме и позволяет хакеру управлять вашим устройством на расстоянии. Кампанию, которую назвали graphalgo — по названию первого пакета, включенного в эту кампанию в репозитории npm — проводит северокорейская хакерская группа Lazarus Group. Она активна с начала мая 2025 года. Эти действия нацелены как на разработчиков JavaScript, так и Python, с фейковыми заданиями для рекрутинга, связанными с криптовалютами.

Обзор кампании Graphalgo

К разработчикам обращаются через социальные платформы, такие как LinkedIn и Facebook, или через предложения работы на форумах вроде Reddit. Кампания включает хорошо продуманную историю вокруг компании, которая якобы работает в сфере блокчейна и криптовалютных бирж. Вредоносная функциональность скрыта с помощью нескольких уровней косвенности через публичные сервисы, включая GitHub, npm и PyPI.

Общая схема кампании рекрутинга / Данные: ReversingLabs.com

Кампания включает вредоносный npm-пакет bigmathutils, который собрал более 10 тысяч загрузок с момента публикации начальной, безвредной версии — до выпуска второй версии, содержащей вредоносную payload. Всю кампанию можно разделить на несколько частично независимых активностей, которые осуществляет стоящий за ней угрожающий актор. Новым в этой кампании является ее модульность, которая позволяет угрожающему актору поддерживать кампанию активной даже в случае компрометации лишь части ее элементов.

1. Фейковая компания

Центральной частью является фейковая компания, работающая с темами, связанными с блокчейном и криптотрейдингом. В данном случае она называлась «veltrix-capital», однако очень вероятно, что в рамках этой кампании существуют и другие организации с аналогичным профилем. Домен компании (www.veltrixcap.org) был создан 4 апреля 2025 года. Также была создана связанная GitHub-организация с названием veltrix-capital. Стоит отметить, что быстрый поиск в Google показывает несколько других компаний с похожим названием, однако сложно определить, являются ли они фейковыми или легитимными структурами.

Пример файла package.json с зависимостью от пакета с названием graphnetworkx / Данные: ReverseLabs.com

Фирма «Veltrix Capital», зафиксированная в рамках этой кампании, имела примитивный сайт с базовой информацией — видением и миссией компании — но без конкретных данных о руководстве или контактной информации. В то же время для угрожающего актора не сложно создать новую фейковую компанию в случае компрометации этой. Вероятно, это и было сделано в октябре 2025 года, когда появилась новая GitHub-организация veltrixcapital, что указывает на домен veltrixcapital.ai, зарегистрированный 21 сентября 2025 года.

Пока что не зафиксировано вредоносной активности, связанной с этой организацией. Однако на ее сайте и в аккаунтах в соцсетях постоянно появляется новый контент. Он выглядит общим и, вероятно, сгенерированным ИИ и служит для создания ощущения надежности. Очень вероятно, что в будущем он будет использован для публикации вредоносного контента.

Главная страница репозитория с описанием задания для кандидата на должность DevOps / Данные: ReverseLabs

2. Задание для собеседования

Под аккаунтом veltrix-capital на GitHub опубликовано несколько репозиториев, и некоторые из них, вероятно, были тестовыми заданиями для собеседований. Среди них: test-url-monitoring, test-devops-monitoring, test-devops-orchestrator, test-devops-orchestrator-ts. Эти репозитории содержали проекты как на Python, так и на JavaScript. Анализ этих репозиториев не выявил очевидной вредоносной функциональности. Это потому, что вредоносная функциональность внедрялась не напрямую через репозитории с заданиями для собеседования, а опосредованно, то есть через зависимости, размещенные в репозиториях открытых пакетов npm и PyPI.

На рисунке выше можно увидеть пример файла package.json с зависимостью от пакета с названием graphnetworkx. Этот файл найден в одном из репозиториев, созданных целевыми разработчиками. Главная страница репозитория и краткое описание подтверждают, что это задание для кандидата на должность DevOps. Логи GitHub показывают, что этот репозиторий был «форкнут» из одного из оригинальных репозиториев с задачами veltrix-capital

Первичное событие форка в GitHub / Данные: ReversingLabs.com

Как указано в описании репозитория, роль разработчика заключается в том, чтобы «запустить, отладить и улучшить…». Все, что после слова «запустить», не имеет значения, ведь именно в этот момент вредная зависимость устанавливается и выполняется на машине жертвы. Создать такие репозитории с задачами для работы легко. Угрожающим акторам достаточно взять легитимный базовый проект и добавить к нему вредоносную зависимость — и он готов к использованию против целей.

В случае разоблачения одной из «фейковых» кампаний по трудоустройству как фейковой — например, истории вокруг компании veltrix-capital — существует большая вероятность, что будет обнаружена только сама «рабочая» история, тогда как вредоносная payload и инфраструктура, ответственная за его доставку, не будут нуждаться в изменениях. Угрожающему актору нужно только подготовить новую фейковую компанию и новую вакансию. Такой модульный подход переносит нагрузку по поддержке кампании с дорогих технических изменений на дешевую социальную инженерию.

Объявление о вакансии на Reddit / Данные: ReversingLabs.com

3. Рекрутинг

Через репозитории идентифицированы несколько скомпрометированных разработчиков, с которыми связались для получения дополнительной информации об инциденте. Они подтвердили, что к ним обращались рекрутеры через различные каналы. Некоторые из них наткнулись на объявления о вакансиях на форумах, таких как Reddit, или в специализированных группах Facebook. К некоторым жертвам рекрутеры обращались непосредственно через социальные сети, такие как LinkedIn.

Неизвестно, являются ли эти рекрутеры фейковыми аккаунтами, управляемыми угрожающим актером, или реальными рекрутерами, которые были наняты для повышения доверия к предложению. Судя по рекрутерам, которые упоминали работу в veltrix-capital, создается впечатление, что это реальные рекрутеры. RL связалась с одним из них и получила быстрый первоначальный ответ, но после вопросов о компании разговор прекратился.

Объявление о вакансии на Facebook / Данные: ReversingLabs.com

4. Вредные зависимости

Описанные выше части кампании можно назвать «фронтендом», тогда как вредоносная функциональность непосредственно для крипторазработчиков размещена в «бэкэнде» и использует публичные репозитории пакетов, такие как npm и PyPI, для размещения вредоносных загрузчиков. Такой подход очень удобен для угрожающих акторов, поскольку предоставляет бесплатный и легитимный канал для хостинга вредоносных payload’ов. В то же время это позволяет использовать одни и те же payload’ы в различных фронтенд-кампаниях. Вредоносные пакеты, связанные с этой кампанией, можно разделить на две группы в зависимости от того, какие пакеты они имитируют:

  • Пакеты со словом «graph» в названии, которые начали появляться в мае 2025 года.
  • Пакеты со словом «big» в названии, которые начали появляться в декабре 2025 года.

Пакеты «graph» имитировали легитимные пакеты — graphlib в npm и networkx в PyPI. Использование этих пакетов было зафиксировано в заданиях, связанных из veltrix-capital. Пакеты «big» не были зафиксированы ни в одной из задач veltrix-capital, поэтому очень вероятно, что продолжается другая, пока что необнаруженная, «фронтенд»-операция.

В рамках отслеживания этой кампании был найден пакет bigmathutils. Однако в течение месяца после публикации он не содержал ничего вредного, однако за этот период он собрал более 10 тысяч загрузок. 11 февраля опубликовали новую версию пакета. Она содержала тот же payload, который наблюдался в других пакетах этой кампании. То есть вредоносная версия была опубликована после формирования начальной базы пользователей. Вскоре после публикации вредоносную версию удалили, а автор обнародовал предупреждение об устарелости пакета.

К некоторым жертвам рекрутеры обращались непосредственно через социальные сети (LinkedIn) / Данные: ReversingLabs.com

5. Финальные payload’ы

Payload’ы второго этапа, которые наблюдала RL, действовали как загрузчики финального payload’а — трояна удаленного доступа (RAT), который периодически получает и выполняет команды с сервера управления и контроля. Поддерживаются типовые команды, такие как загрузка/выгрузка файлов, просмотр процессов и выполнение произвольных команд.

Интересный момент заключается в том, что связь с C2-сервером защищена токеном. Это означает, что C2-сервер не будет принимать запросы без действительного токена, выданного сервером при регистрации агента или запроса команды. Подобное ранее уже наблюдалось в кампаниях, связанных с северокорейскими государственными акторами. Еще одна заметная функция RAT — проверка наличия расширения браузера Metamask. Это еще один типичный признак активности, связанной с КНДР, и четкий сигнал того, что угрожающий актор заинтересован в криптовалютных средствах.

Перечень команд трояна удаленного доступа (RAT) / Данные: ReversingLabs.com

Нашли три версии payload’а с идентичной функциональностью, написанные на трех разных языках программирования. Версия финального RAT-payload’а впервые зафиксирована 4 февраля 2026 года. Она предназначена для связи с тем самым C2-сервером (codepool.cloud), который наблюдался в пакетах с названием «graph». Это еще один сигнал, что свидетельствует о существовании других «фронтенд»-версий этой кампании.

Северокорейские кампании в открытых кодах

Существует длительная история вредоносной деятельности северокорейских угрожающих акторов в публичных репозиториях пакетов, таких как npm и PyPI. В августе 2023 года RL опубликовала два блог-сообщения, описывающие вредоносные имитации легитимных пакетов PyPI, которые загружали вредоносное ПО из инфраструктуры, контролируемой злоумышленниками. Доверие к пакетам подкреплялось соответствующими GitHub-репозиториями. Кампания была названа VMConnect, а впоследствии приписано Lazarus Group — северокорейской группе, связанной с рядом сложных кампаний.

Git-комиты с метками времени в часовом поясе GMT+9 / Данные: ReversingLabs.com

Через год исследователи RL обнаружили продолжение кампании VMConnect на этот раз связанное с фейковыми тестами кодирования для рекрутинга. Вредоносные пакеты PyPI связали с GitHub-репозиториями, принадлежавшими злоумышленникам. Все они были тестами навыков кодирования, связанными с собеседованиями. Когда жертва запускала эти пакеты во время выполнения теста, они выполняли загрузчик, который получал вредоносное ПО второго этапа. Злоумышленники выдавали себя за Capital One — крупную финансовую компанию США. В течение 2025 года исследователи Socket подробно описывали пакеты npm, которые были частью кампании, связанной с Lazarus. В этой кампании атрибуция к Lazarus Group была основана на сходстве с техниками, использованными в их предыдущих кампаниях. Среди них:

  • Фейковые собеседования как вектор начального контакта.
  • Вредоносные задачи по кодированию как начальный вектор заражения.
  • Цели, связанные с блокчейном и криптотрейдингом.
  • Многостадийное вредоносное ПО с несколькими уровнями шифрования.
  • Терпение при публикации вредоносных версий — с неделями между публикацией начальной версии пакета и первой вредоносной версией.
  • Защищенная токеном коммуникация C2.
  • Метки времени GMT+9 (часовой пояс Северной Кореи).

Имеющиеся доказательства свидетельствуют, что это высокосложная кампания. Ее модульность, длительность, терпение в формировании доверия к различным элементам кампании и сложность многоуровневого и зашифрованного вредоносного ПО указывают на работу государственного угрожающего актора.

ДанІ: ReversingLabs.com

Заключение

Фейковые собеседования как начальный вектор контакта, а также история и вредоносное ПО, ориентированное на криптовалюты, вместе с другими техниками, упомянутыми в этом посте, указывают на Lazarus Group из Северной Кореи. Вероятно, это самый заметный угрожающий актор, нацеленный на популярные репозитории пакетов с открытым исходным кодом. Его присутствие постоянно ощутимо в этих экосистемах, и новые вредоносные пакеты, несомненно, будут появляться еще долгое время.

Модульный подход в этой кампании позволяет угрожающему актору легко создавать фронтенд-кампании без необходимости менять бэкэнд-сервисы, ответственные за доставку вредоносных payload’ов. Прямая связь между пакетами с названием «graph» в репозиториях npm и PyPI и вакансиями на тему veltrix-capital очевидно. В то же время до сих пор не нашли «фронтенд»-кампанию для пакетов с названием «big» или для недавно обнаруженной VBS-версии финального RAT-payload’а. Все эти факты свидетельствуют о том, что кампания продолжается и не имеет признаков остановки.

Контент сайту призначений для осіб віком від 21 року. Переглядаючи матеріали, ви підтверджуєте свою відповідність віковим обмеженням.

Cуб'єкт у сфері онлайн-медіа; ідентифікатор медіа - R40-06029.