
| Имя плагина | @haxtheweb/haxcms-nodejs |
|---|---|
| Тип уязвимости | Невозможно определить только по заголовку. |
| Номер CVE | CVE-2026-46357 |
| Срочность | Середина |
| Дата публикации CVE | 2026-05-20 |
| Исходный URL-адрес | CVE-2026-46357 |
Почему уведомление о DoS для NPM ‘HAX CMS’ важно для сайтов WordPress — Практическое руководство от WP‑Firewall
Подробный, практический анализ уведомления NPM (CVE-2026-46357 / GHSA-9r33-xhw8-4qqp), которое описывает отказ в обслуживании через злонамеренные запросы импорта в @haxtheweb/haxcms-nodejs. Что нужно знать командам WordPress, как обнаружить уязвимость, экстренные меры по смягчению последствий и долгосрочные меры контроля цепочки поставок — с точки зрения поставщика WAF для WordPress.
Автор: Команда безопасности WP-Firewall
Обзор
19 мая 2026 года было опубликовано уведомление о безопасности для пакета NPM @haxtheweb/haxcms-nodejs (версии < 26.0.0), описывающее уязвимость отказа в обслуживании (DoS), вызванную специально подготовленным запросом импорта (отслеживается как CVE‑2026‑46357, GHSA‑9r33‑xhw8‑4qqp). На первый взгляд это выглядит как проблема экосистемы Node.js — и это так — но последствия распространяются на многие сайты WordPress и хостинг-среды, которые полагаются на инструменты Node в своих процессах разработки, сборки и развертывания.
Как поставщик веб-аппликационного фаервола WordPress и безопасности, мы неоднократно наблюдаем одну и ту же схему: уязвимости, возникающие в компонентах цепочки поставок (NPM, PyPI, Composer), быстро становятся вектором для разрушения или более широкого компрометации, потому что современные рабочие процессы WordPress все больше зависят от этих экосистем для создания активов, инструментов и безголовых интеграций.
В этом посте объясняется:
- Что это за уязвимость и почему администраторам WordPress следует обратить на это внимание.
- Как эксплуатация может повлиять на установки WordPress, конвейеры сборки и хостинг-среды.
- Индикаторы обнаружения и на что обращать внимание в журналах.
- Немедленное устранение и экстренные меры по смягчению последствий, если вы не можете обновить сразу.
- Рекомендуемые долгосрочные меры контроля для снижения рисков цепочки поставок.
- Как WP‑Firewall (наш сервис) помогает обнаруживать и смягчать такие угрозы.
Читайте внимательно — и если вы управляете сайтом WordPress, который использует инструменты Node, безголовые CMS, CI-сборки или внешние микросервисы, отнеситесь к этому как к высокому приоритету.
Что говорит уведомление (простым языком)
- Затронутый пакет:
@haxtheweb/haxcms-nodejs - Затронутые версии: любая версия до 26.0.0
- Тип проблемы: отказ в обслуживании через злонамеренный запрос импорта (другой тип уязвимости)
- Идентификаторы отслеживания: CVE‑2026‑46357, GHSA‑9r33‑xhw8‑4qqp
- Степень серьезности: Средняя (авторы патчей и исследователи присвоили CVSS 6.5 в уведомлении)
Основная проблема: специально подготовленный запрос “импорт” может привести к чрезмерному потреблению системных ресурсов (ЦП, память или дескрипторы файлов) пакетом, в конечном итоге вызывая зависание или сбой процесса Node. Когда процессы Node используются во время сборок или работают как часть производственных сервисов, это истощение ресурсов может привести к простоям и открыть возможности для дальнейших атак.
Почему командам WordPress следует беспокоиться
Многие владельцы WordPress думают: “Я использую только PHP” — но в современных проектах WordPress:
- Темы и плагины часто полагаются на инструменты сборки на основе Node (webpack, Rollup, gulp, PostCSS) для компиляции JavaScript и CSS.
- Конвейеры непрерывной интеграции (CI) загружают зависимости NPM для сборки производственных активов (иногда во время развертывания).
- Безголовые настройки WordPress или гибридные архитектуры используют серверы Node как часть фронтенд-стека.
- Некоторые панели управления хостингом или утилиты автоматизации сайтов могут запускать скрипты Node как часть развертываний и проверок состояния.
Уязвимый пакет Node на любом из этих этапов может привести к:
- Провальным сборкам и сломанным развертываниям.
- Отключению CI-агентов или агентов сборки, что останавливает релизы.
- Производственные фронтенды (если Node используется во время выполнения) становятся неотзывчивыми или вылетают.
- Возможности бокового перемещения: злоумышленник может использовать истощение ресурсов как отвлечение, пытаясь добиться постоянства, или использовать неправильно настроенные агенты сборки для внедрения вредоносных артефактов.
Даже если ваш сайт WordPress сам по себе является чистым PHP, влияние на ваши инструменты разработки или развертывания может создать операционные сбои и задержки, что, в свою очередь, влияет на доступность сайта и безопасность.
Как эксплуатация может выглядеть в реальных условиях
Важный: мы не будем предоставлять полезные нагрузки для эксплуатации. Цель здесь — объяснить практическое воздействие и обнаружение, чтобы вы могли защититься.
Возможные сценарии эксплуатации:
- DoS для CI/агента сборки
- Злоумышленник подготавливает ввод или манипулирует шагом сборки, который вызывает уязвимый пакет во время автоматической сборки.
- Процесс Node истощает ЦП/память, и весь агент сборки становится неотзывчивым; запланированные развертывания терпят неудачу.
- DoS во время выполнения для гибридных/безголовых настроек
- Для сайтов, использующих пакет в среде выполнения Node (например, серверная отрисовка), специально сформированные запросы импорта, отправленные на сервер Node, вызывают истощение ресурсов, отключая приложение Node и нарушая работу сайта.
- Общий хостинг или услуги сборки для нескольких арендаторов
- Ресурсы сборки на общем исполнителе используются, ухудшая сервис для других арендаторов и создавая риск доступности на многих сайтах.
- Увеличение цепочки атак
- Злоумышленники могут инициировать DoS, чтобы скрыть другие злонамеренные действия (эксфильтрация данных, сохранение бэкдоров или вмешательство в собранные активы).
Обнаружение: на что обращать внимание
Проверьте следующие источники данных — раннее обнаружение дает вам возможность смягчить последствия до возникновения сбоев.
- Журналы CI/сборки
- Повторные перезапуски процесса Node, ошибки OOM (недостаток памяти) или сообщения “Убито”.
- Неожиданно длительные шаги “npm install” или “yarn install”.
- Аномальные всплески ЦП во время разрешения зависимостей или задач во время импорта.
- Журналы процессов хостинга
- Перезапуски рабочих процессов приложения Node, сбои процессов или тайм-ауты приложения.
- Сообщения об ошибках, упоминающие динамические импорты, разрешение модулей или конкретные компоненты haxcms-nodejs (если они присутствуют).
- Системные метрики
- Внезапные всплески ЦП или памяти, совпадающие с входящими странными запросами.
- Высокое количество открытых файлов/сокетов или исчерпанные пулы потоков.
- Журналы веб-сервера и WAF
- Повторяющиеся подозрительные HTTP-запросы, нацеленные на конечные точки, связанные с обработкой импорта, необычные шаблоны URL с параметрами, связанными с импортом, большие тела запросов или повторяющиеся вызовы с одного IP на высокой скорости.
- Аномалии контроля доступа
- Использование неизвестных токенов CI, новые задания развертывания или неожиданные пуши в ветки или репозитории в ваших конвейерах.
Если вы видите эти индикаторы, рассматривайте их как высокоприоритетные и изолируйте среду, если это возможно.
Немедленное устранение (что делать прямо сейчас)
- Обновите уязвимый пакет до версии 26.0.0 или более поздней
- Где бы ни
@haxtheweb/haxcms-nodejsиспользовался — прямая зависимость, devDependency или подтянута транзитивно — обновите до версии 26.0.0 или новее. - Обновите lock-файлы (package-lock.json, yarn.lock) и пересоберите свои артефакты локально перед развертыванием.
- Где бы ни
- Если вы не можете обновить немедленно — примените экстренные меры:
- Остановите или перезапустите затронутые службы Node, чтобы очистить текущее состояние.
- Изолируйте сборочные агенты или удалите сетевой доступ до исправления.
- Установите ограничения ресурсов процесса (ulimit, cgroups) на сборочных агентах или серверах Node, чтобы уменьшить влияние исчерпания ресурсов.
- Меры WAF / обратного прокси (для хостов, использующих Node во время выполнения)
- Ограничьте скорость запросов, похожих на импорт, и примените более строгие ограничения на размер запросов.
- Временно блокируйте или ставьте под сомнение (CAPTCHA) подозрительные конечные точки или шаблоны, связанные с обработкой импорта.
- Блокируйте или ограничивайте исходные IP-адреса, которые генерируют аномальные паттерны трафика.
- Контроль CI
- Отключите автоматические сборки/развертывания из ненадежных веток.
- Отмените и измените секреты CI/CD и ключи развертывания, если вы обнаружите аномальную активность.
- Проверьте недавние сборки и развернутые артефакты
- Убедитесь, что развернутые JavaScript-бандлы и серверные артефакты соответствуют ожидаемым контрольным суммам.
- Пересоберите активы в контролируемой среде (с обновленными зависимостями) и повторно разверните при необходимости.
Обновление пакета — единственное правильное долгосрочное решение — меры являются временными для сред, которые не могут обновиться мгновенно.
Предложенные временные правила WAF и настройки прокси
Если вы хостите сервер Node или у вас есть прокси перед ним, вы можете создать временные правила для уменьшения уязвимости. Ниже приведены концептуальные предложения правил — реализуйте и тестируйте их внимательно в вашей тестовой среде перед применением в производственной.
- Ограничения по скорости
- Ограничьте запросы с одного IP к конечным точкам, которые обрабатывают импорты или динамическое разрешение модулей.
- Применяйте краткосрочные и устойчивые ставки: например, ограничьте до 10 запросов в минуту устойчиво, всплеск 20 запросов.
- Пороговые значения по размеру и времени
- Обеспечьте разумные максимальные размеры тела запроса для конечных точек, которые не должны принимать большие нагрузки.
- Настройте короткие тайм-ауты на стороне сервера для конечных точек, которым не нужно долгое время обработки.
- Проверка заголовков и параметров
- Блокируйте запросы с необычно длинными значениями заголовков или с нестандартными параметрами импорта.
- Запрещайте или оспаривайте запросы, которые содержат подозрительные типы контента или неожиданные строки запроса.
- Оспаривайте подозрительный трафик
- Возвращайте CAPTCHA или оспаривайте ответы для запросов, попадающих на конечные точки, связанные с импортом, из неизвестных источников.
- Репутация источника
- Блокируйте известные вредоносные IP-адреса, ботнеты или географии, если ваш бизнес может временно терпеть эти ограничения.
Помните: эти правила временные. Они снизят уровень воздействия, но могут также повлиять на законный трафик, если не настроены. Сначала протестируйте на небольшой группе пользователей.
Как безопасно обновлять и фиксировать зависимости
- Найдите все места, где используется пакет
- Поиск в вашем репозитории для
@haxtheweb/haxcms-nodejs. - Проверьте транзитивные зависимости: выполните
npm ls @haxtheweb/haxcms-nodejsили эквивалент.
- Поиск в вашем репозитории для
- Обновите и регенерируйте файлы блокировки
npm install @haxtheweb/haxcms-nodejs@^26.0.0(или обновите package.json и выполнитеnpm ci).- Зафиксируйте обновленный lockfile (package-lock.json / yarn.lock).
- Используйте overrides/resolutions для принудительного выбора безопасных версий
- Если транзитивные зависимости приносят более старые версии, используйте механизмы менеджера пакетов:
- npm: используйте “overrides” в package.json для принудительного выбора конкретной версии.
- yarn: используйте “resolutions”.
- После добавления overrides/resolutions выполните
npm ciилиyarn installи проверьтеnpm lsчтобы убедиться, что присутствует только 26.0.0+.
- Если транзитивные зависимости приносят более старые версии, используйте механизмы менеджера пакетов:
- Пересоберите артефакты в CI/CD
- Обеспечьте воспроизводимые сборки, зафиксировав версии node и менеджера пакетов.
- Собирайте в изолированной среде, сканируйте артефакты, и только затем развертывайте.
- Отправьте обновленные артефакты в продакшн
- Предпочитайте развертывание пересобранных активов, а не выполнение
npm installв продакшне. - Зафиксируйте собранные активы в репозиториях, где это уместно (для статических фронтендов), чтобы минимизировать разрешение зависимостей во время выполнения.
- Предпочитайте развертывание пересобранных активов, а не выполнение
Непрерывная профилактика: гигиена цепочки поставок для проектов WordPress
Чтобы снизить будущие риски от рекомендаций NPM и подобных угроз цепочки поставок, примите следующие меры:
- Рассматривайте devDependencies как высокие риски
Даже devDependencies могут повлиять на конвейеры сборки. Закрепите их и контролируйте.
- Lockfiles — ваши друзья
Зафиксируйте package-lock.json / yarn.lock в системе контроля версий и обеспечьте их использование в CI (
npm ci). - Используйте мониторинг зависимостей
Интегрируйте автоматизированное сканирование зависимостей (SCA) в ваш CI. Отклоняйте сборку при обнаружении серьезных проблем, когда это возможно.
- Реализуйте поэтапные среды сборки
Создавайте артефакты в CI и проверяйте целостность перед развертыванием в производственной среде. Избегайте сборки в производственной среде.
- Обеспечьте проверки кода и зависимостей
Обзоры запросов на изменение для изменений в package.json, Dockerfiles и конфигурации CI помогают выявить рискованные изменения зависимостей.
- Ограничьте привилегии экосистемы пакетов
Избегайте запуска
npm installот имени root в ненадежных контекстах. Используйте ключи развертывания только для чтения и ограничьте, кто может публиковать или инициировать сборки. - Укрепите CI-агенты
Запускайте сборки в эфемерных средах, обеспечьте квоты ресурсов (cgroups) и контролируйте состояние агентов.
- Применяйте воспроизводимые сборки и подпись артефактов
Где это возможно, подписывайте артефакты сборки и проверяйте подписи во время развертывания.
- Держите время выполнения минимальным
Если ваш стек WordPress не требует Node во время выполнения, удалите компоненты Node из производственных образов.
Контрольный список реагирования на инциденты при подозрении на эксплуатацию
- Изолировать
- Удалите затронутые агенты сборки из сети или отключите дальнейшие автоматизированные сборки.
- Временно отключите проблемные службы Node или перенаправьте их через прокси с правилами смягчения.
- Установите патч
- Обновите зависимость до 26.0.0 и пересоберите активы в контролируемой среде.
- Восстановление
- Повторно разверните артефакты, собранные с обновленными зависимостями.
- Если у вас есть чистая резервная копия или известный хороший артефакт, восстановите его.
- Повернуть секреты
- Поменяйте токены CI, ключи развертывания и любые учетные данные, которые могли быть раскрыты или использованы скомпрометированными агентами.
- Охота
- Проверьте журналы на наличие необычных паттернов доступа, изменений файлов или несанкционированных действий по коммиту/развертыванию.
- Проверьте контрольные суммы развернутых JS/CSS пакетов и файлов сервера.
- Очистка.
- Воссоздайте агентов сборки, если подозреваете, что они могут быть заражены.
- Проверьте запланированные задачи и задания cron на наличие несанкционированных записей.
- Отчет
- Если вы управляете многопользовательской средой и инцидент затрагивает клиентов, уведомите пострадавшие стороны с четкими шагами по устранению и сроками.
- Обзор после инцидента
- Задокументируйте коренные причины и недостатки, затем примените постоянные меры контроля: обновите процессные политики, добавьте сканирование, скорректируйте правила WAF и улучшите жесткость CI.
Как настроить мониторинг и оповещение
Чтобы обнаружить будущие инциденты, связанные с цепочкой поставок, такие как DoS, настройте мониторинг следующим образом:
- Создайте оповещения для:
- Внезапные всплески использования CPU или памяти на агентах сборки или серверах Node.
- Повторные перезапуски процессов или ошибки OOM.
- Высокие показатели ответов 5xx или увеличенные тайм-ауты для конечных точек фронтенда.
- Метрики WAF / прокси:
- Оповещайте о больших увеличениях объема запросов, нацеленных на конкретные конечные точки, и о высоких показателях заблокированных/оспариваемых запросов.
- Метрики CI:
- Оповещать, когда сборки повторно терпят неудачу, особенно при исчерпании ресурсов или ошибках установки.
- Хранение и корреляция логов:
- Храните логи CI и сборок достаточно долго, чтобы сопоставить подозрительную активность с инцидентами в производстве.
- Коррелируйте сетевые логи, метрики хостов и события развертывания во время триажа.
Руководство для разработчиков: безопасное кодирование и зависимости
- Проверка поставщиков
Для любых сторонних инструментов или пакетов, используемых в сборке или во время выполнения, оцените активность проекта, сопровождающих и частоту релизов.
- Принцип минимальной зависимости
Держите граф зависимостей как можно меньшим.
- Статический анализ и SAST
Выполняйте статический анализ скриптов Node и шагов сборки, чтобы выявить логику, которая может принимать ненадежный ввод во время сборки или выполнения.
- Рассматривайте ненадежные вводы как опасные
Никогда не передавайте непроверенные данные, контролируемые пользователем, в импортеры, скрипты сборки или динамические загрузчики модулей.
- Укрепление CI задач
Ограничьте, что могут делать задачи сборки: нет доступа к производственным базам данных или хранилищам секретов, если это не строго необходимо.
Как WP‑Firewall помогает (практические услуги, которые мы предоставляем)
В качестве WAF и службы безопасности WordPress, ориентированной на защиту в реальном мире, WP‑Firewall помогает организациям смягчать угрозы цепочки поставок и угрозы во время выполнения несколькими способами:
- Управляемый WAF с пользовательскими правилами
Мы можем создать временные или постоянные правила WAF для блокировки или ограничения подозрительных паттернов запросов, похожих на импорт, защиты конечных точек и уменьшения поверхности атаки.
- Виртуальная патча
Когда существует уязвимость на стороне сервера и ее нельзя немедленно исправить, наш WAF предлагает виртуальное патчирование: защита вашего сайта путем перехвата попыток эксплуатации на границе.
- Сканер вредоносного ПО и мониторинг целостности файлов
Автоматизированные сканеры обнаруживают неожиданные изменения в развернутых ресурсах (собранные JS, CSS, файлы плагинов) и уведомляют вас о аномалиях, которые могут указывать на вмешательство.
- Триаж инцидентов и поддержка
Наша команда предоставляет рекомендации во время инцидентов: изоляция затронутых компонентов, идентификация пострадавших ресурсов и рекомендации по устранению, адаптированные к вашей среде.
- Непрерывное сканирование и интеграция SCA
Мы отслеживаем известные уязвимости в зависимостях, используемых проектами WordPress, и можем уведомить вас, когда зависимости будут отмечены.
- Лучшие практики хостинга и CI
Мы предоставляем рекомендации и шаблоны конфигураций для усиления агентов CI и конфигураций хостинга, чтобы уменьшить радиус поражения от проблем в цепочке поставок.
Если вам нужна помощь в применении временных правил WAF или в обзоре инцидента, наша команда безопасности может помочь.
Практические примеры паттернов смягчения (концептуальные)
Ниже приведены концептуальные примеры смягчений, которые вы можете реализовать. Это не правила копирования/вставки — адаптируйте их к вашей среде.
- NGINX или обратный прокси:
- Добавьте ограничения на размер запросов и короткий
proxy_read_timeoutдля конечных точек, которые должны быть быстрыми. - Настройте ограничение скорости по IP для чувствительных путей.
- Добавьте ограничения на размер запросов и короткий
- Ограничения контейнеров и систем:
- Запускайте рабочие процессы Node с cgroups, чтобы ограничить память и ЦП.
- Используйте супервизоры процессов для перезапуска, но также ограничивайте циклы перезапуска, чтобы избежать колебаний.
- CI:
- Используйте эфемерные раннеры; устанавливайте лимиты по времени и ресурсам для каждой задачи.
- Не позволяйте
npm installзапускаться на хостах с производственными учетными данными.
- Менеджер пакетов:
- Добавьте проверку “preinstall” для npm, которая обеспечивает безопасный список пакетов (где это возможно).
- Используйте частные реестры и добавляйте критически важные пакеты в белый список в чувствительных средах.
Индикаторы компрометации (IoCs) — что искать
- Сообщения Node OOM или “Killed” в журналах CI/сборки.
- Повторяющиеся HTTP-запросы к конечным точкам, обрабатывающим импорты или динамические запросы модулей.
- Аномальные заголовки запросов или чрезвычайно длинные значения заголовков, связанные с вызовами, похожими на импорт.
- Необычные всплески открытых файлов/сокетов на агентах сборки.
- Неожиданные изменения контрольных сумм упакованных файлов JavaScript или CSS после сборки.
Если вы обнаружите это, следуйте контрольному списку реагирования на инциденты выше.
Извлеченные уроки: цепочка поставок — это проблема каждого.
Этот совет повторяет основную истину: современные стековые приложения столь же сильны, как и цепочка поставок, которая их создает. Даже пакет Node, используемый только во время сборки, может вызвать каскадные сбои или стать точкой поворота для атакующих. Команды WordPress должны относиться к сторонним зависимостям (включая инструменты разработки) так же, как к производственному коду.
Меры по смягчению последствий многоуровневые: обновляйте зависимости, укрепляйте CI и агентов сборки, применяйте защиту WAF, контролируйте системные и сетевые метрики и имейте план реагирования на инциденты. Ни один отдельный контроль не является достаточным, но в совокупности они значительно снижают риск.
Быстрый контрольный список (одностраничное руководство по устранению неполадок)
- Ищите репозитории и CI на наличие
@haxtheweb/haxcms-nodejs. - Обновите до 26.0.0+ и регенерируйте lockfiles.
- Пересоберите артефакты в CI и разверните заново.
- Если немедленное обновление невозможно:
- Примените ограничения по скорости WAF и ограничения по размеру запросов.
- Обеспечьте ограничения ресурсов процесса.
- Изолируйте или приостановите затронутые агенты сборки.
- Смените учетные данные CI/развертывания, если подозреваете злоупотребление.
- Просканируйте развернутые активы на наличие несанкционированных изменений.
- Реализуйте мониторинг зависимостей и SCA в вашем CI.
- Укрепите CI-агенты и избегайте сборки в производственной среде.
Получите Основную Защиту для вашего сайта WordPress — доступен бесплатный план
Начните с Основной Защиты — бесплатный план WP‑Firewall Basic
Мы разработали план WP‑Firewall Basic для быстрой и доступной защиты сайтов WordPress. Если вы хотите остановить попытки эксплуатации, уменьшить радиус поражения от инцидентов в цепочке поставок и получить немедленную защиту уровня 7 во время исправления, базовый план включает:
- Управляемый брандмауэр и WAF для блокировки известных вредоносных шаблонов
- Неограниченная пропускная способность и фильтрация запросов в реальном времени
- Сканер вредоносного ПО для обнаружения измененных или вредоносных файлов
- Снижение рисков OWASP Top 10
Начните с бесплатного базового плана и добавляйте более сильные защиты по мере роста ваших потребностей: https://my.wp-firewall.com/buy/wp-firewall-free-plan/
(Мы также предлагаем стандартные и профессиональные уровни с автоматизированным устранением неполадок, виртуальным патчингом, ежемесячными отчетами по безопасности и управляемыми услугами, если вам нужны более продвинутые варианты.)
Окончательные рекомендации
- Приоритизируйте обновление любого проекта, использующего
@haxtheweb/haxcms-nodejsдо версии 26.0.0 или более поздней — это окончательное исправление. - Если вы запускаете службы Node в производственной среде (например, безголовые фронтенды), применяйте правила WAF и квоты ресурсов, пока вы исправляете.
- Укрепите вашу CI и инфраструктуру сборки: эфемерные исполнители, ограничения ресурсов и строгие контроль доступа.
- Рассматривайте уведомления о зависимостях как операционные события: исправляйте, пересобирайте и проверяйте артефакты.
- Если вам нужна помощь в реализации экстренных WAF-защит, виртуального патчирования или триажа инцидентов, наша команда WP‑Firewall готова помочь.
Безопасность — это непрерывный процесс. Уязвимости в сторонних инструментах будут продолжать появляться — лучшая защита сочетает быстрое патчирование, надежные контрольные механизмы на границе и жесткие практики сборки и развертывания. Если вам нужна помощь в применении любых мер, упомянутых в этом посте, свяжитесь с нашей службой поддержки, и мы поможем вам приоритизировать и внедрить наиболее эффективные меры для вашей среды.
Ссылки и дополнительная литература
- Идентификаторы рекомендаций: CVE‑2026‑46357, GHSA‑9r33‑xhw8‑4qqp
- Если вы используете зависимости NPM или запускаете Node в своем стеке, рассматривайте рекомендации по цепочке поставок как операционные инциденты и следуйте контрольному списку по устранению выше.
