Фейковая вакансия: ZIP запускает вредонос через обычный git status
Рекрутер «Cryptic Heaven» прислал разработчику ZIP с подготовленной папкой .git. Даже обычный git status может молча скачать и запустить чужой код.

Иногда хватает одного git status, чтобы на компьютере запустился чужой код. Разработчику написал в LinkedIn рекрутер компании Cryptic Heaven: они якобы делают финансовую систему для пользователей криптовалютных кредитных карт и хотят обсудить сотрудничество.
Предложение выглядело обычно. Разработчик спросил про проект, должность и условия, а в ответ получил ссылку на договор, описание вакансии и проект, плюс просьбу прислать заполненный договор.
По ссылке лежал архив Contract-2026.zip. Внутри были README.md, contract.docx и полноценная папка .git с историей, несколькими ветками и локальными настройками. Сам договор оказался пустым шаблоном: ни юрлица, ни оплаты, ни юрисдикции. В описании вакансии Smart Contract Developer тоже хватало незаполненных полей.
Как git status запускает вредоносный код?
У Git есть механизмы запуска внешних программ. Первый, хуки: скрипты, которые вызываются при событиях вроде переключения ветки. Параметр core.hooksPath позволяет указать для них другую папку, и там лежал файл post-checkout. Второй механизм, clean-фильтр с именем ltr, а звёздочка в файле attributes назначила его всем файлам.
Чтобы понять, изменился ли файл, Git может пропустить его через такой фильтр. Поэтому обычный git status способен выполнить скрипт .git/ltr. А совет в README переключаться между ветками нужен, чтобы сработал post-checkout. Автор проверил это на безопасном тестовом репозитории, где вместо вредоносного кода был скрипт, просто пишущий строку в лог. Сработали оба механизма.
Что делает скрипт ltr?
Это shell-скрипт. Он записывает время последнего обращения и ставит блокировку через mkdir, чтобы не плодить параллельные запуски. После двух секунд тишины определяет систему, скачивает код с удалённого сервера и сразу выполняет его: через sh на Linux и macOS, через PowerShell на Windows. Сервер находился на поддомене vercelscript.vercel.app.
Что именно делает загруженный код, по одному ZIP установить нельзя. Всё идёт в фоне, вывод и ошибки уходят в /dev/null, так что пользователь может ничего не заметить. Это может быть загрузчик следующего этапа, кража данных или что-то ещё.
Приложения, на которые стоит взглянуть
Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.
Общайтесь с ИИ-собеседником: каждая фраза возвращается исправленной и объяснённой на вашем языке. 9 языков, от A1 до C2.
Открывайте сообщения EDIFACT и X12, каждый сегмент объяснён, конвертация в JSON/XML, экспорт в PDF и Excel. Работает локально, без загрузки.
Выберите, кому, по какому поводу и с каким характером. Поисковик читает описания товаров местных магазинов и выводит то, что подходит. Бесплатно, без регистрации.
Ещё за этот день
Показать все →
AMD Adrenalin 26.11.1 устраняет лишние записи на SSD у Radeon

Apple Support Community закроется через 28 лет: 20 ноября

Nāpōwawāʻenakaulua: два гигантских квазара, возникших слишком рано

Счётчик Linky: суд ЕС ответил, можно ли отказаться
Ещё в рубрике: Безопасность
Показать все →
Cyber Security Cloud: утечка из GitHub из-за одного пароля сотрудника

wfx-loot: хакеры проверили 61 тысячу репозиториев GitHub

SignDrop: уязвимость Windows даёт обычному юзеру права System
