Priorisieren von Dependabot alerts mithilfe von Metriken
Anwendungssicherheitsmanager (AppSec) stehen häufig vor einer Flut von Dependabot alerts, was es schwierig macht, zu bestimmen, welche Sicherheitsrisiken zuerst behoben werden sollen. Dependabot Metriken bieten wertvolle Einblicke, mit denen Warnungen effizient priorisiert werden, wodurch sichergestellt wird, dass kritische Sicherheitsprobleme umgehend behoben werden. Benutzende Personen können fundierte Entscheidungen treffen und Ressourcen auf die Sicherheitsrisiken mit den größten Auswirkungen konzentrieren. Dieser Ansatz stärkt den Sicherheitsstatus der Organisation und optimiert das Sicherheitsmanagement.
Grundlegendes zu Dependabot Metriken
Dependabot Metriken bieten detaillierte Informationen zu Sicherheitsrisiken, die in Ihren Abhängigkeiten erkannt wurden. Zielmetriken umfassen:
* Severity: Gibt die potenziellen Auswirkungen eines Sicherheitsrisikos an (z. B. niedrig, mittel, hoch, kritisch) * Exploitability: Bewertet, wie einfach ein Sicherheitsrisiko ausgenutzt werden kann * Dependency relationship: Dabei wird zwischen direkten und transitiven Abhängigkeiten unterschieden. * Dependency scope: Dabei wird zwischen Laufzeit- und Entwicklungsabhängigkeiten unterschieden. Hiermit wird bestimmt, ob der anfällige Code tatsächlich in deiner Anwendung verwendet wird.
-
**Warnungen wurden in den letzten 30 Tagen geschlossen, einschließlich der Anzahl der durch Dependabot behobenen, manuell abgelehnten und automatisch abgelehnten Warnungen**: Verfolgt den Fortschritt der Alarmauflösung. Veranschaulicht, wie GitHub Code Security Ihnen helfen kann, Sicherheitslücken frühzeitig zu erkennen. -
**Tabelle mit der Gesamtanzahl der geöffneten Warnungen für jedes Repository sowie Daten zu Schweregrad und Ausnutzbarkeit.** Ermöglicht es dir, auf der Repository-Ebene detailliertere Untersuchungen anzustellen.
Weitere Informationen zu diesen Metriken findest du unter Informationen zu Metriken für Dependabot-Warnungen.
Darüber hinaus kannst du komplexe Filter anwenden, die einzelne verfügbare Filter miteinander kombinieren. Weitere Informationen zu Filtern finden Sie unter Dependabot Dashboardansichtsfilter.
Schritte zum Priorisieren von Warnungen
Diese ersten Schritte helfen Ihnen dabei, die Dependabot alerts, die Ihr Unternehmen am stärksten gefährden, zu identifizieren, damit Sie Ihren Entwicklern mitteilen können, auf welche Warnungen sie sich zur Behebung konzentrieren sollen.
1. Passe die Trichterreihenfolge an die Anforderungen deiner Organisation an
Du kannst die Standardtrichterreihenfolge im Diagramm „Alert priorization“ anpassen, damit es das eindeutige Risikoprofil, die geschäftlichen Prioritäten und die Complianceanforderungen deiner Organisation widerspiegelt. Weitere Informationen findest du unter Anzeigen von Metriken für Dependabot-Warnungen.
2. Konzentrieren auf kritische Warnungen und Warnungen mit hohem Schweregrad
Beginnen Sie, indem Sie Warnungen mit dem höchsten Schweregrad identifizieren, indem Sie die severity-critical Oder severity-high Filter verwenden. Diese Sicherheitsrisiken stellen das größte Risiko dar und werden häufig nach Compliancestandards priorisiert.
3. Bewerten der Ausnutzbarkeit und Zugänglichkeit
Priorisiere Sicherheitsrisiken, die in deiner Codebasis wahrscheinlich ausgenutzt werden. Um Warnungen zu identifizieren, die wahrscheinlich ausgenutzt werden, kannst du den Filter epss_percentage verwenden, der einem Wert wie epss_percentage>=0.10 zugeordnet ist.
4. Überprüfen des Abhängigkeitsbereichs und der Beziehung
Direkte Abhängigkeiten sind in der Regel einfacher zu aktualisieren und haben möglicherweise größere Auswirkungen auf die Sicherheit deiner Anwendung. Es wird empfohlen, diese nach Möglichkeit vor transitiven Abhängigkeiten zu behandeln.
Durch das Filtern von Warnungen mithilfe des Filters relationship:direct ist es möglich, bei unterstützten Ökosystemen wie npm Sicherheitsrisiken für direkte Abhängigkeiten anzuzeigen.
Laufzeitabhängigkeiten werden von einer Anwendung in der Produktion verwendet. Durch das Aktualisieren dieser Art von Abhängigkeit können Sicherheitsrisiken, Fehlerbehebungen und Leistungsverbesserungen behoben werden, die sich direkt auf deine Endbenutzenden oder Systeme auswirken. Andererseits werden Entwicklungsabhängigkeiten nur während der Entwicklungs-, Test- oder Buildprozesse verwendet. Obwohl sie wichtig sind, wirken sich Probleme in diesen Abhängigkeiten in der Regel nicht auf deine ausgeführte Anwendung oder die benutzenden Personen aus.
Du kannst die Filter scope:runtime oder scope:development verwenden, um nur Warnungen für Laufzeit- oder Entwicklungsabhängigkeiten anzuzeigen.
Berücksichtigen Sie das Alter von Warnmeldungen.
Ältere Warnungen weisen möglicherweise auf langfristige Risiken hin. Überprüfe und behandle ältere Benachrichtigungen regelmäßig, um zu verhindern, dass sich Sicherheitsrisiken anhäufen. Nachdem du beispielsweise festgelegt hast, dass ein bestimmtes Repository mehr Warnungen als andere Repositorys hat, die priorisiert werden müssen, hast du folgende Möglichkeiten:
- Klicke in der Repositorytabelle auf den Repositorynamen, um nur die Warnungen für dieses Repository anzuzeigen.
- Verwende den Filter „Older“ in der Dropdownliste Sort sowie weitere Sortierkriterien, um die Visualisierung so zu optimieren, dass sie deine Kriterien nach Alter erfüllt.
6. Nutzen der Automatisierung
Verwenden Sie Dependabotdie automatisierten Pullanforderungen, um Sicherheitsrisiken schnell zu beheben. Integriere diese Updates in deine CI/CD-Pipeline, um eine schnellere Behebung und Effizienzsteigerung zu erzielen.
Bewährte Methoden
-
**Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs)** zum Beheben von Sicherheitsrisiken basierend auf dem Schweregrad -
**Regelmäßiges Überwachen von Metriken** zum Identifizieren von Trends und wiederkehrenden Probleme -
**Zusammenarbeit mit Entwicklern** für rechtzeitige Updates und zum Minimieren von Unterbrechungen -
**Dokumentieren von Entscheidungen** für Transparenz und zum Unterstützen zukünftiger Priorisierungen