Sicher* Installieren Sie Pakete mit NPM/Garn, indem Sie sie als Teil Ihres Installationsprozesses prüfen
Medienberichterstattung über NPQ:
Sobald NPQ installiert ist, können Sie sicher* Pakete installieren:
npq install express
npq
führt die folgenden Schritte aus, um die Vernunft zu überprüfen, ob das Paket sicher ist, indem syntaktische Heuristiken verwendet werden und eine CVE -Datenbank abfragen:
Wenn NPQ aufgefordert wird, mit der Installation fortzufahren, überliefert es einfach den tatsächlichen Paket -Installationsjob an den Paketmanager (standardmäßig NPM).
Sicher* - Es gibt keine garantierte Sicherheit; Es könnte noch ein böswilliges oder verletzliches Paket vorhanden sein, das keine öffentlich offengelegten Sicherheitslücken aufweist und die Schecks von NPQ übernimmt.
npm install -g npq
Hinweis: Wir empfehlen eher mit npm
als mit yarn
. Auf diese Weise kann npq
Shell -Aliase automatisch für Sie installieren.
npq install express
Da npq
ein Vorschritt ist, um sicherzustellen, dass das von Ihnen installierte NPM-Paket sicher ist, können Sie es sicher in Ihre tägliche npm
-Verwendung einbetten, sodass Sie nicht daran denken müssen, npq
explizit auszuführen.
alias npm= ' npq-hero '
Wenn Sie yarn
verwenden oder im Allgemeinen npq explizit sagen möchten, welchen Paket -Manager Sie verwenden können, können Sie eine Umgebungsvariable angeben: NPQ_PKG_MGR=yarn
Beispiel: Erstellen Sie einen Alias mit Garn als Paketmanager:
alias yarn= " NPQ_PKG_MGR=yarn npq-hero "
HINWEIS: npq
standardmäßig lädt alle Befehle und Argumente an den npm
Paketmanager ab, nachdem er die Fälligkeitsdilgen für die jeweiligen Pakete beendet hat.
Marshall Name | Beschreibung | Notizen |
---|---|---|
Alter | Zeigt eine Warnung für ein Paket, wenn sein Alter auf NPM weniger als 22 Tage beträgt | Überprüft ein Paketerstellungsdatum, nicht eine bestimmte Version |
Autor | Wird eine Warnung zeigen, wenn ein Paket ohne Autorfeld gefunden wurde | Überprüft die neueste Version für einen Autor |
Downloads | Wird eine Warnung für ein Paket zeigen, wenn der Download im letzten Monat weniger als 20 beträgt | |
Readme | Wird eine Warnung zeigen, wenn ein Paket kein Readme hat oder es von NPM -Mitarbeitern als Sicherheits -Platzhalterpaket erkannt wurde | |
Repo | Zeigt eine Warnung, wenn ein Paket ohne eine gültige und funktionierende Repository -URL gefunden wurde | Überprüft die neueste Version auf eine Repository -URL |
Skripte | Wird eine Warnung zeigen, wenn ein Paket ein Skript vor/post -Installation hat, das möglicherweise böswillig sein könnte | |
Snyk | Wird eine Warnung zeigen, wenn ein Paket mit Schwachstellen in der Datenbank von SNYK gefunden wurde | Damit snyk funktioniert |
Lizenz | Wird eine Warnung zeigen, wenn ein Paket ohne Lizenzfeld gefunden wurde | Überprüft die neueste Version auf eine Lizenz |
abgelaufene Domänen | Zeigt eine Warnung, wenn ein Paket mit einem seiner Betrerungen mit einer E -Mail -Adresse gefunden wurde, die eine abgelaufene Domain enthält | Überprüft eine Abhängigkeitsversion für einen Betreuer mit einer abgelaufenen Domäne |
Unterschriften | Vergleiche die Unterschrift des Pakets, wie es auf dem Pakument der Registrierung mit den in der NPMJS.com -Registrierung veröffentlichten Schlüssel zeigt | |
Herkunft | Überprüfen |
Um einen Marshall vollständig zu deaktivieren, setzen Sie eine Umgebungsvariable mit dem Shortnamen des Marshalls.
Beispiel, um den Snyk -Schwachstellen Marshall zu deaktivieren:
MARSHALL_DISABLE_SNYK=1 npq install express
npq install express --dry-run
Lernen Sie Node.js sichere Codierungstechniken und Best Practices von Liran Tal
npm install
installiert ein Modul, auch wenn es Schwachstellen aufweist. NPQ zeigt die erkannten Probleme an und fordert den Benutzer auf, zu bestätigen, ob die Installation fortgesetzt werden soll.pre-install
Während npm audit
keine solchen Schecks durchführt und nur eine Sicherheitsdatenbank für bekannte Sicherheitsprobleme konsultiert.npm audit
nähert sich in der Funktionalität, was Snyk tut, anstatt das, was NPQ tut.Bitte konsultieren Sie den Beitrag, um Richtlinien zum Beitrag zu diesem Projekt zu erhalten
Liran tal [email protected]