Скам в тестовом задании

 Публичный пост

Всем привет! Этим постом хочу призвать разработчиков, авто-тестировщиков, девопсов и других специалистов, чья работа сопряжена с кодом: не открывайте без виртуального рабочего стола никакой код, даже если он кажется тестовым безобидным заданием!

А если кто-то может/ хочет помочь в обнародовании или даже передачи этой истории в нужные уполномоченные органы — буду страшно признательна!

Предисловие

Моему партнёру (далее — Денис) прислали тестовое задание, в котором был вредоносный код.

Денис всегда запускает весь сторонний код в виртуалке, за что недавно получил насмешку

Ой, а камеру заклеиваешь на компьютере?!

Я бесконечно горда Деном, что он не ведётся на такое, в отличие от меня. И правильно делает, что не запускает ничего на своём компе, а вот камеру не заклеивает.

В общем, версия Дена изложена в ссылочке, а тут я дам русскую версию — так подсказали мне сделать дорогие админы!

История из первых уст

Перевод с помощью claude.ai

« Привет всем!
На прошлой неделе человек, представившийся бразильцем (прим. автора — все скрины будут у Дена в посте»), предложил мне «тестовое задание» как часть процесса найма.

Luiz Antonio Haus
Director | Crypto Investor
Curitiba, Paraná, Brazil
https://www.linkedin.com/in/luiz-antonio-haus-02b85031/

Проект казался подозрительно большим для разового задания по программированию, поэтому я провел расследование и обнаружил, что это на самом деле вредоносное ПО.
При запуске оно загружает сильно обфусцированный JavaScript код с C2 - Command and Control сервера, который затем выполняется с использованием встроенной функции NodeJS require в качестве параметра. Можете посмотреть, как это происходит, в файле ./backend/src/cookie.js.

Текст вредоносного ПО можно загрузить с их сервера (это вредно, только если вы его не запускаете). Поскольку он сильно обфусцирован и нечитаем невооруженным глазом, я попросил Grok проанализировать, что он делает.

Код сканирует пользовательские профили в популярных браузерах на предмет специфических расширений браузера, связанных с криптокошельками. Он извлекает конфиденциальные данные (например, локальное хранилище, базы данных LevelDB, содержащие ключи, seed-фразы или данные сессий) из этих расширений.
Короче говоря, он крадет файлы криптокошельков из ваших локальных директорий и загружает их на сервер, вероятно, чтобы позже опустошить ваши средства.
Репозиторий был создан одним коммитом от человека с именем, которое кажется украинским, но которое также упоминается в отчете по кибербезопасности, связывающем его с Северной Кореей.

Oleksandr Kazadaiev
Oleksandr522 oleksandrkazadaiev522@gmail.com
https://bitbucket.org/devchallenge/challenge/commits/e81b98a86774ede00917253abb86970b5d1fc413/raw

Адрес сервера привязан к голландской VPS-компании.

ASN: AS49870 - Alsycon B.V.
Hostname: aviso3.contavalidaseg.com
Range: 45.95.147.0/24
Компания: Alsycon B.V. | VPS - Выделенные серверы - Колокация

https://ipinfo.io/45.95.147.224

Хостнейм зарегистрирован на другого человека, также представляющегося бразильцем.

Alex Rafael
Сан-Паулу, Бразилия
+55.11916822917
alexrafaelars@gmail.com
https://who.is/whois/contavalidaseg.com

Я считаю, что полиция могла бы расследовать номер телефона и платежи за аренду сервера, чтобы выследить этих людей. Если вы знаете лучший способ сообщить об этом в бразильскую полицию, пожалуйста, дайте мне знать.
Будьте осторожны и никому не доверяйте.»

Action Item

Давайте попробуем придать этому хамскому скаму огласку! С любыми предложением, пусть даже самыми интересными, приходите сюда, в личку, куда угодно!

Я возмущена примерно на 9/10!

20 комментариев 👇

