Почему ваши расширения для VS Code могут оказаться шпионским по?

Исследование компании Wiz выявило масштабную угрозу для цепочки поставок программного обеспечения: более 100 издателей легитимных расширений для Visual Studio Code случайно раскрыли свои персональные токены доступа (PAT). Аналитик Рами Маккарти установил, что эти утечки позволяют злоумышленникам захватывать контроль над расширениями и распространять вредоносный код среди потенциальной аудитории в 150 000 пользователей. Уязвимость затронула как официальный VS Code Marketplace, так и альтернативную площадку Open VSX.
Почему ваши расширения для VS Code могут оказаться шпионским по?
Изображение носит иллюстративный характер

Основная причина утечек — встраивание секретных ключей непосредственно в код расширений. Поскольку расширения распространяются в виде файлов .vsix, которые являются обычными zip-архивами, любой может распаковать их и извлечь токены. В ходе анализа было обнаружено более 550 подтвержденных секретов 67 различных типов в более чем 500 расширениях. Среди них ключи к сервисам искусственного интеллекта (OpenAI, Gemini, Anthropic, XAI, DeepSeek, Hugging Face, Perplexity), облачным провайдерам (Amazon Web Services, Google Cloud, GitHub, Stripe, Auth0) и базам данных (MongoDB, PostgreSQL, Supabase).

Утечки токенов для VS Code Marketplace были найдены в более чем 100 расширениях с совокупным числом установок свыше 85 000. В то же время для репозитория Open VSX было обнаружено 30 уязвимых расширений, установленных не менее 100 000 раз. Значительная часть расширений, содержащих уязвимости, относится к категории тем оформления, что указывает на недостаточную осведомленность разработчиков о безопасном хранении ключей.

Риск усугубляется интеграцией Open VSX в альтернативные, управляемые ИИ, версии редактора, такие как Cursor и Windsurf, что расширяет поверхность атаки. В качестве примера Wiz приводит обнаружение токена доступа к VS Code Marketplace, который мог быть использован для целевой атаки на сотрудников китайской мегакорпорации с рыночной капитализацией в 30 миллиардов долларов через внутренние и корпоративные расширения.

Параллельно с этим аналитики из Koi Security обнаружили активную вредоносную кампанию, проводимую хакерской группой под кодовым названием TigerJack. По данным исследователя Туваля Адмони, группа, действующая под псевдонимами ab-498, 498 и 498-00, с начала 2025 года систематически публикует на первый взгляд легитимные расширения для кражи исходного кода, скрытого майнинга криптовалюты и создания бэкдоров на компьютерах разработчиков.

В рамках кампании TigerJack было опубликовано как минимум 11 вредоносных расширений. Два из них, C++ Playground и HTTP Format, набрали более 17 000 загрузок до их удаления с VS Code Marketplace. Несмотря на блокировку, они по-прежнему доступны в репозитории Open VSX. Злоумышленники проявили настойчивость, повторно опубликовав вредоносный код под новыми именами на VS Code Marketplace 17 сентября 2025 года.

Конкретные функции вредоносного ПО различаются. Расширение C++ Playground оснащено кейлоггером, который с задержкой в 500 миллисекунд фиксирует нажатия клавиш с основной целью кражи исходного кода на языке C++. В свою очередь, HTTP Format содержит код для запуска майнера CoinIMP, который использует ресурсы компьютера жертвы для добычи криптовалюты.

Наибольшую опасность представляют расширения cppplayground, httpformat и pythonformat, опубликованные под псевдонимом "498". Каждые 20 минут они загружают и выполняют произвольный JavaScript-код с командного сервера ab498.pythonanywhere[.]com. Это предоставляет злоумышленникам полный контроль над системой, позволяя красть учетные данные и API-ключи, развертывать программы-вымогатели, проникать в корпоративные сети, внедрять бэкдоры в проекты и вести наблюдение в реальном времени.

Стратегия TigerJack основана на принципе «троянского коня». Изначально расширения предоставляют заявленную функциональность и выглядят безобидными. Вредоносный код добавляется в последующих обновлениях, что позволяет им обойти первоначальную проверку со стороны разработчиков и завоевать их доверие перед атакой.

Несмотря на то, что в июне 2025 года Microsoft заявила о внедрении мер безопасности для VS Code Marketplace, включающих сканирование всех пакетов в песочнице и регулярные проверки, эти меры не распространяются на альтернативные репозитории, такие как Open VSX. Эта фрагментация экосистемы создает слепую зону, которой активно пользуются злоумышленники.

Ключевая проблема заключается в том, что системы безопасности действуют изолированно. Когда вредоносное расширение удаляется с одной платформы, оно продолжает существовать на другой, оставляя разработчиков уязвимыми. Для снижения рисков пользователям рекомендуется ограничивать количество установленных расширений и тщательно проверять их перед установкой, а также оценивать целесообразность автоматических обновлений. Организациям следует вести реестр всех используемых расширений и рассмотреть возможность внедрения «белых списков» для утвержденного ПО.


Новое на сайте

20868Уязвимости Plex открыли путь майнерам и Linux-бэкдору 20867Взлом OpenCode Console: под угрозой могли оказаться ключи OpenAI, Anthropic и Google 20866Rank Math PRO: заражённое обновление оставило на сайтах самовосстанавливающийся бэкдор 20865Как исследовательские модели OpenAI обходили ограничения и присваивали чужие данные 20864Атака на BeyondTrust: шпионская группа получила доступ к серверам поддержки 20863Как пакет imgdecode превращает npm-зависимость в загрузчик вредоносного кода? 20862Как PEERSTITCH обходит проверки VPN-сессий FortiOS? 20861Что происходит, когда ИИ-агент выходит за пределы тестовой среды? 20860Как 37-летняя ошибка открыла путь к root в OpenBSD 7.9? 20859ИИ-модели для SOC: точный ответ зависит от улик 20858Как одна учётная запись ConnectWise открыла доступ к 173 арендаторам Microsoft 365? 20857Пять минут до заражения: как подменили обновления AOMEI Backupper 20856Ловушка под видом регистрации: как UAT-11985 крадёт аккаунты Google 20855Может ли виртуальная машина прочитать память хоста? 20854Как дешёвые Android-смартфоны превращаются в чужие прокси?
Ссылка