Open VSX удалил 77 расширений-двойников, крадущих данные разработчиков

· Безопасность
Маркетплейс Open VSX вычистил кластер из 77 вредоносных расширений, маскировавшихся под настоящие инструменты и передававших данные о системах и окружениях разработчиков на подконтрольный злоумышленникам домен.

cover.svg

Исследователи Manifold Security обнаружили в каталоге Open VSX кластер из 77 расширений, выдававших себя за легитимные инструменты разработчика, но на деле собиравших сведения о системах, где они были установлены. Пакеты загрузили в репозиторий в период с 26 июля по 1 августа 2026 года, а 3 августа их удалили.

«Злые двойники»

Схема оказалась простой и оттого опасной: злоумышленники брали имена, пространства имён и описания реальных расширений, публиковали копии через посторонние аккаунты и присваивали низкий номер версии — например, 0.0.1. Внутри подменялось содержимое файла extension.js, куда встраивался код сбора и отправки данных, поданный под видом «анонимной статистики использования». Ни одно из расширений не выполняло заявленной функции: они лишь показывали в статус-баре сообщение о том, что «активны», и запускали выгрузку.

Большинство — 58 штук — были простыми сборщиками, передававшими имя хоста, а иногда имя рабочей папки или версию редактора. Остальные 19 оказались полноценными разведывательными полезными нагрузками. Они отправляли имя пользователя ОС, название и версию редактора, идентификатор машины, платформу, архитектуру, локаль, часовой пояс и полный путь к открытому проекту.

Что интересовало разведчиков

Продвинутая версия заглядывала в каталог .git, чтобы вытащить удалённые Git-хосты и организации, домен из настроенного email разработчика, текущую ветку и хеш последнего коммита. Она перечисляла до 60 установленных расширений, считывала переменные CI-окружений (GITHUB_REPOSITORY, URI коллекции Azure DevOps, слаг организации Buildkite, имя Codespace, контекст рабочего пространства Gitpod) и даже проверяла, включена ли в редакторе телеметрия — и рапортовала об этом.

Все 77 расширений отправляли данные на домен mangorbit[.]com, зарегистрированный 15 июля — за 11 дней до появления первых пакетов. На случай блокировки предусмотрен запасной вариант: код запрашивает DNS-запись типа TXT, чтобы получить резервный адрес выгрузки.

Разведывательный вариант настойчив: попытки повторяются примерно через 15 и 50 минут, три с половиной часа, затем каждые семь-восемь часов, возобновляясь при каждом перезапуске редактора, и прекращаются лишь спустя неделю. Машина, которая была офлайн или за прокси, всё равно будет опрошена снова. Более того, расширение проверяет, упомянут ли его идентификатор в devcontainer.json или .vscode/extensions.json проекта — то есть отличает установку, навязанную конфигурацией репозитория, от осознанного выбора человека. Как отмечают исследователи, это именно тот вопрос, который задают, когда хотят понять: «как и через что меня втягивают».

Инцидент совпал с другой атакой на цепочку поставок: скомпрометированы 450 npm-пакетов, распространявших самораспространяющегося червя-похитителя учётных данных, получившего кодовое имя ChainDrop.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.