Текст и данные · Инструкция
yarn npm audit --recursive: как проверить зависимости
yarn npm audit без дополнительных флагов не всегда отвечает на вопрос о полном транзитивном графе проекта.
Короткий ответ
Как проверить уязвимости через 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. В корне проекта запустить базовый yarn npm audit и сохранить исходный отчёт.
- 2. Добавить --recursive, если нужна полная транзитивная цепочка.
- 3. В монорепозитории добавить --all, если требуется охват всех workspaces.
- 4. Для production-среза использовать --environment production и при необходимости --severity high/critical.
- 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.