Я знаю подобный случай, знакомый попался. Собеседование проводили, попросили в лайф-режиме дописать одну форму к фронту, типа чтоб понять насколько быстро соискатель разбирается в чужом коде и вообще в большом проекте. Предварительно не предупреждали что придется что-то разворачивать, поэтому человек не подготовил виртуалку. Прямо во время собеса, пока он делал им форму, с кошельков увели всю крипту, благо там было не много, но все равно неприятно.

  Развернуть 1 комментарий

Да кстати, насколько я понял, малвари непосредственно в коде проекта не было, но была зависимость от внешней библиотеки, вот там и подтягивали скрипт, который давал доступ к файлам на зараженной машине.

  Развернуть 1 комментарий

К сожалению, конкретно на Линкедине такого очень много (да, собственно, и не только там). Сам лично, ходя по собеседованиям, собрал штук 5 подобных "образчиков" малварей. Они все разные, спрятаны в разных проектах, по-разному сделана обфускация и запуск самого скрипта.
При внимательном изучении аккаунтов, с которых были получены эти "задания" можно сделать вывод, что их скорее всего просто "угнали" у вадельцев.
В Линкедине есть возможность пожаловаться на такой аккаунт, что я обычно и делаю. Но что-то мне подсказывает, что платформа с этим никак не борется, ни с угоном аккаунтов, ни с распространением заразы через них.
Была у меня даже статейка там же на ЛН - внимания особо не привлекала. В общем, схема "широкоизвестная в узких кругах". И да, основные рекомендации к ходящим по вакансиям - это быть внимательными и "недоверчивыми".

  Развернуть 1 комментарий

@alexandro, Саша, да, на аккаунт тоже пожаловались.

С аккаунтом LinkedIn - ok.

А аренда серваков тоже на не настоящие имена, да?

  Развернуть 1 комментарий

@alina_v_m, серваки тоже угнанные обычно, червя закидывают через какую-нибудь уязвимость

  Развернуть 1 комментарий

@alina_v_m, да, ворованное там примерно всё.
Получив досутп к паролям и кукам современного айтишника можно добраться почти до всех сервисов, которыми он пользовался (а если малварь после себя еще и трояна подгрузит - будет полный контроль). Разных сервисов у среднего айтишника может быть очень много - это далеко не только аккаунты в соц. сетях. Так что мошенникам нет нужды что-то на себя регистрировать.

  Развернуть 1 комментарий

@mabrek, И вот что делать? 🙃

Как спасать от этого?

  Развернуть 1 комментарий

@alexandro, Если это такая частая проблема — как спасаться-то? 🥲

  Развернуть 1 комментарий

@alina_v_m, основное - бдительность.
Запуск в изолированной среде - очень хороший вариант.
Еще - подозрительные файлы проверять через Virustotal. На моей коллекции этот сайт нашел малварь в 3х из 5ти файлов.
Дальше - внимание к деталям в самой вакансии - типа завышенных зарплат или несоответствия контекста профайла юзера и предлагаемой деятельности.
Ну, и заботиться о безопасном хранении своих данных, на случай если все-таки зловред прокрался - чтоб ничего важное ему не досталось.

  Развернуть 1 комментарий

@alina_v_m, если целенаправленно не искать работу в крипте, то можно фильтровать предложения по ключевым, скама оттуда приходит на порядок больше, чем реальных предложений

  Развернуть 1 комментарий

@alexandro, пока Ден избрал способ одноразовых виртуалок и создал себе буквально аналог облачного дата-центра с кучей независимых кусочков.

Но вопрос — «софтинку бы, чтобы находить всякую мальварю...» , остаётся.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Игорь Алентьев AI Product Engineer | Founder Hirify.me 18 августа в 19:41

Частая история к сожалению. У меня вот такой гайдик есть - https://hirify.me/blog/scam-alert

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Алина Морозовская ♡ Продакт по любви автор 19 августа в 11:36

Игорь, спасибо-спасибо!

А есть ли какие-то хорошие инструменты на случай, когда Claude не нашёл уязвимости?

  Развернуть 1 комментарий

@alina_v_m, его и не клауде нашел, а сам разработчик смотря в код. Вывод один - всегда все тестовые открывайте в виртуальной машине.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб