Фальшиве тестове завдання для розробника може працювати як очікується, але водночас зберігати частини OTTERCOOKIE у SVG-файлах прапорів. Elastic Security Labs описала кампанію REF9403 після того, як розробник отримав у Slack пропозицію роботи. Команда npm run dev завантажувала serverValidation.js, збирала Base64-фрагменти з assets/flags/*.svg і виконувала їх у пам’яті [1].
Сам перегляд SVG не є тригером у зафіксованому ланцюзі. Шкідливий код запускається, коли кандидат встановлює залежності й стартує проєкт. Саме тому справний інтерфейс тестового завдання не доводить його безпечність.
Як OTTERCOOKIE ховається у SVG
У репозиторії є звичайні зображення прапорів. Усередині HTML-коментарів приховані закодовані частини навантаження. Завантажувач перебирає SVG-файли, сортує їх, дістає коментарі, об’єднує та декодує фрагменти, після чого передає результат у eval. У вікні перегляду прапор виглядає нормально, тоді як вихідний або шістнадцятковий код видає приховані дані.

Це спосіб доставки, а не експлойт браузера. Зловмисник розраховує, що розробник довіриться репозиторію. Microsoft пов’язує ширшу операцію Contagious Interview із північнокорейськими акторами, які видають себе за рекрутерів і надсилають шкідливі проєкти або завдання для налагодження [2].
Що запускається після npm run dev
Дослідники виділили чотири можливості. Один модуль краде облікові дані браузера та бази розширень криптогаманців. Другий шукає документи й секрети, зокрема .env, .ssh, .aws та .azure. Компонент Socket.IO забезпечує віддалене керування, а ще один модуль стежить за буфером обміну та може завантажити Windows-файл.
Процес може називати себе npm-cache. У кампанії використовували rightwidth[.]dev і піддомени ldb, upload, controller та file. Windows-файли мали службоподібні назви hostService.exe, printSvc.exe і dhcpSvc.exe. Сервер уже не відповідав, тому точне призначення другого етапу не підтверджене.

Що перевірити після запуску підозрілого проєкту
- Від’єднайте комп’ютер від мережі. Не запускайте репозиторій повторно і не відкривайте його домени із підозрюваної системи.
- Збережіть докази. Запишіть акаунт рекрутера, URL і commit репозиторію, історію термінала, процеси Node, активність PowerShell та мережеві з’єднання.
- Перегляньте код запуску й SVG. Шукайте
serverValidation.js,assets/flags, довгі Base64-коментарі, динамічнийeval,rightwidth.devі назву процесуnpm-cache. - Вважайте сесії та секрети скомпрометованими. З окремого чистого пристрою завершіть браузерні сесії, змініть паролі й токени, замініть ключі хмарних сервісів та перевірте операції гаманців. Додатковий порядок дій є у матеріалі про крадіжку seed-фраз і криптогаманців.
- Перевірте всю систему. Захисний засіб може зупинити видимий процес Node або PowerShell, але не поверне викрадені сесії та не виключить раніший доступ RAT. Повне сканування Gridinsoft Anti-Malware допоможе знайти залишкові файли й механізми автозапуску.
Якщо на комп’ютері були production-доступи, ключі підпису, SSH-агент або криптогаманець, одного видалення репозиторію недостатньо. Перевірте також техніки з матеріалу про ACR Stealer і відновлення після крадіжки даних.
Як зменшити ризик
Запускайте незнайомі завдання в одноразовій віртуальній машині без особистих профілів браузера, SSH-агента, cloud CLI, менеджера паролів і розширень гаманців. До встановлення залежностей перевіряйте скрипти у package.json та серверні точки входу. Ризик довільного коду у репозиторіях також показує вразливість Cursor у Windows.
Джерела
- Elastic Security Labs — Contagious Interview використовує SVG-стеганографію, липень 2026 року.
- Microsoft Threat Intelligence — шкідливі проєкти у фальшивих співбесідах, 11 березня 2026 року.
