En toute sécurité * Installer des packages avec NPM / YARN en les audant dans le cadre de votre processus d'installation
Couverture médiatique sur NPQ:
Une fois NPQ installé, vous pouvez installer en toute sécurité * Installer les packages:
npq install express
npq
effectuera les étapes suivantes pour vérifier la santé mentale que le package est sûr en utilisant des heuristiques syntaxiques et en interrogeant une base de données CVE:
Si NPQ est invité à continuer avec l'installation, il remet simplement le travail d'installation de package réel sur le gestionnaire de package (NPM par défaut).
En toute sécurité * - il n'y a pas de sécurité garantie; Un package malveillant ou vulnérable pourrait encore exister qui n'a pas de vulnérabilités de sécurité divulguées publiquement et transmet les contrôles de NPQ.
npm install -g npq
Remarque: Nous vous recommandons d'installer avec npm
plutôt que yarn
. De cette façon, npq
peut installer automatiquement les alias shell pour vous.
npq install express
Étant donné que npq
est une pré-étape pour vous assurer que le package NPM que vous installez est sûr, vous pouvez l'intégrer en toute sécurité dans votre utilisation quotidienne npm
, il n'est donc pas nécessaire de ne pas vous rappeler d'exécuter explicitement npq
.
alias npm= ' npq-hero '
Si vous utilisez yarn
, ou si vous souhaitez généralement dire explicitement à NPQ quel gestionnaire de package à utiliser, vous pouvez spécifier une variable d'environnement: NPQ_PKG_MGR=yarn
Exemple: créez un alias avec le fil comme gestionnaire de packages:
alias yarn= " NPQ_PKG_MGR=yarn npq-hero "
Remarque: npq
par défaut déchargera toutes les commandes et leurs arguments au gestionnaire de package npm
après avoir terminé sa diligence pour les packages respectifs.
Nom de Marshall | Description | Notes |
---|---|---|
âge | Montrera un avertissement pour un paquet si son âge sur NPM est inférieur à 22 jours | Vérifie une date de création de packages, pas une version spécifique |
auteur | Affichera un avertissement si un paquet a été trouvé sans champ d'auteur | Vérifie la dernière version d'un auteur |
téléchargements | Affichera un avertissement pour un package si son compte de téléchargement au cours du dernier mois est inférieur à 20 | |
réadmettre | Affichera un avertissement si un package n'a pas de lecture ou qu'il a été détecté comme un ensemble d'espace réservé de sécurité par le personnel de NPM | |
repo | Affichera un avertissement si un package a été trouvé sans URL de référentiel valide et fonctionnel | Vérifie la dernière version d'une URL du référentiel |
scripts | Affichera un avertissement si un package a un script d'installation pré / post qui pourrait potentiellement être malveillant | |
snyk | Affichera un avertissement si un package a été trouvé avec des vulnérabilités dans la base de données de SNYK | Pour que SNYK fonctionne, vous devez soit faire installer le package NPM snyk avec un jeton API valide, soit rendre le jeton disponible dans la variable d'environnement SNYK_TOKIN, et NPQ l'utilisera |
licence | Affichera un avertissement si un colis a été trouvé sans champ de licence | Vérifie la dernière version d'une licence |
domaines expirés | Affichera un avertissement si un package a été trouvé avec l'un de ses mainteneurs ayant une adresse e-mail qui comprend un domaine expiré | Vérifie une version de dépendance pour un mainteneur avec un domaine expiré |
signatures | Comparera la signature du pack | |
provenance | Vérifiera les Attates des métadonnées de Provenance du package pour le package publié |
Pour désactiver complètement un Marshall, définissez une variable d'environnement en utilisant avec le nom court du Marshall.
Exemple, pour désactiver la vulnérabilité SNYK Marshall:
MARSHALL_DISABLE_SNYK=1 npq install express
npq install express --dry-run
Apprenez les techniques de codage sécurisées Node.js et les meilleures pratiques de Liran Tal
npm install
installa un module même s'il a des vulnérabilités; NPQ affichera les problèmes détectés et invitera l'utilisateur à confirmer l'opportunité de l'installer.pre-install
qui peut être potentiellement nocif pour votre système et vous inviter à l'installer. Tandis que npm audit
n'effectuera pas de tels vérifications et ne consulte que une base de données de vulnérabilité pour les problèmes de sécurité connus.npm audit
est plus proche de la fonctionnalité de ce que fait SNYK, plutôt que ce que fait NPQ.Veuillez consulter la contribution des lignes directrices sur la contribution à ce projet
Liran Tal [email protected]