GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Pakete sicher mit Npm oder Yarn unter Linux

Stellen Sie sich dieses Szenario vor. Sie möchten eine Anwendung auf Ihrer Linux-Box installieren. Das Paket befindet sich in der frühen Entwicklungsphase und ist nur im NPM-Repository verfügbar. Sie sind etwas paranoid und skeptisch gegenüber der Echtheit des Pakets. Was würdest du tun? Wenn Sie Programmierer sind, können Sie den Code des Pakets überprüfen und nachsehen, ob es darin irgendwelche Probleme gibt. Wenn Sie sich mit Codierung nicht auskennen, haben Sie keine andere Wahl, als dem Paket blind zu vertrauen und es trotzdem zu installieren. Um dieses Problem zu beheben, gibt es ein Programm namens "npq" die zum sicheren Installieren von Paketen mit Npm verwendet werden kann oder Garn Paketmanager unter Linux.

Der npq prüft die Pakete, die Sie installieren möchten, bevor er sie installiert. Wenn bekannte Schwachstellen vorhanden sind, wird eine Warnung angezeigt, sodass Sie die Installation sicher überspringen können.

Npq führt die folgenden Schritte aus, um zu überprüfen, ob das Paket sicher ist oder nicht.

  1. Es wird die Snyk Vulnerability DB überprüfen um sicherzustellen, dass für das Paket Schwachstellen vorhanden sind. Wenn es bekannte Schwachstellen gibt, wird die Warnung angezeigt.
  2. Überprüfen Sie das Alter des Pakets. Wenn das Alter des Pakets weniger als 22 Tage beträgt, wird eine Warnmeldung angezeigt.
  3. Überprüfen Sie die Anzahl der Paket-Downloads. Wenn die Anzahl der Downloads des Pakets im letzten Monat weniger als 20 beträgt, wird eine Warnung angezeigt.
  4. Überprüfen Sie, ob es eine README-Datei für das Paket gibt. Wenn es keine README gibt, wird eine Warnung angezeigt.
  5. Überprüfen Sie, ob das Paket Pre- oder Post-Skripte enthält. Diese Skripte könnten bösartig sein, daher wird eine Warnmeldung angezeigt.

Wenn Sie keine Warnungen sehen, ist das Paket wahrscheinlich sicher. Bitte beachten Sie, dass ich sagte - das Paket ist WAHRSCHEINLICH sicher . Aber es gibt keine garantierte Sicherheit . Es könnte immer noch ein bösartiges oder anfälliges Paket existieren, für das keine Offenlegung in der Synk-Datenbank veröffentlicht wurde und das die Prüfungen von npq besteht.

Nachdem alle Tests durchgeführt wurden, übergibt npq den Installationsprozess des eigentlichen Pakets an den Paketmanager von Npm oder Yarn. Npm ist Standard.

Bitte beachten Sie, dass Npq Sie nicht daran hindert, die Pakete zu installieren. Es prüft ein Paket nur auf mögliche Sicherheitsprobleme und zeigt die Warnung an, wenn es bekannte Schwachstellen gibt. Es liegt an Ihnen, zu entscheiden, ob Sie die Installation ignorieren oder auf eigene Gefahr fortfahren.

Npq installieren

Stellen Sie sicher, dass Sie Nodejs auf Ihrer Linux-Box installiert haben. Wenn nicht, verweisen Sie auf den folgenden Link.

  • So installieren Sie NodeJS unter Linux

Führen Sie nach der Installation von Nodejs den folgenden Befehl aus, um Npq zu installieren:

$ npm install -g npq

Der obige Befehl platziert zwei Binärdateien, nämlich npq und npq-hero auf deinem Weg.

Pakete sicher mit Npm oder Yarn unter Linux installieren

Um das Paket zu prüfen und zu installieren, zum Beispiel tldr , führen Sie einfach Folgendes aus:

$ npq install tldr

Beispielausgabe:

✔ 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)

Wie Sie in der obigen Ausgabe sehen, gibt es drei Warnungen:

  1. Npq konnte den Autor des tldr-Pakets nicht identifizieren,
  2. Die Paketbeschreibung enthält keine E-Mail-Adresse
  3. Ich habe mich noch nicht mit der Snyk-Datenbank eingerichtet und authentifiziert. Um die Synk-CLI zu installieren und sich bei der Snyk-Datenbank zu authentifizieren, verweisen Sie auf diesen Link .

Wenn Ihnen die Warnungen egal sind und Sie darauf vertrauen, dass es sicher ist, geben Sie einfach Y ein um mit der Installation des Pakets fortzufahren.

Alias ​​erstellen

Npq ist nur ein Pre-Step-Tool, um nach bekannten Schwachstellen der npm-Pakete zu suchen, bevor sie tatsächlich installiert werden. Wenn Sie es häufig in Ihrer täglichen Arbeit verwenden, erstellen Sie einfach einen Alias wie unten.

$ alias npm='npq-hero'

Von nun an können Sie ein npm-Paket einfach prüfen und mit dem folgenden Befehl installieren:

$ npm install package_name

Standardpaketmanager ändern

Wie ich bereits erwähnt habe, übergibt Npq den Installationsprozess an Npm Paketmanager standardmäßig, nachdem Sie sie geprüft haben. Wenn Sie Yarn als Standard-Paketmanager festlegen möchten, geben Sie eine Umgebungsvariable an:

NPQ_PKG_MGR=yarn

Um einen Alias ​​mit Garn als Paketmanager zu erstellen, tun Sie Folgendes:

alias yarn="NPQ_PKG_MGR=yarn npq-hero"

Hoffe das hilft.


Linux
  1. So verwalten Sie NodeJS-Pakete mit Npm

  2. Wie installiere ich Yarn unter Ubuntu 20.04?

  3. Wie installiere ich Npm-Pakete in Nixos?

  4. So installieren Sie den Yarn NPM Package Manager unter Oracle Linux 8

  5. Debian:So installieren oder entfernen Sie DEB-Pakete mit dpkg

So installieren Sie Yarn unter Debian 10

So installieren Sie den Yarn NPM Package Manager unter Ubuntu 20.04

So installieren Sie Anaconda unter Linux

So installieren Sie Yarn unter Linux Mint 20

So installieren Sie Yarn unter Ubuntu 18.04

So listen Sie installierte Pakete in Linux mithilfe der Paketverwaltung auf