В июле 2025 года команда по исследованию угроз Socket Threat Research Team обнаружила значительное расширение кампании Contagious Interview, развернутой северокорейскими киберпреступниками, которые проникли в экосистему npm с помощью 67 вредоносных пакетов. Эта крупномасштабная операция основывается на техническом капитале и изощренных методах атаки, что представляет опасность для разработчиков, компаний и всей цепочки поставок программного обеспечения. Основной особенностью новой волны вредоносных пакетов стало использование ранее не зафиксированного загрузчика под названием XORIndex. Данный загрузчик характеризуется применением XOR-шифрования строк и индексно-обфусцированной логикой, направленной на сокрытие зловредного кода, а также эффективное обход систем обнаружения. XORIndex является развитием и дополнением к ранее задокументированному загрузчику HexEval, пользовавшемуся популярностью в атаках Contagious Interview.
Вредоносные npm-пакеты, распространяемые с помощью XORIndex Loader, распространялись по 18 аккаунтам npm, использовавшим 15 различных адресов электронной почты. Эти пакеты алеют паттерн именования, часто начинаясь или содержащие ключевые слова вроде vite-* или *-log*, что позволило исследователям выделить их как часть единой кампании. При этом пакеты были скачаны более 17 тысяч раз, из которых свыше 9 тысяч загрузок относились именно к XORIndex, а около 8 тысяч — к HexEval. Механизм заражения начинается с сбора системных данных жертвы. По примеру пакета eth-auditlog, вредоносный код собирает информацию о хосте, текущем пользователе операционной системы, IP-адресе устройства и его географическом расположении, а также версии установленного пакета.
Эти данные отправляются на жестко заданные командно-контрольные (C2) серверы, расположенные на инфраструктуре легитимных провайдеров, таких как Vercel, что затрудняет блокировку и обнаружение вредоносной активности. После сбора телеметрии загрузчик выполняет вызов eval() для исполнения JavaScript-кода, полученного с C2 сервера. Этот шаг позволяет динамически загружать и запускать дополнительные стадии вредоносного кода — наиболее заметным из которых является BeaverTail, являющийся второстепенным компонентом вредоносного ПО и отвечающий за кражу данных. BeaverTail представляет угрозу высокого уровня, поскольку он ориентирован на поиск и сбор конфиденциальной информации из криптовалютных кошельков, браузерных расширений и локальных системных хранилищ. Вредоносное ПО отслеживает более 50 кошельков и расширений, включая популярные MetaMask, Coinbase Wallet, Phantom и TronLink, а также файловые пути, связанные с браузерами на основе Chromium и Gecko.
Собранные данные архивируются и отправляются на заранее определенные C2-узлы, после чего вредоносное ПО удаляет следы пребывания собранных данных, чтобы усложнить расследование и предотвращение атаки. Кроме того, BeaverTail загружает на заражённое устройство третьестадийный бэкдор InvisibleFerret, который предоставляет злоумышленникам расширенный контроль, включая возможности удалённого исполнения команд, сохранения устойчивого доступа и дополнительного сбора данных. Такая многоуровневая инфраструктура вредоносного программного обеспечения демонстрирует высокий уровень организации и ресурсов, которыми располагают киберпреступники из Северной Кореи. Интересно отметить, что стратегия атакующих подразумевает постоянное обновление и модификацию своих загрузчиков. На пути от простого прототипа в виде пакета postcss-preloader с минимальными возможностями удаленного выполнения, через промежуточную фазу js-log-print с расширенным сбором системной информации, до современного dev-filterjs с использованием сложных методик обфускации кода, злоумышленники совершенствуют свои инструменты, чтобы обходить новые системы безопасности и маскироваться под легитимное ПО.
Использование инфраструктуры хостинга Vercel для размещения C2-серверов является характерным приемом, обеспечивающим высокую устойчивость командных узлов и усложняющим их блокировку. Такая тактика также снижает затраты злоумышленников на организацию инфраструктуры, позволяя им быстро масштабировать кампании или мигрировать креативным образом между разными конечными точками. В ответ на обнаружение вредоносных пакетов команда Socket направила многочисленные запросы на удаление вредоносных онлайн-ресурсов и приостановку аккаунтов нарушителей в npm-экосистеме. Несмотря на это, из-за динамичности и раздробленности кампаний Contagious Interview злоумышленники продолжают регулярно создавать новые учетные записи и публиковать вредоносные версии загрузчиков. По мнению экспертов, атаки такого рода свидетельствуют о том, что цепочки поставок программного обеспечения требуют особого внимания и новых стандартов защиты.
Разработчики ПО, особенно те, кто работает с открытыми исходными кодами и пакетами npm, оказываются основными мишенями ввиду доверия сообщества и широкого использования подтягиваемых зависимостей. Современные средства защиты, разработанные Socket Inc, включают в себя инструменты для быстрой идентификации подозрительного поведения на этапе установки пакетов, интеграции для сканирования pull-запросов и расширения для браузеров, показывающие показатели безопасности на страницах npm. Такие решения направлены на проактивное предотвращение внедрения вредоносных пакетов в производственные цепочки и проекты разработчиков. Исходя из анализа, можно ожидать дальнейшее развитие и усложнение загрузчиков, включение в них новых техник обфускации, расширение спектра собираемых данных и повышенную адаптивность. Таким образом, организации и специалисты по безопасности должны постоянно отслеживать последние угрозы, применять автоматизированные решения защиты и повышать осведомленность среди сообществ разработчиков.
Помимо технических мер, важной составляющей обороны является сотрудничество между исследовательскими командами, платформами управления пакетами и конечными пользователями. Только совместными усилиями возможно снижение риска распространения вредоносного кода и обеспечение устойчивости современного программного обеспечения. Атаки с использованием пакетов HexEval Loader и XORIndex Loader уже вошли в ежедневную реальность безопасности, и они продолжают эволюционировать. Новые примеры вредоносных пакетов и аккаунтов, связанных с ними, регулярно выявляются исследователями, что подчеркивает необходимость постоянных обновлений и активного мониторинга экосистемы npm. До настоящего момента не удалось полностью остановить деятельность Contagious Interview, что подтверждает высокий профессиональный уровень и ресурсы северокорейских нападателей.