n1ro°
RU

Текст и данные · Инструкция

yarn npm audit --recursive: как проверить зависимости

yarn npm audit без дополнительных флагов не всегда отвечает на вопрос о полном транзитивном графе проекта.

Редакция N1RO · Проверено

Короткий ответ

Как проверить уязвимости через yarn npm audit --recursive: охватить транзитивные зависимости, фильтровать severity и обработать non-zero exit code.

Что важно знать про yarn npm audit --recursive

По умолчанию Yarn audit проверяет direct dependencies активного workspace; -R/--recursive расширяет аудит на транзитивные зависимости. -A/--all охватывает все workspaces, а --environment production исключает devDependencies из проверяемого окружения. Наличие advisory ещё не доказывает эксплуатируемость именно вашего кода; вывод аудита нужно сопоставлять с используемыми версиями и путями выполнения.

Совет: Практический совет: Добавить --recursive, если нужна полная транзитивная цепочка.

Чек-лист: проверить транзитивные уязвимости и отфильтровать severity

  • Исходная точка зафиксирована: в корне проекта запустить базовый yarn npm audit и сохранить исходный отчёт.
  • Ключевое действие выполнено отдельно: добавить --recursive, если нужна полная транзитивная цепочка.
  • Финальная проверка пройдена: разобрать каждую применимую находку и обновить зависимость, resolution или код, затем повторить audit.
  • Для «проверить транзитивные уязвимости и отфильтровать severity» путь и ограничения сверены с «yarn npm audit» (Yarn).

Как выполнить задачу: проверить транзитивные уязвимости и отфильтровать severity

  1. 1. В корне проекта запустить базовый yarn npm audit и сохранить исходный отчёт.
  2. 2. Добавить --recursive, если нужна полная транзитивная цепочка.
  3. 3. В монорепозитории добавить --all, если требуется охват всех workspaces.
  4. 4. Для production-среза использовать --environment production и при необходимости --severity high/critical.
  5. 5. Разобрать каждую применимую находку и обновить зависимость, resolution или код, затем повторить audit.

Предупреждение: Осторожно: Не игнорировать non-zero exit code на CI без осознанной политики.

Практическая проверка: проверить транзитивные уязвимости и отфильтровать severity

В терминале сначала в корне проекта запустить базовый yarn npm audit и сохранить исходный отчёт и сохраните вывод команды. Затем добавить --recursive, если нужна полная транзитивная цепочка; после этого не меняйте package.json, lockfile или CI-конфигурацию несколькими способами сразу. Шаг «в монорепозитории добавить --all, если требуется охват всех workspaces» должен дать проверяемый вывод: путь зависимости, список workspaces, audit report, checksum или расшифровку кода — в зависимости от команды. Если действует ограничение «не игнорировать non-zero exit code на ci без осознанной политики», остановите автоматическую правку и разберите причину. Завершите через «разобрать каждую применимую находку и обновить зависимость, resolution или код, затем повторить audit» и повторите исходную команду.

Контрольные точки: проверить транзитивные уязвимости и отфильтровать severity

  • Старт. В корне проекта запустить базовый yarn npm audit и сохранить исходный отчёт. Получить корректную базу сравнения
  • Изменение. Добавить --recursive, если нужна полная транзитивная цепочка. Проверить шаг для задачи «проверить транзитивные уязвимости и отфильтровать severity»
  • Контроль. Разобрать каждую применимую находку и обновить зависимость, resolution или код, затем повторить audit. Подтвердить результат задачи «проверить транзитивные уязвимости и отфильтровать severity»

Ошибки при задаче «проверить транзитивные уязвимости и отфильтровать severity»

Не игнорировать non-zero exit code на CI без осознанной политики. Не считать --severity способом удалить саму уязвимость — он только фильтрует вывод. Не обновлять крупные зависимости массово без тестов совместимости.

Важно: Важно: Не считать --severity способом удалить саму уязвимость — он только фильтрует вывод.

Что учитывать

По умолчанию Yarn audit проверяет direct dependencies активного workspace; -R/--recursive расширяет аудит на транзитивные зависимости. -A/--all охватывает все workspaces, а --environment production исключает devDependencies из проверяемого окружения. Наличие advisory ещё не доказывает эксплуатируемость именно вашего кода; вывод аудита нужно сопоставлять с используемыми версиями и путями выполнения.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. yarn npm audit). Пример и формулировки — редакция N1RO на 2026-09-22.