Depositphotos
Дослідницька команда ReversingLabs виявила нову гілку фейкової кампанії з працевлаштування, яка, націлена на крипторозробників із використанням RAT (Remote Access Trojan). Це вірус, який працює у фоновому режимі та дозволяє хакеру керувати вашим пристроєм на відстані. Кампанію, яку назвали graphalgo — за назвою першого пакета, включеного до цієї кампанії в репозиторії npm — проводить північнокорейська хакерська група Lazarus Group. Вона активна з початку травня 2025 року. Ці дії націлені як на розробників JavaScript, так і Python, із фейковими завданнями для рекрутингу, пов’язаними з криптовалютами.
Зміст
До розробників звертаються через соціальні платформи, такі як LinkedIn і Facebook, або через пропозиції роботи на форумах на кшталт Reddit. Кампанія включає добре продуману історію навколо компанії, що нібито працює у сфері блокчейну та криптовалютних бірж. Шкідлива функціональність прихована за допомогою кількох рівнів непрямості через публічні сервіси, включно з GitHub, npm і PyPI.
Кампанія включає шкідливий npm-пакет bigmathutils, який зібрав понад 10 тисяч завантажень з моменту публікації початкової, нешкідливої версії — до випуску другої версії, що містила шкідливий payload. Усю кампанію можна розділити на кілька частково незалежних активностей, які здійснює загрозливий актор, що стоїть за нею. Новим у цій кампанії є її модульність, яка дозволяє загрозливому актору підтримувати кампанію активною навіть у разі компрометації лише частини її елементів.
Центральною частиною є фейкова компанія, що працює з темами, пов’язаними з блокчейном і криптотрейдингом. У цьому випадку вона мала назву “veltrix-capital”, однак дуже ймовірно, що в межах цієї кампанії існують й інші організації з аналогічним профілем. Домен компанії (www.veltrixcap.org) створили 4 квітня 2025 року. Також було створено пов’язану GitHub-організацію з назвою veltrix-capital. Варто зазначити, що швидкий пошук у Google показує кілька інших компаній зі схожою назвою, однак складно визначити, чи є вони фейковими, чи легітимними структурами.
Фірма “Veltrix Capital”, зафіксована в межах цієї кампанії, мала примітивний сайт із базовою інформацією — баченням і місією компанії — але без конкретних даних про керівництво чи контактної інформації. Водночас для загрозливого актора не є складним створити нову фейкову компанію у випадку компрометації цієї. Ймовірно, це й було зроблено в жовтні 2025 року, коли з’явилася нова GitHub-організація veltrixcapital, що вказує на домен veltrixcapital.ai, зареєстрований 21 вересня 2025 року.
Поки що не зафіксовано шкідливої активності, пов’язаної з цією організацією, однак на її сайті та в акаунтах у соцмережах постійно з’являється новий контент. Він виглядає загальним і, ймовірно, згенерованим ШІ та, слугує для створення відчуття надійності. Дуже вірогідно, що в майбутньому він буде використаний для публікації шкідливого контенту.
Під акаунтом 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
Як зазначено в описі репозиторію, роль розробника полягає в тому, щоб “запустити, налагодити та покращити…”. Усе, що після слова “запустити”, не має значення, адже саме в цей момент шкідлива залежність встановлюється та виконується на машині жертви. Створити такі репозиторії із завданнями для роботи легко. Загрозливим акторам достатньо взяти легітимний базовий проєкт і додати до нього шкідливу залежність — і він готовий до використання проти цілей.
У разі викриття однієї з “фейкових” кампаній із працевлаштування як фейкової — наприклад, історії навколо компанії veltrix-capital — існує велика ймовірність, що буде виявлено лише саму “робочу” історію, тоді як шкідливий payload та інфраструктура, відповідальна за його доставку, не потребуватимуть змін. Загрозливому актору потрібно лише підготувати нову фейкову компанію та нову вакансію. Такий модульний підхід переносить навантаження з підтримки кампанії з дорогих технічних змін на дешеву соціальну інженерію.
Через репозиторії ідентифіковано кількох скомпрометованих розробників, з якими зв’язалися для отримання додаткової інформації про інцидент. Вони підтвердили, що до них зверталися рекрутери через різні канали. Деякі з них натрапили на оголошення про вакансії на форумах, таких як Reddit, або в спеціалізованих групах Facebook. До деяких жертв рекрутери зверталися безпосередньо через соціальні мережі, такі як LinkedIn.
Невідомо, чи ці рекрутери є фейковими акаунтами, керованими загрозливим актором, чи реальними рекрутерами, яких було найнято для підвищення довіри до пропозиції. Судячи з рекрутерів, які згадували роботу у veltrix-capital, складається враження, що це реальні рекрутери. RL зв’язалася з одним із них і отримала швидку початкову відповідь, але після запитань про компанію розмова припинилася.
Описані вище частини кампанії можна назвати “фронтендом”, тоді як шкідлива функціональність безпосередньо для крипторозробників розміщена в “бекенді” та використовує публічні репозиторії пакетів, такі як npm і PyPI, для розміщення шкідливих завантажувачів. Такий підхід дуже зручний для загрозливих акторів, оскільки надає безплатний і легітимний канал для хостингу шкідливих payload’ів. Водночас це дозволяє використовувати ті самі payload’и в різних фронтенд-кампаніях. Шкідливі пакети, пов’язані з цією кампанією, можна розділити на дві групи залежно від того, які пакети вони імітують:
Пакети “graph” імітували легітимні пакети — graphlib у npm і networkx у PyPI. Використання цих пакетів було зафіксовано в завданнях, пов’язаних із veltrix-capital. Пакети “big” не були зафіксовані в жодному із завдань veltrix-capital, тому дуже ймовірно, що триває інша, поки що невиявлена, “фронтенд”-операція.
У межах відстеження цієї кампанії знайшли пакет bigmathutils. Однак протягом місяця після публікації він не містив нічого шкідливого, проте за цей період він зібрав понад 10 тисяч завантажень. 11 лютого опублікували нову версію пакета. Вона містила той самий payload, що спостерігався в інших пакетах цієї кампанії. Тобто шкідливу версію було опубліковано після формування початкової бази користувачів. Невдовзі після публікації шкідливу версію видалили, а автор оприлюднив попередження про застарілість пакета.
Payload’и другого етапу, які спостерігала RL, діяли як завантажувачі фінального payload’а — трояна віддаленого доступу (RAT), який періодично отримує та виконує команди з сервера керування та контролю. Підтримуються типові команди, такі як завантаження/вивантаження файлів, перегляд процесів і виконання довільних команд.
Цікавий момент полягає в тому, що зв’язок із C2-сервером захищений токеном. Це означає, що C2-сервер не прийматиме запити без дійсного токена, виданого сервером під час реєстрації агента або запиту команди. Подібне раніше вже спостерігалося в кампаніях, пов’язаних із північнокорейськими державними акторами. Ще одна помітна функція RAT — перевірка наявності розширення браузера Metamask. Це ще одна типова ознака активностей, пов’язаних із КНДР, і чіткий сигнал того, що загрозливий актор зацікавлений у криптовалютних коштах.
Знайшли три версії payload’а з ідентичною функціональністю, написані трьома різними мовами програмування. Версія фінального RAT-payload’а вперше зафіксована 4 лютого 2026 року. Вона призначена для зв’язку з тим самим C2-сервером (codepool.cloud), який спостерігався в пакетах із назвою “graph”. Це ще один сигнал, що свідчить про існування інших “фронтенд”-версій цієї кампанії.
Існує тривала історія шкідливої діяльності північнокорейських загрозливих акторів у публічних репозиторіях пакетів, таких як npm і PyPI. У серпні 2023 року RL опублікувала два блог-дописи, що описували шкідливі імітації легітимних пакетів PyPI, які завантажували шкідливе ПЗ з інфраструктури, контрольованої зловмисниками. Довіра до пакетів підкріплювалася відповідними GitHub-репозиторіями. Кампанію було названо VMConnect, а згодом приписано Lazarus Group — північнокорейській групі, пов’язаній із низкою складних кампаній.
Через рік дослідники RL виявили продовження кампанії VMConnect цього разу пов’язане з фейковими тестами кодування для рекрутингу. Шкідливі пакети PyPI зв’язали з GitHub-репозиторіями, що належали зловмисникам. Усі вони були тестами навичок кодування, пов’язані зі співбесідами. Коли жертва запускала ці пакети під час виконання тесту, вони виконували завантажувач, що отримував шкідливе ПЗ другого етапу. Зловмисники видавали себе за Capital One — велику фінансову компанію США. Протягом 2025 року дослідники Socket детально описували пакети npm, що були частиною кампанії, пов’язаної з Lazarus. У цій кампанії атрибуція до Lazarus Group базувалася на схожості з техніками, використаними в їхніх попередніх кампаніях. Серед них:
Наявні докази свідчать, що це високоскладна кампанія. Її модульність, тривалість, терпіння у формуванні довіри до різних елементів кампанії та складність багаторівневого й зашифрованого шкідливого ПЗ вказують на роботу державного загрозливого актора.
Фейкові співбесіди як початковий вектор контакту, а також історія та шкідливе ПЗ, орієнтовані на криптовалюти, разом з іншими техніками, згаданими в цьому дописі, вказують на Lazarus Group із Північної Кореї. Ймовірно, це найпомітніший загрозливий актор, що націлюється на популярні репозиторії пакетів із відкритим кодом. Його присутність постійно відчутна в цих екосистемах, і нові шкідливі пакети, безсумнівно, з’являтимуться ще тривалий час.
Модульний підхід у цій кампанії дозволяє загрозливому актору легко створювати фронтенд-кампанії без необхідності змінювати бекенд-сервіси, відповідальні за доставляння шкідливих payload’ів. Прямий зв’язок між пакетами з назвою “graph” у репозиторіях npm і PyPI та вакансіями на тему veltrix-capital є очевидним. Водночас досі не знайшли “фронтенд”-кампанію для пакетів із назвою “big” або для нещодавно виявленої VBS-версії фінального RAT-payload’а. Усі ці факти свідчать про те, що кампанія триває і не має ознак зупинки.
Контент сайту призначений для осіб віком від 21 року. Переглядаючи матеріали, ви підтверджуєте свою відповідність віковим обмеженням.
Cуб'єкт у сфері онлайн-медіа; ідентифікатор медіа - R40-06029.