К основному контенту

🐧 Как безопасно устанавливать пакеты, используя Npm или Yarn в Linux

Представьте такой сценарий.

Вы хотите установить приложение на свой Linux-бокс.

Пакет находится на ранней стадии разработки и доступен только в репозитории NPM.

Вы немного параноидально и скептически относитесь к подлинности упаковки.

Что бы вы сделали?

Если вы программист, вы можете проверить код пакета и посмотреть, есть ли в нем какие-либо проблемы.

Если вы не знаете ничего о программировании, у вас нет выбора, кроме как вслепую доверять пакету и в любом случае установить его.

Чтобы устранить эту проблему, существует программа с именем «npq», которую можно использовать для безопасной установки пакетов с помощью менеджеров пакетов Npm или Yarn в Linux.

Npq будет проверять пакеты, которые вы хотите установить, перед их установкой.

Если есть какие-либо известные уязвимости, будет отображено предупреждение, чтобы вы могли безопасно пропустить установку.

Npq выполнит следующие шаги, чтобы проверить, является ли пакет безопасным:

  1. Он проверит Snyk Vulnerability DB, чтобы убедиться, что существуют какие-либо уязвимости для пакета. Если есть какие-либо известные уязвимости, отобразится предупреждение.
  2. Проверит возраст пакета. Если возраст пакета составляет менее 22 дней, появится предупреждающее сообщение.
  3. Проверит количество скачиваний пакетов. Если количество загрузок пакета меньше 20 в прошлом месяце, будет показано предупреждение.
  4. Проверит, есть ли README у пакета. Если README нет, появится предупреждение.
  5. Проверит, есть ли в пакете скрипты, которые выполняются до или после инсталла. Эти скрипты могут быть вредоносными, поэтому они будут отображать предупреждающее сообщение.

Если вы не видите никаких предупреждений, пакет, вероятно, безопасен.

Обратите внимание, как я сказал — пакет, вероятно, безопасна.

Но нет гарантированной безопасности.

Вредоносный или уязвимый пакет все еще может существовать.

Такой пакет, который не раскрывается в базе данных Synk и проходит проверки npq.

После того, как все тесты будут выполнены, npq передаст процесс установки фактического пакета Npm или менеджеру пакетов Yarn.

Пожалуйста, помните, что Npq не помешает вам установить пакеты.

Он будет только проверять пакет на наличие возможных проблем безопасности и отображать предупреждение, если есть какие-либо известные уязвимости.

Вы сами решаете, игнорировать ли установку или продолжить на свой страх и риск.

Установка Npq

Убедитесь, что вы установили Nodejs на вашем Linux-компьютере.

После установки Nodejs выполните следующую команду для установки Npq:

$ npm install -g npq

Безопасная установка пакетов с использованием Npm или Yarn в Linux

Чтобы проверить и установить пакет, например, tldr, просто запустите:

$ npq install tldr

Пример вывода:

✔ Checking package maturity ✖ Identifying package author... ✔ Checking package download popularity ✔ Checking availability of a README ✔ Identifying package repository... ✔ Checking package for pre/post install scripts ✖ Checking for known vulnerabilities Detected possible issues with the following packages: [tldr] - the package description has no e-mail associated with author(s). Proceed with care. [*] - Unable to query for known vulnerabilities. Install snyk and authenticate or provide a SNYK_TOKEN env variable (https://snyk.io) ? Would you like to continue installing package(s)? (y/N)



Как видно из вышеприведенного вывода, есть три предупреждения:
  1. Npq не может определить автора пакета tldr,
  2. В описании пакета нет адреса электронной почты,
  3. Я еще не установил и не аутентифицировался с базой данных Snyk. Чтобы установить Synk CLI и пройти аутентификацию с базой данных Snyk, перейдите по этой ссылке.
Если вас не волнуют предупреждения и вы уверены, что все безопасно, просто наберите Y, чтобы продолжить установку пакета.

Создайте алиас

Npq — это всего лишь предварительный инструмент для проверки известных уязвимостей пакетов npm перед их фактической установкой.

Если вы часто используете его в своей повседневной работе, просто создайте алиас, как показано ниже.

$ alias npm='npq-hero'
С этого момента вы можете просто проверить пакет npm и установить его с помощью команды:
$ npm install package_name

Изменить менеджер пакетов по умолчанию

Как я уже упоминал, Npq по умолчанию передаст процесс установки диспетчеру пакетов Npm после их аудита.

Если вы хотите установить Yarn в качестве менеджера пакетов по умолчанию, укажите переменную среды:

NPQ_PKG_MGR=yarn
Чтобы создать алиас для yarn в качестве менеджера пакетов, выполните:
alias yarn="NPQ_PKG_MGR=yarn npq-hero"

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…