Utiliser l’audit npm pour détecter et corriger les vulnérabilités de package

Azure DevOps Services

La commande d’audit npm effectue une analyse approfondie de votre projet, en identifiant les vulnérabilités de sécurité potentielles et en générant un rapport détaillé qui met en évidence les problèmes détectés. La réalisation d’audits de sécurité est une étape essentielle de la reconnaissance et de la résolution des vulnérabilités dans les dépendances du projet. La commande de correctif d’audit npm traite automatiquement les vulnérabilités détectées, en mettant à jour les versions de package non sécurisées vers les dernières versions sécurisées. La résolution de ces vulnérabilités est essentielle pour empêcher les problèmes potentiels tels que la perte de données, les interruptions de service et l’accès non autorisé aux informations sensibles.

Avertissement

L’exécution de l’audit npm transmet les noms de tous les packages spécifiés dans votre package.json au registre public.

Exécuter l’audit npm localement

npm audit peut être exécuté localement sans avoir à s’authentifier auprès de votre flux. Cela vous permet d’analyser votre projet pour détecter les vulnérabilités et de recevoir un rapport détaillé sur les problèmes de sécurité détectés et leur gravité.

Si vous souhaitez corriger les vulnérabilités détectées, vous pouvez exécuter npm audit fix, mais vous devez être authentifié auprès de votre flux pour le faire. Cette commande met à jour les versions de package non sécurisées vers les dernières versions sécurisées disponibles.

Lorsque vous exécutez le correctif d’audit npm, il met non seulement à jour les package.json et les package-lock.json du projet local, mais synchronise également ces modifications avec le flux Azure Artifacts associé. Les versions nouvellement sécurisées des packages seront automatiquement disponibles dans votre flux.

Cette synchronisation garantit que d’autres projets partageant le même flux bénéficieront également de ces mises à jour. Il permet de maintenir un ensemble cohérent et sécurisé de versions de package dans tous les projets.

  1. Exécutez la commande suivante dans votre répertoire de projet pour effectuer un audit npm :

    npm audit
    
  2. Si vous souhaitez tenter de mettre à niveau vers des versions de package non vulnérables, vérifiez que vous êtes connecté à votre flux en premier, puis exécutez la commande suivante dans le répertoire de votre projet :

    npm audit fix
    

Après avoir exécuté le correctif d’audit npm, veillez à effectuer un test approfondi sur votre application pour vérifier que les mises à jour n’ont introduit aucune modification cassant. Si un correctif nécessite une mise à jour de version majeure, il est recommandé d’examiner les notes de publication du package pour connaître les éventuelles modifications cassants. N’oubliez pas que si un package privé avec des dépendances publiques vulnérables reçoit des alertes de vulnérabilité, il ne recevra pas de correctifs via le correctif d’audit npm.

Remarque

l’audit npm s’exécute automatiquement avec chaque exécution de l’installation npm, mais il fonctionne uniquement pour les packages publics.

Exécuter l’audit npm à partir de votre pipeline

Azure Pipelines ne prend actuellement pas en charge l’audit npm. Si vous essayez d’utiliser la commande d’audit npm standard dans votre pipeline, elle échoue. Au lieu de cela, exécutez l’audit npm avec l’argument --registry et fournissez l’URL source de votre flux.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Pipelines, sélectionnez votre pipeline, puis modifiez-le.

  3. Dans votre définition de pipeline, sélectionnez le + signe pour ajouter une nouvelle tâche.

  4. Recherchez la tâche npm , puis sélectionnez Ajouter pour l’ajouter à votre pipeline.

  5. Entrez un nom d’affichage pour votre tâche, puis sélectionnez personnalisé dans le menu déroulant Commandes .

  6. Collez votre commande personnalisée dans la zone de texte Commande et arguments :

    1. Utilisez la commande suivante pour effectuer un audit npm et rechercher des vulnérabilités de package. Remplacez l’espace réservé par l’URL source de votre flux :

      audit --registry=<FEED_SOURCE_URL>
      
    2. Si vous souhaitez tenter de procéder à une mise à niveau vers des versions de package non vulnérables, utilisez la commande suivante. Remplacez l’espace réservé par l’URL source de votre flux :

    audit fix --registry=<FEED_SOURCE_URL>
    

    A screenshot showing the npm audit task in a classic pipeline.