Перейти к содержимому
Видео

Фейковые предложения о работе, которые взламывают разработчиков: два моих случая, тревожные признаки от ФБР и что помогает

В июне 2026 года тестовый проект фейкового заказчика прятал вредонос в npm-зависимости, и тот несколько дней работал на моём Mac; в октябре другой попросил вставить команду в терминал. 53-секундное объяснение: схема, тревожные признаки от ФБР и три привычки, которые её останавливают.

Опубликовано
Чтение
4 мин
Теги
  • security
  • malware
  • developer
  • explainer
Содержание
  1. Июнь: тестовый проект и был вредоносом
  2. Октябрь: камера выключена, «установите это приложение для встреч»
  3. Известная схема
  4. Почему мишень — люди
  5. Тревожные признаки
  6. Что помогает
  7. Что я сделал после этого
  8. Источники

Коротко: дважды в 2026 году фейковый «заказчик» пытался заставить меня запустить его код. В июне это сработало: тестовый проект прятал вредонос в одной из своих npm-зависимостей, тот работал несколько дней, и ни один антивирус не сказал ни слова. В октябре я отказался. Оба раза всё шло по схеме, которую ФБР связывает с Северной Кореей; официально мои два случая никто не атрибутировал, но они с ней совпадают. Совет ФБР: не запускайте код с собеседований на рабочем компьютере, если без этого никак — используйте отдельную виртуальную машину, и проверяйте, кто вас нанимает, через другой канал.

Июнь: тестовый проект и был вредоносом

Вся история — в моём предыдущем посте, Две фейковые вакансии на Upwork и один заражённый Mac. Если коротко: «заказчик» на фриланс-платформе дал мне тестовое задание по программированию.

"He sent over a Node.js test project called "Online_Store". The malicious code was hidden in one of its npm dependencies." («Он прислал тестовый проект на Node.js под названием „Online_Store“. Вредоносный код прятался в одной из его npm-зависимостей».)

Заметил я это не сразу: "By the time I noticed, it had been running in the background for days." («Когда я это заметил, он уже несколько дней работал в фоне».)

И ничто меня не предупредило: "neither macOS's built-in XProtect nor traditional antivirus made a sound, either time" («ни встроенный в macOS XProtect, ни обычный антивирус ни разу не подали голоса»).

Октябрь: камера выключена, «установите это приложение для встреч»

Через четыре месяца — новый «заказчик», на этот раз из фейковой фирмы. На видеозвонке "He kept his camera off" («он так и не включил камеру»). Потом "we had to switch to a meeting app called "Zeff"" («надо было перейти в приложение для встреч под названием „Zeff“»), а чтобы его получить, мне нужно было "run a curl | bash command in the terminal, or download a DMG. I didn't install it." («выполнить в терминале команду curl | bash или скачать DMG. Я не стал его ставить».)

Команды и адреса не попали ни в видео, ни в этот пост: речь о том, как распознать приманку, а не о том, что она устанавливает.

Известная схема

Если оглянуться назад, у обеих попыток была одна форма: "Both attacks followed the same playbook: contact, build trust, the ask, the payload. The second time, I stopped at the payload." («Обе атаки шли по одному сценарию: контакт, завоевание доверия, просьба, вредоносная нагрузка. Во второй раз я остановился на нагрузке».)

Именно о такой форме предупреждало ФБР. Его публичное предупреждение PSA 240903 называется "North Korea Aggressively Targeting Crypto Industry with Well-Disguised Social Engineering Attacks" («Северная Корея агрессивно атакует криптоиндустрию с помощью хорошо замаскированной социальной инженерии»). Мои случаи совпадают с описанной там схемой; официально их никто не атрибутировал, поэтому я не утверждаю, что меня взломала Северная Корея.

Почему мишень — люди

После взлома Binance Маккензи Джексон из Aikido рассказал BBC о сдвиге. В пересказе BBC: "He says hackers have shifted from going after company infrastructure to going after the machines of the people who run it." («По его словам, хакеры переключились с инфраструктуры компаний на компьютеры людей, которые её обслуживают».)

И о том, как именно: "Jackson says techniques vary, but include tricking workers into installing malware under the pretext of a job interview, or interfering with code that developers rely on." («Джексон говорит, что приёмы бывают разные, но среди них — обманом заставить сотрудников установить вредонос под предлогом собеседования или вмешаться в код, на который полагаются разработчики».)

Джексон описывал распространённые приёмы, а не то, как был взломан Binance.

Тревожные признаки

ФБР называет среди своих индикаторов вот этот: "Requests to conduct a "pre-employment test" or debugging exercise that involves executing non-standard or unknown Node.js packages, PyPI packages, scripts, or GitHub repositories." («Просьбы пройти „тест перед наймом“ или упражнение по отладке, в ходе которого нужно запускать нестандартные или неизвестные пакеты Node.js, пакеты PyPI, скрипты или репозитории GitHub».)

Из моих двух случаев — ещё два: «заказчик», который не включает камеру и хочет перейти в приложение, о котором вы никогда не слышали, и просьба вставить команду в терминал.

Что помогает

  1. Не на рабочем компьютере. ФБР: "Avoid taking pre-employment tests or executing code on company owned laptops or devices." («Не проходите тесты перед наймом и не запускайте код на ноутбуках и устройствах, принадлежащих компании».)
  2. Если код всё-таки нужно запустить, держите его отдельно. Совет ФБР вкратце: используйте виртуальную машину на устройстве, не подключённом к компании, или устройство, которое предоставит проверяющий.
  3. Проверяйте через другой канал. ФБР: "Develop your own unique methods to verify a contact's identity using separate unconnected communication platforms." («Выработайте собственные способы проверять личность контакта через отдельные, не связанные между собой платформы для связи».)

Что я сделал после этого

После этого я сделал инструмент: "So I built a small macOS menu bar app called Tsuba" («поэтому я сделал небольшое приложение для строки меню macOS под названием Tsuba»). Идея: "before unfamiliar code runs for the first time, it takes a look for you" («прежде чем незнакомый код запустится впервые, оно смотрит на него за вас»). Tsuba бесплатен и с открытым кодом. Он идёт после привычек выше, а не вместо них.

Источники

Видео анимировано кодом, а сценарий написан с помощью ИИ; каждый факт выше сверен с источниками. Условно показаны дерево проекта и красная зависимость, щит «угроз нет», видеозвонок и скрытая команда в терминале. Этот пост объясняет риск и способы защиты, а не шаги атаки. Видео на английском. Сделано в Shotloop — моём бесплатном Mac-приложении для объясняющих видео из кода, которые правятся по одной сцене за раз.

Следите

Делюсь сборками, экспериментами и выводами по ходу дела.

Новые видео на YouTube, короткие заметки в X. Каждый пост здесь ссылается на оба.

YouTube