Исследователи Socket сообщили о новой волне кампании Contagious Interview: на этот раз вредоносные пакеты нашли сразу в пяти экосистемах открытого ПО — npm, PyPI, Go Modules, crates.io и Packagist. По данным компании, пакеты маскировались под обычные инструменты разработчика, например библиотеки для логирования, отладки, HTTP-запросов и работы с лицензиями, но на деле выступали загрузчиками вредоносного кода.
В публикации перечислены конкретные имена пакетов и модулей, которые исследователи связали с этой активностью: dev-log-core, logger-base, logkitx в npm; logutilkit, apachelicense, fluxhttp, license-utils-kit в PyPI; github.com/golangorg/formstash в Go Modules; logtrace в crates.io; и golangorg/logkit в Packagist.

На скриншоте выше показан образ npm aokisasakidev1, когда его набор пакетов еще был активен.
Исследователи также пишут, что злоумышленники действовали под псевдонимами в GitHub, в том числе golangorg.
![На момент захвата учетная запись содержала log-base, dev-log, и logger-base (связанные со вредоносной строкой загрузчика npm, привязанной к dev-log-core); logutilkit(вредоносный пакет PyPI logutilkit); formstash( вредоносный модуль Go github[.]com/golangorg/formstash); и logkit( вредоносный пакет Packagist golangorg/logkit). Вредоносный крейт Rust logtrace также связан с той же учетной записью GitHub и личностью. Вместе эти пакеты демонстрируют операцию, охватывающую JavaScript, Python, Go, Rust и PHP с одного псевдонима. На момент захвата учетная запись содержала log-base, dev-log, и logger-base (связанные со вредоносной строкой загрузчика npm, привязанной к dev-log-core); logutilkit(вредоносный пакет PyPI logutilkit); formstash( вредоносный модуль Go github[.]com/golangorg/formstash); и logkit( вредоносный пакет Packagist golangorg/logkit). Вредоносный крейт Rust logtrace также связан с той же учетной записью GitHub и личностью. Вместе эти пакеты демонстрируют операцию, охватывающую JavaScript, Python, Go, Rust и PHP с одного псевдонима.](https://anonhaven.com/media/uploads/2026/04/3654ab6d-0222-4ebe-affc-2293b000afa9.png)
Скриншот учетной записи злоумышленника golangorg на GitHub, показывающий текущие общедоступные репозитории, связанные с исследуемым нами кластером.
Пакеты вредоносного ПО разработаны так, чтобы имитировать легитимные инструменты разработчиков (такие как debug, debug-logfmt, pino-debug, baraka, license, http, libprettylogger, и openlss/func-log), при этом незаметно функционируя как загрузчики вредоносного ПО, расширяя устоявшуюся тактику Contagious Interview до скоординированной операции по распространению вредоносного ПО в рамках всей экосистемы.
Главная особенность этой волны — повторяющийся сценарий загрузки второго этапа заражения. По данным Socket, многие пакеты не содержали весь вредоносный функционал прямо в основном коде, а сначала обращались к внешней инфраструктуре, получали downloadUrl, скачивали ZIP-архив вроде ecw_update.zip, распаковывали его во временный каталог и запускали платформозависимый полезный груз. Такой подход усложняет обнаружение: на первый взгляд пакет может выглядеть как обычная библиотека, а вредоносная логика срабатывает уже во время работы конкретной функции.
Анализ связывает эту активность с инфраструктурой, включая apachelicense[.]vercel[.]app, ngrok-free[.]vercel[.]app, logkit.onrender[.]com, logkit-tau[.]vercel[.]app, 66[.]45[.]225[.]94, и шаблонами доставки на основе Google Drive.
Исследователи отдельно подчеркивают, что вредоносный код часто был спрятан не в установочном сценарии, а внутри на вид безобидных методов. Например, в Python-пакетах запуск скрывался в функциях с названиями вроде find_by_key(), а в Rust-крейте logtrace — внутри метода Logger::trace(). В Go-модуле formstash, который внешне был похож на реальный парсер multipart-данных, нашли посторонний вспомогательный код для загрузки и запуска следующего этапа.
По оценке Socket, основная цель этой активности — кража данных и удаленный доступ к машине разработчика. В статье говорится о попытках похищать учетные данные, данные браузеров, содержимое менеджеров паролей и криптокошельков. Для Windows-варианта license-utils-kit компания описывает более тяжелый сценарий: удаленное выполнение команд, кейлоггинг, сбор файлов, кражу данных браузера и кошельков, а также разворачивание средств удаленного доступа.
В пакетах PyPI публичные сообщения от Bad Packages также выявили хеши доказательств второго этапа 9a541dffb7fc18dc71dbc8523ec6c3a71c224ffeb518ae3a8d7d16377aebee58, bb2a89001410fa5a11dea6477d4f5573130261badc67fe952cfad1174c2f0eddа
Zscaler обнаружил дополнительную полезную нагрузку RAT на основе Python с хешем SHA-256 7c5adef4b5aee7a4aa6e795a86f8b7d601618c3bc003f1326ca57d03ec7d6524.
То, что речь идет не о единичном эпизоде, подтверждают и другие источники. Microsoft в марте 2026 года писала, что Contagious Interview — это продолжающаяся с 2022 года кампания, в которой злоумышленники используют доверие к процессу найма: под видом тестовых заданий и репозиториев для собеседований они убеждают разработчиков запускать пакеты, команды и задачи из IDE. Microsoft также отмечает, что такие атаки нацелены на разработчиков, потому что у них часто есть доступ к исходному коду, токенам, ключам подписи, CI/CD и облачной инфраструктуре.
Есть и внешнее подтверждение по отдельным артефактам. Для крейта logtrace уже опубликована запись в базе RustSec: пакет удалили из crates.io как содержащий вредоносный код.
Socket пишет, что отслеживает кампанию с 2024 года и сейчас связывает с ней уже более 1700 вредоносных артефактов. На отдельной странице кампании компания указывает 1705 затронутых пакетов и активность как минимум в пяти экосистемах — cargo, composer, npm, pypi и go. При этом последняя активность на странице кампании отмечена 7 апреля 2026 года, то есть история остается живой, а не архивной.
Microsoft рекомендует запускать тестовые задания и репозитории от рекрутеров только в изолированной среде — например, в отдельной виртуальной машине без доступа к рабочим секретам и продакшен-ресурсам. Отдельно советуют проверять сторонние репозитории до запуска скриптов, установки зависимостей и доверия к задачам IDE, а также внимательно относиться к шаблонам «скачай и сразу выполни».
*
- Contagious Interview — это название кампании, в которой разработчиков атакуют через поддельные вакансии, тестовые задания и репозитории для «собеседования». Microsoft пишет, что она активна как минимум с декабря 2022 года.
- Второй этап заражения — это дополнительный вредоносный модуль, который не всегда лежит внутри самого пакета. Пакет может сначала скачать его с внешнего сервера уже после запуска. Именно это и описывает Socket для новой волны.
- Загрузчик — промежуточный вредоносный код, который сам по себе может делать немного, но умеет подтянуть основной полезный груз, запустить его и закрепиться в системе. В этой истории как раз такие загрузчики и прятали под видом обычных библиотек.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.