Verwenden der npm-Überwachung zum Erkennen und Beheben von Paketrisiken

Azure DevOps Services

Der npm-Überwachungsbefehl führt eine gründliche Überprüfung Ihres Projekts durch, identifiziert potenzielle Sicherheitsrisiken und generiert einen detaillierten Bericht, der alle gefundenen Probleme hervorhebt. Die Durchführung von Sicherheitsprüfungen ist ein wichtiger Schritt bei der Erkennung und Behebung von Sicherheitsrisiken innerhalb der Abhängigkeiten des Projekts. Der npm Audit Fix-Befehl behebt automatisch die erkannten Sicherheitsrisiken, aktualisiert unsichere Paketversionen auf die neuesten sicheren Versionen. Die Behandlung dieser Sicherheitsrisiken ist entscheidend, um potenzielle Probleme wie Datenverlust, Dienstunterbrechungen und unbefugten Zugriff auf vertrauliche Informationen zu verhindern.

Warnung

Das Ausführen der npm-Überwachung überträgt die Namen aller pakete, die in Ihrem package.json angegeben sind, an die öffentliche Registrierung.

Lokales Ausführen von npm-Überwachung

npm audit kann lokal ausgeführt werden, ohne sich bei Ihrem Feed authentifizieren zu müssen. Auf diese Weise können Sie Ihr Projekt auf Sicherheitsrisiken überprüfen und einen detaillierten Bericht zu den erkannten Sicherheitsproblemen und ihrem Schweregrad erhalten.

Wenn Sie die erkannten Sicherheitsrisiken beheben möchten, können Sie ausführen npm audit fix, aber Sie müssen mit Ihrem Feed authentifiziert werden, um dies zu tun. Mit diesem Befehl werden unsichere Paketversionen auf die neuesten verfügbaren sicheren Versionen aktualisiert.

Wenn Sie npm audit fix ausführen, aktualisiert es nicht nur die package.json und package-lock.json des lokalen Projekts, sondern synchronisiert diese Änderungen auch mit dem zugeordneten Azure Artifacts-Feed. Die neu gesicherten Versionen der Pakete sind automatisch in Ihrem Feed verfügbar.

Durch diese Synchronisierung wird sichergestellt, dass andere Projekte, die denselben Feed nutzen, ebenfalls von diesen Updates profitieren. Sie hilft Standard einen konsistenten und sicheren Satz von Paketversionen für alle Projekte zu gewährleisten.

  1. Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um eine npm-Überwachung auszuführen:

    npm audit
    
  2. Wenn Sie versuchen möchten, ein Upgrade auf nicht anfällige Paketversionen durchzuführen, stellen Sie sicher, dass Sie zuerst mit Ihrem Feed verbunden sind, und führen Sie dann den folgenden Befehl in Ihrem Projektverzeichnis aus:

    npm audit fix
    

Stellen Sie nach dem Ausführen der npm-Überwachungskorrektur sicher, dass Sie einen gründlichen Test für Ihre Anwendung durchführen, um zu bestätigen, dass die Updates keine wichtigen Änderungen vorgenommen haben. Wenn ein Fix ein Hauptversionsupdate erfordert, empfiehlt es sich, die Versionshinweise des Pakets auf mögliche wesentliche Änderungen zu überprüfen. Denken Sie daran, dass während ein privates Paket mit öffentlichen anfälligen Abhängigkeiten Sicherheitsrisikowarnungen empfängt, keine Korrekturen über npm-Überwachungskorrekturen erhalten.

Hinweis

npm audit runs automatically runs with each execution of npm install, but it only works for public packages.

Ausführen der npm-Überwachung über Ihre Pipeline

Azure Pipelines unterstützt derzeit keine npm-Überwachung. Wenn Sie versuchen, den regulären npm-Überwachungsbefehl in Ihrer Pipeline zu verwenden, tritt ein Fehler auf. Führen Sie stattdessen npm audit mit dem Argument "--registry " aus, und geben Sie die Quell-URL Ihres Feeds an.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie "Pipelines", wählen Sie Ihre Pipeline und dann "Bearbeiten" aus, um sie zu ändern.

  3. Wählen Sie in Ihrer Pipelinedefinition das + Zeichen aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der npm-Aufgabe , und wählen Sie dann "Hinzufügen" aus, um sie zu Ihrer Pipeline hinzuzufügen.

  5. Geben Sie einen Anzeigenamen für Ihre Aufgabe ein, und wählen Sie im Dropdownmenü "Befehl" benutzerdefinierte Optionen aus.

  6. Fügen Sie den benutzerdefinierten Befehl in das Textfeld "Befehl" und "Argumente " ein:

    1. Verwenden Sie den folgenden Befehl, um eine npm-Überwachung durchzuführen und nach Paketschwachstellen zu suchen. Ersetzen Sie den Platzhalter durch die Quell-URL Ihres Feeds:

      audit --registry=<FEED_SOURCE_URL>
      
    2. Wenn Sie versuchen möchten, auf nicht anfällige Paketversionen zu aktualisieren, verwenden Sie den folgenden Befehl. Ersetzen Sie den Platzhalter durch die Quell-URL Ihres Feeds:

    audit fix --registry=<FEED_SOURCE_URL>
    

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