OTTERCOOKIE ховається у SVG-файлах тестових завдань

Фальшиві тестові проєкти ховають фрагменти OTTERCOOKIE у SVG-прапорах. Пояснюємо, що запускається та як діяти після npm run dev.

Фрагменти OTTERCOOKIE, приховані у SVG-файлах прапорів тестового проєкту.

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

Сам перегляд SVG не є тригером у зафіксованому ланцюзі. Шкідливий код запускається, коли кандидат встановлює залежності й стартує проєкт. Саме тому справний інтерфейс тестового завдання не доводить його безпечність.

Як OTTERCOOKIE ховається у SVG

У репозиторії є звичайні зображення прапорів. Усередині HTML-коментарів приховані закодовані частини навантаження. Завантажувач перебирає SVG-файли, сортує їх, дістає коментарі, об’єднує та декодує фрагменти, після чого передає результат у eval. У вікні перегляду прапор виглядає нормально, тоді як вихідний або шістнадцятковий код видає приховані дані.

Файл прапора AE.svg із Base64-фрагментом, прихованим у HTML-коментарі.
SVG-прапор виглядає звичайно, але його вихідний код містить закодований фрагмент. Джерело: Elastic Security Labs.

Це спосіб доставки, а не експлойт браузера. Зловмисник розраховує, що розробник довіриться репозиторію. 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. Сервер уже не відповідав, тому точне призначення другого етапу не підтверджене.

Схема доставки фальшивого тестового завдання та модулів OTTERCOOKIE.
Ланцюг веде від фальшивої вакансії до тестового проєкту та чотирьох модулів OTTERCOOKIE. Джерело: Elastic Security Labs.

Що перевірити після запуску підозрілого проєкту

  1. Від’єднайте комп’ютер від мережі. Не запускайте репозиторій повторно і не відкривайте його домени із підозрюваної системи.
  2. Збережіть докази. Запишіть акаунт рекрутера, URL і commit репозиторію, історію термінала, процеси Node, активність PowerShell та мережеві з’єднання.
  3. Перегляньте код запуску й SVG. Шукайте serverValidation.js, assets/flags, довгі Base64-коментарі, динамічний eval, rightwidth.dev і назву процесу npm-cache.
  4. Вважайте сесії та секрети скомпрометованими. З окремого чистого пристрою завершіть браузерні сесії, змініть паролі й токени, замініть ключі хмарних сервісів та перевірте операції гаманців. Додатковий порядок дій є у матеріалі про крадіжку seed-фраз і криптогаманців.
  5. Перевірте всю систему. Захисний засіб може зупинити видимий процес Node або PowerShell, але не поверне викрадені сесії та не виключить раніший доступ RAT. Повне сканування Gridinsoft Anti-Malware допоможе знайти залишкові файли й механізми автозапуску.

Якщо на комп’ютері були production-доступи, ключі підпису, SSH-агент або криптогаманець, одного видалення репозиторію недостатньо. Перевірте також техніки з матеріалу про ACR Stealer і відновлення після крадіжки даних.

Як зменшити ризик

Запускайте незнайомі завдання в одноразовій віртуальній машині без особистих профілів браузера, SSH-агента, cloud CLI, менеджера паролів і розширень гаманців. До встановлення залежностей перевіряйте скрипти у package.json та серверні точки входу. Ризик довільного коду у репозиторіях також показує вразливість Cursor у Windows.

Джерела

  1. Elastic Security Labs — Contagious Interview використовує SVG-стеганографію, липень 2026 року.
  2. Microsoft Threat Intelligence — шкідливі проєкти у фальшивих співбесідах, 11 березня 2026 року.

Пишу про те, як зробити життя онлайн комфортним і безпечним. Вірю, що сучасний цифровий світ вартий того, щоб бути його частиною.