«Мав бути спокійний день, а в результаті чищу ноут»: фейкова співбесіда ледве не коштувала українському розробнику даних

«Мав бути спокійний день, а в результаті чищу ноут»: фейкова співбесіда ледве не коштувала українському розробнику даних

Підозрілий swagger.js та загроза у 15 КБ

Після кількох днів перемовин потенційні роботодавці надіслали Анатолію посилання на приватний репозиторій із базовою структурою фулстек-застосунку (Node.js API + React frontend). Зовні все виглядало абсолютно стандартно, однак перед запуском розробник вирішив перевірити вміст файлів.

«Сьогодні мав бути спокійний день, а в результаті зараз чищу ноут, — поділився Анатолій у LinkedIn. — Перш ніж щось запускати, я за звичкою переглянув код. І у файлі middlewares/swagger.js — там, де мала бути звичайна конфігурація Swagger-документації — знайшов близько 15 KB важко обфускованого JavaScript».

Детальний аналіз показав, що виявлений шкідливий код працював за схемою повноцінного дроппера:

  • виконується одразу при підключенні файлу (require), ще до запуску сервера та навіть без виконання npm install$
  • створює секретну папку в домашній директорії та записує туди додатковий payload;
  • без відома користувача завантажує axios, better-sqlite3, node-machine-id та socket.io-client;
  • модуль better-sqlite3 використовується для читання баз даних Chrome, Brave та Firefox, де зберігаються паролі, cookies й автозаповнення. Водночас socket.io-client підтримує постійний зв’язок із C2-сервером хакерів для віддаленого виконання команд;
  • наприкінці файл експортує порожню middleware-функцію, аби застосунок працював без помилок і не викликав підозр.

Описана комбінація дій збігається з хакерськими кампаніями, про які повідомляли дослідники на кшталт ESET під назвою «DeceptiveDevelopment» (раніше — кластер «Contagious Interview»). Мета таких атак — викрадення паролів, SSH/хмарних ключів та криптогаманців у розробників. Після викриття рекрутер одразу видалив переписку та свій профіль у LinkedIn.

Нагадаємо, що раніше dev.ua розповідав про російських хакерів Sandworm, які полюють на українських ІТ-фахівців через фейкові співбесіди.

«У моєму випадку все закінчилося повним перевстановленням системи, зміною паролів і відкликанням старих ключів. Нічого критичного, здається, вкрадено не встигло, але осад лишився», — зазначив фахівець.

Поради для айтівців: як не потрапити у пастку

Аби захистити свій робочий пристрій від подібних загроз, Анатолій Шумов радить дотримуватися кількох правил кібергігієни.

  • Перевіряйте код ДО запуску: завжди переглядайте вміст файлів репозиторію перед виконанням npm install чи запуском самого застосунку.
  • Аналізуйте невідповідності: звертайте увагу на файли, чия назва суперечить вмісту (наприклад, swagger.js без функціоналу Swagger — це прямий червоний прапорець).
  • Використовуйте ізольоване середовище: тестові завдання від незнайомих компаній безпечніше відкривати у віртуальній машині (VM) або Docker-контейнері, а не на основному робочому ПК.
  • Не ігноруйте обфускацію: наявність заплутаного або зашифрованого JS-коду в звичайному проєкті — це привід зупинити роботу й розібратися, а не списувати це на стиль автора.

/

ReactJs / Native Developer Анатолій Шумов під час пошуку роботи зіткнувся з кібератакою, маскованою під звичайне тестове завдання від іноземної компанії. Замість звичного перевірочного коду в отриманому репозиторії виявився прихований шкідливий скрипт, призначений для викрадення персональних даних та отримання віддаленого доступу до пристрою.

Leave a Reply

Your email address will not be published. Required fields are marked *