Безопасно* Установите пакеты с NPM/YARN, проверяя их как часть вашего процесса установки
Освещение в СМИ о NPQ:
После установки NPQ вы можете безопасно* Установить пакеты:
npq install express
npq
выполнит следующие шаги, чтобы проверить, что пакет безопасен, используя синтаксическую эвристику и запросив базу данных CVE:
Если NPQ будет предложено продолжить установку, он просто передает фактическое задание установки пакета с менеджером пакетов (NPM по умолчанию).
безопасно* - нет гарантированной безопасности; Можно все еще существовать вредоносный или уязвимый пакет, который публично раскрывает уязвимость безопасности и передает чеки NPQ.
npm install -g npq
Примечание: мы рекомендуем установить с помощью npm
, а не yarn
. Таким образом, npq
может автоматически устанавливать для вас псевдонимов оболочки.
npq install express
Поскольку npq
является предварительным шагом, чтобы гарантировать, что установленный вами пакет NPM, который вы устанавливаете, вы можете безопасно внедрить его в свое повседневное использование npm
, так что нет необходимости помнить, чтобы явно запускать npq
.
alias npm= ' npq-hero '
Если вы используете yarn
или, как правило, хотите явно сообщить NPQ, какой диспетчер пакетов использовать, вы можете указать переменную среды: NPQ_PKG_MGR=yarn
Пример: создайте псевдоним с пряжей в качестве менеджера пакетов:
alias yarn= " NPQ_PKG_MGR=yarn npq-hero "
Примечание. npq
по умолчанию разгружает все команды и их аргументы в диспетчер пакетов npm
после того, как он завершит должную дилигентность для соответствующих пакетов.
Имя Маршалла | Описание | Примечания |
---|---|---|
возраст | Покажет предупреждение о пакете, если его возраст на NPM составляет менее 22 дней | Проверяет дату создания пакета, а не конкретную версию |
автор | Покажет предупреждение, если упаковка была найдена без поля автора | Проверяет последнюю версию для автора |
Загрузки | Покажет предупреждение о пакете, если его загрузка подсчет за последний месяц составляет меньше 20 | |
Ридме | Покажет предупреждение, если у пакета нет чтения или его обнаружено в качестве пакета заполнителей безопасности NPM. | |
репо | Покажет предупреждение, если будет найден пакет без действительного и рабочего URL -адреса репозитория | Проверяет последнюю версию для URL -адреса репозитория |
сценарии | Покажет предупреждение, если у пакета есть сценарий установки Pre/post, который потенциально может быть злонамеренным | |
Snyk | Покажет предупреждение, если будет найден пакет с уязвимостью в базе данных Snyk | Чтобы Snyk работал, вам нужно либо установить пакет snyk NPM с действительным токеном API, либо сделать токен доступным в переменной среды snyk_token, и NPQ будет использовать его |
лицензия | Покажет предупреждение, если будет найдена посылка без поля лицензии | Проверяет последнюю версию на лицензию |
срок действия доменов | Покажет предупреждение, если будет найден пакет с одним из его сопровождающих, который имеет адрес электронной почты, который включает в себя срок действия домена с истекшим сроком действия | Проверяет версию зависимости для сопровождающего с истекшим доменом |
подписи | Сравнит подпись пакета, как это показывает в параметре реестра с ключами, опубликованными в реестре npmjs.com | |
происхождение | Проверит аттестации пакета провенансных метаданных для опубликованного пакета |
Чтобы полностью отключить маршалла, установите переменную среды, используя с короткометражным названием Маршалла.
Пример, чтобы отключить уязвимость Snyk Marshall:
MARSHALL_DISABLE_SNYK=1 npq install express
npq install express --dry-run
Узнайте Node.js безопасные методы кодирования и лучшие практики от Liran Tal
npm install
установит модуль, даже если у него есть уязвимости; NPQ отобразит обнаруженные проблемы и подсказывает пользователю подтверждение о том, следует ли продолжить их установку.pre-install
сценарий, который может быть потенциально вредным для вашей системы, и подсказывать вам его установить. Принимая во внимание, что npm audit
не будет выполнять такие проверки и консультироваться только в базе данных уязвимости для известных проблем безопасности.npm audit
ближе к функциональности к тому, что делает Snyk, а не то, что делает NPQ.Пожалуйста, проконсультируйтесь с участием руководящих принципов по внесению вклад в этот проект
Liran Tal [email protected]