В мире разработки программного обеспечения набирает обороты настоящая «золотая лихорадка» вокруг инструментов с искусственным интеллектом. Ассистенты на базе ИИ, встроенные в редакторы кода, предлагают готовые фрагменты, объясняют ошибки, пишут функции и даже ревьюят пул-реквесты. Рынок плагинов переполнен решениями - от обёрток над ChatGPT до альтернатив GitHub Copilot, которые обещают увеличить продуктивность в разы. Разработчики охотно устанавливают их, доверяя официальным магазинам расширений, тысячам положительных отзывов и заявленному функционалу. При этом плагины часто получают доступ к рабочему пространству, файлам и даже нажатиям клавиш - и пользователи предполагают, что эти данные используются исключительно для помощи в написании кода. Однако не все расширения работают так, как заявлено.
Описание
Наша система анализа рисков обнаружила две вредоносные подделки в маркетплейсе VS Code, которые мы назвали MaliciousCorgi. В совокупности они были установлены более 1,5 млн раз и до сих пор доступны для загрузки. Оба плагина - «ChatGPT - 中文版» (от издателя WhenSunset, 1,35 млн установок) и «ChatMoss (CodeMoss)» (от zhukunpeng, 150 тыс. установок) - позиционируются как AI-ассистенты для программистов и действительно выполняют свои функции. Однако внутри них скрыт идентичный шпионский код, который передаёт конфиденциальные данные на серверы в Китай без ведома пользователей.
Идеальное прикрытие: рабочий функционал как основа для атаки
Опасность этих расширений заключается именно в том, что они работают корректно. Пользователь может выделить код, задать вопрос и получить вменяемый ответ от ИИ, а также использовать автодополнение в реальном времени - подобно GitHub Copilot. Для этого плагин анализирует около 20 строк контекста вокруг курсора и отправляет их на сервер для генерации подсказок. Такой механизм является стандартным для инструментов данного класса. Однако злоумышленники выходят далеко за рамки необходимого, запуская три скрытых канала сбора данных параллельно с основной функциональностью.
Канал 1: мониторинг файлов в реальном времени
Как только разработчик открывает любой файл в редакторе - даже без внесения изменений - расширение считывает всё его содержимое, кодирует в Base64 и передаёт через скрытый iframe в веб-интерфейсе. То же самое происходит при каждом изменении текста (событие onDidChangeTextDocument). Таким образом, перехватывается не только активная работа, но и любой просмотренный файл, каждый введённый символ.
Канал 2: массовый сбор файлов по команде с сервера
Ситуация усугубляется тем, что злоумышленникам не нужно ждать действий пользователя. Сервер может в любой момент инициировать массовую выгрузку файлов, отправив команду в поле jumpUrl в ответах API. Например, при получении инструкции {"type": "getFilesList"} расширение запускает сбор до 50 файлов из рабочего пространства и передаёт их на внешний ресурс. Вся цепочка выполняется без видимых признаков активности, а кодовая база оказывается под угрозой полной утечки по единственной удалённой команде.
Канал 3: сбор метаданных и профилирование пользователей
Помимо исходного кода, расширения занимаются сбором персональных данных. В веб-интерфейсе плагинов находится невидимый iframe (нулевого размера), который загружает четыре коммерческие аналитические платформы: Zhuge.io, GrowingIO, TalkingData и Baidu Analytics. Их задача - отслеживание поведения пользователей, построение цифровых профилей, идентификация устройств и мониторинг всех взаимодействий. Собранные данные позволяют установить, кто пользуется расширением, в какой компании работает, над какими проектами и технологиями. Вероятно, эта информация используется для целевого отбора жертв: аналитика помогает определить, у кого находится наиболее ценная интеллектуальная собственность, чтобы в нужный момент активировать канал массовой утечки.
Что под угрозой?
В рабочем пространстве разработчика обычно хранятся критически важные данные: файлы конфигурации (.env) с ключами API и паролями к базам данных, внутренние адреса серверов, учётные данные облачных сервисов, SSH-ключи, а также исходный код с уникальной бизнес-логикой и ещё не выпущенными функциями. Расширения из кампании MaliciousCorgi способны извлечь до 50 файлов за раз, исключая лишь графические форматы. Таким образом, коммерческие секреты, персональные данные и проприетарные наработки могут оказаться в руках злоумышленников в любой момент.
Выводы и рекомендации
Стремительное внедрение AI-инструментов - это объективный тренд, который повышает эффективность разработки. Однако между скоростью внедрения и тщательностью проверки безопасности возникает опасный разрыв. Полтора миллиона программистов доверились этим расширениям именно потому, что они функциональны, имеют положительные отзывы и прошли модерацию маркетплейса. К сожалению, реальная польза соседствует с шпионскими возможностями.
Специалистам по информационной безопасности и руководителям команд разработки стоит пересмотреть процессы утверждения и мониторинга сторонних плагинов. Рекомендуется:
- ограничивать установку расширений только из проверенных источников с обязательным анализом разрешений;
- использовать инструменты статического и динамического анализа кода плагинов перед внедрением в продуктивную среду;
- регулярно аудировать активность сетевых подключений редакторов кода;
- применять сегментацию рабочих пространств, чтобы критичные данные (ключи, конфиги) не находились в одном проекте с часто используемыми AI-помощниками.
Интеграция AI-ассистентов в рабочий процесс не должна становиться компромиссом между скоростью и безопасностью. Современные решения для анализа рисков позволяют выявлять вредоносное поведение расширений уже после установки, блокировать угрозы до их проникновения и сохранять полную видимость происходящего. Таким образом, разработчики могут продолжать использовать передовые инструменты, не подвергая риску свою интеллектуальную собственность и конфиденциальные данные.
Индикаторы компрометации
Domains
- aihao123.cn
Vscode extensions
- whensunset.chatgpt-china
- zhukunpeng.chat-moss