Security

Вредоносные репозитории Next.js крадут env через VS Code

3 мин. чтения

Кратко

Microsoft Defender Experts обнаружила кампанию с вредоносными репозиториями Next.js, замаскированными под тестовые задания, которые запускают код либо при открытии проекта в VS Code через `runOn: "folderOpen"`, либо во время сборки/запуска приложения. Это особенно опасно для разработчиков и CI/CD-сред, потому что атака нацелена на кражу переменных окружения, исходного кода и других секретов, превращая привычные действия в точку компрометации.

Нужна помощь с Security?Поговорить с экспертом

Введение: почему это важно

Рабочие станции разработчиков и среды сборки — высокоценные цели, поскольку на них часто хранятся исходный код, материалы для подписи и секреты (API-токены, облачные учетные данные) в переменных окружения. Microsoft Defender Experts сообщает о кампании по распространению вредоносных репозиториев Next.js — часто оформленных как «домашние» тестовые задания для соискателей — которые спроектированы так, чтобы выглядеть как обычная часть developer workflow и надежно запускать выполнение кода.

Что нового / ключевые выводы

Microsoft наблюдала несколько связанных репозиториев с общими соглашениями по именованию и повторно используемой логикой загрузчика. Хотя первоначальная приманка различается, итоговое состояние одинаково: получение во время выполнения и in-memory исполнение JavaScript под контролем атакующего, после чего — переход к staged C2.

1) Выполнение в рабочем пространстве VS Code при открытии папки

Некоторые репозитории содержат .vscode/tasks.json, настроенный с runOn: "folderOpen". Если разработчик открывает (и доверяет) проект, задача запускается автоматически и стартует Node-скрипт, который загружает JavaScript loader (наблюдался размещенным на Vercel) и выполняет его.

2) Выполнение на этапе сборки при запуске приложения

Другие варианты срабатывают, когда разработчик запускает проект (например, npm run dev). В таких репозиториях вредоносная логика внедрена в, казалось бы, обычные ассеты (например, троянизированный jquery.min.js). Ассет декодирует base64 URL, получает loader (опять же, часто с Vercel) и выполняет его in memory.

3) Выполнение при старте бэкенда с эксфильтрацией env + динамическим RCE

Третий путь активируется во время инициализации сервера/импорта модулей. Репозитории могут содержать значение в .env, например AUTH_API=<base64>. При запуске backend-код декодирует endpoint, отправляет process.env атакующему, затем выполняет возвращенный JavaScript с использованием динамической компиляции (например, new Function("require", response.data)(require)). Это может раскрыть чувствительную конфигурацию и позволяет оператору доставлять последующие payload по запросу.

Регистрация Stage 1 → многоэтапный command-and-control

По всем путям выполнение сходится к начальному этапу «registrar», который профилирует хост и опрашивает endpoint регистрации, получая instanceId для корреляции дальнейшей активности. Телеметрия также отметила устойчивые обратные вызовы к инфраструктуре под контролем атакующего (включая HTTP-трафик на порту 300) после первичного этапа.

Влияние на IT-администраторов и команды безопасности

  • Повышенный риск на endpoints разработчиков: Открытия репозитория может быть достаточно для выполнения кода, если задачам рабочего пространства доверяют.
  • Риск утечки учетных данных: Путь через запуск бэкенда может эксфильтровать переменные окружения (облачные ключи, учетные данные БД, CI-токены).
  • Более сложное обнаружение: In-memory выполнение и staged loaders могут уменьшать количество явных артефактов на диске.

Рекомендуемые действия / следующие шаги

  • Рекомендации для разработчиков: Считайте take-home задания и незнакомые репозитории недоверенными; не нажимайте “Trust” в VS Code до проведения проверки.
  • Проверка репозитория: Отмечайте/проверяйте .vscode/tasks.json (особенно runOn: "folderOpen"), неожиданные Node-скрипты в .vscode/ и минифицированные библиотеки, которые не совпадают с known-good hashes.
  • Гигиена секретов: Снижайте зависимость от долгоживущих секретов в .env; где возможно, используйте managed identities/short-lived tokens и выполняйте ротацию любых скомпрометированных учетных данных.
  • Детектирование и меры контроля: Мониторьте процессы Node.js на предмет нетипичных исходящих подключений (например, dev tools, обращающиеся к staging-доменам с последующим переходом к неизвестному C2), и рассмотрите ограничения egress для устройств разработчиков и build agents.
  • Hunting: Ищите на платформах размещения кода и во внутренних зеркалах «семейства» по именованию и структурные паттерны повторного использования, описанные Microsoft (почти дубликатные репозитории, похожие loaders, повторяющиеся staging endpoints).

Нужна помощь с Security?

Наши эксперты помогут вам внедрить и оптимизировать решения Microsoft.

Поговорить с экспертом

Будьте в курсе технологий Microsoft

Microsoft DefenderNext.jssupply chain securityVisual Studio CodeNode.js

Похожие статьи

Security

Компрометация цепочки поставок Trivy: рекомендации Defender

Microsoft опубликовала рекомендации по обнаружению, расследованию и смягчению последствий компрометации цепочки поставок Trivy в марте 2026 года, затронувшей бинарный файл Trivy и связанные GitHub Actions. Инцидент важен тем, что доверенный инструмент безопасности CI/CD был использован для кражи учетных данных из пайплайнов сборки, облачных сред и систем разработчиков, при этом внешне работая как обычно.

Security

Управление AI Agent: выравнивание намерений для безопасности

Microsoft описывает модель управления для AI agents, которая выравнивает намерения пользователя, разработчика, роли и организации. Эта структура помогает компаниям сохранять полезность, безопасность и соответствие требованиям, задавая поведенческие границы и понятный порядок приоритета при возникновении конфликтов.

Security

Predictive shielding в Microsoft Defender против GPO-шифровальщика

Microsoft описала реальный случай ransomware, в котором predictive shielding в Defender обнаружил вредоносное злоупотребление Group Policy Objects (GPO) до начала шифрования. За счёт усиления защиты распространения GPO и блокировки скомпрометированных учётных записей Defender остановил около 97% попыток шифрования и не позволил зашифровать ни одно устройство через путь доставки GPO.

Security

Защита agentic AI: новые решения Microsoft на RSAC

На RSAC 2026 Microsoft представила комплексный набор решений для защиты agentic AI, включая Agent 365, который станет общедоступным 1 мая и позволит централизованно управлять, защищать и контролировать AI-агентов в связке с Defender, Entra и Purview. Это важно, потому что по мере массового внедрения AI-агентов компаниям нужны новые инструменты для выявления теневого использования AI, снижения риска утечек данных и управления доступом в масштабе всей организации.

Security

Microsoft open source CTI-REALM для AI detection engineering

Microsoft открыла CTI-REALM — бенчмарк, который проверяет, могут ли AI-агенты реально выполнять задачи detection engineering: анализировать CTI-отчёты, сопоставлять техники MITRE ATT&CK и создавать/валидировать правила обнаружения. Это важно для SOC и security-команд, потому что инструмент смещает оценку ИИ от теоретических ответов к практическим операционным результатам в Linux, AKS и Azure-средах.

Security

Zero Trust for AI от Microsoft: воркшоп и архитектура

Microsoft представила подход Zero Trust for AI и обновила Zero Trust Workshop, добавив отдельный AI-столп для оценки и проектирования защиты моделей, агентов, данных и автоматизированных решений. Это важно для компаний, внедряющих AI: новые рекомендации помогают системно учитывать риски вроде prompt injection и data poisoning, а также согласовать меры безопасности между IT, ИБ и бизнесом.