Мошенники под видом рекрутеров
Ребят, аккуратнее с тестовыми заданиями от незнакомых рекрутеров.
Сейчас мошенники могут представиться рекрутером и прислать вредоносный код под видом тестового задания.
Это может быть ссылка на репозиторий или архив с проектом. Задача будет выглядеть вполне обычно: установить зависимости, запустить приложение и что-нибудь в нём поправить.
Но вместе с проектом можно запустить вредоносный код.
Схема такая:
Вам пишет якобы рекрутер, немного общается про опыт и предлагает хорошую вакансию. Потом присылает тестовое и просит запустить его на своём компьютере.
В одном из таких заданий нашли скрытый импорт вредоносного npm-пакета. Код был обфусцирован (специально запутан, чтобы его было сложно прочитать). После запуска он скачивал ещё один файл и запускал его отдельным процессом в фоне.
При этом ошибки игнорировались. Для кандидата проект мог просто не запуститься. Можно решить, что в тестовом что-то сломано, закрыть его и забыть. А вредоносный процесс уже работает.
Что он искал?
- данные браузеров Chrome, Edge;
- токены и сохранённые сессии;
- данные браузерных расширений;
- файлы криптокошельков;
- сохранённые пароли и другие учётные данные.
На компьютере разработчика обычно лежит ещё много важного: SSH-ключи, файлы .env, токены доступа к репозиториям, облакам и рабочей инфраструктуре.
И для этого не обязательно запускать какой-то подозрительный exe-файл. Вредоносный код может выполниться во время обычного npm install через install-скрипты пакета.
Что стоит проверить перед запуском?
1. Кто прислал тестовое
Посмотрите аккаунт рекрутера, сайт компании и саму вакансию. Лучше отдельно найти контакты компании и проверить, действительно ли у них есть такой сотрудник и вакансия.
2. Зависимости
Иногда вредоносный пакет маскируют под популярный. Например, пакет crossenv маскировался под настоящий cross-env. Отличие только в одном дефисе, который легко не заметить.
Поэтому стоит посмотреть package.json и проверить незнакомые зависимости.
3. Скрипты запуска
В обычном тестовом не должно быть кода, который скачивает неизвестные файлы, запускает PowerShell или отдельные процессы через child_process, spawn и exec.
А если рядом лежит огромный обфусцированный JavaScript, который невозможно нормально прочитать, такое тестовое лучше вообще не запускать.
4. Где запускается проект
Не стоит запускать неизвестное тестовое на рабочем компьютере или основном ноутбуке. Лучше использовать отдельную виртуальную машину без общих папок, паролей, ключей и рабочих доступов.
Docker тоже не всегда спасает. Если внутрь контейнера передали папки с компьютера, переменные окружения или Docker socket, доступ к данным всё ещё можно получить.
В последнее время всё чаще слышу про подобные истории. Будьте внимательны и смотрите, что вам присылают. Даже если это обычное тестовое задание от рекрутера.
————
Вам такие тестовые попадались? Я бы сейчас тестовые или вообще не делал. Или делал после реального собеседования и только тестовое в виде текстового файлика/ворда/просто сообщение (конечно, если очень хочется в этом месте работать).
upd. И да, следите кому отправляете свои документы (часто просят весь пакет документов для оформления на работу)! 100 раз подумайте, может ли этот человек быть скамщиком.
it пингвин | data engineer 🐧
Ребят, аккуратнее с тестовыми заданиями от незнакомых рекрутеров.
Сейчас мошенники могут представиться рекрутером и прислать вредоносный код под видом тестового задания.
Это может быть ссылка на репозиторий или архив с проектом. Задача будет выглядеть вполне обычно: установить зависимости, запустить приложение и что-нибудь в нём поправить.
Но вместе с проектом можно запустить вредоносный код.
Схема такая:
Вам пишет якобы рекрутер, немного общается про опыт и предлагает хорошую вакансию. Потом присылает тестовое и просит запустить его на своём компьютере.
В одном из таких заданий нашли скрытый импорт вредоносного npm-пакета. Код был обфусцирован (специально запутан, чтобы его было сложно прочитать). После запуска он скачивал ещё один файл и запускал его отдельным процессом в фоне.
При этом ошибки игнорировались. Для кандидата проект мог просто не запуститься. Можно решить, что в тестовом что-то сломано, закрыть его и забыть. А вредоносный процесс уже работает.
Что он искал?
- данные браузеров Chrome, Edge;
- токены и сохранённые сессии;
- данные браузерных расширений;
- файлы криптокошельков;
- сохранённые пароли и другие учётные данные.
На компьютере разработчика обычно лежит ещё много важного: SSH-ключи, файлы .env, токены доступа к репозиториям, облакам и рабочей инфраструктуре.
И для этого не обязательно запускать какой-то подозрительный exe-файл. Вредоносный код может выполниться во время обычного npm install через install-скрипты пакета.
Что стоит проверить перед запуском?
1. Кто прислал тестовое
Посмотрите аккаунт рекрутера, сайт компании и саму вакансию. Лучше отдельно найти контакты компании и проверить, действительно ли у них есть такой сотрудник и вакансия.
2. Зависимости
Иногда вредоносный пакет маскируют под популярный. Например, пакет crossenv маскировался под настоящий cross-env. Отличие только в одном дефисе, который легко не заметить.
Поэтому стоит посмотреть package.json и проверить незнакомые зависимости.
3. Скрипты запуска
В обычном тестовом не должно быть кода, который скачивает неизвестные файлы, запускает PowerShell или отдельные процессы через child_process, spawn и exec.
А если рядом лежит огромный обфусцированный JavaScript, который невозможно нормально прочитать, такое тестовое лучше вообще не запускать.
4. Где запускается проект
Не стоит запускать неизвестное тестовое на рабочем компьютере или основном ноутбуке. Лучше использовать отдельную виртуальную машину без общих папок, паролей, ключей и рабочих доступов.
Docker тоже не всегда спасает. Если внутрь контейнера передали папки с компьютера, переменные окружения или Docker socket, доступ к данным всё ещё можно получить.
В последнее время всё чаще слышу про подобные истории. Будьте внимательны и смотрите, что вам присылают. Даже если это обычное тестовое задание от рекрутера.
————
Вам такие тестовые попадались? Я бы сейчас тестовые или вообще не делал. Или делал после реального собеседования и только тестовое в виде текстового файлика/ворда/просто сообщение (конечно, если очень хочется в этом месте работать).
upd. И да, следите кому отправляете свои документы (часто просят весь пакет документов для оформления на работу)! 100 раз подумайте, может ли этот человек быть скамщиком.
it пингвин | data engineer 🐧