Skip to main content
Skip to content

Informationen zur Erreichbarkeitsanalyse für Dependabot-Warnungen

Reachability analysis hilft bei der Priorisierung Dependabot alerts von Schwachstellen, indem ermittelt wird, ob Ihre Anwendung anfälligen Abhängigkeitscode erreichen kann.

Wer kann dieses Feature verwenden?

Reachability analysis ist für öffentliche, private und interne Repositorys auf GitHub Enterprise Cloud verfügbar, einschließlich Unternehmen mit Datenresidenz. Eine GitHub Code Security Lizenz ist nicht erforderlich.

Wenn Sie eine anfällige Abhängigkeit haben, bedeutet dies nicht immer, dass Ihre Anwendung die betroffene Funktion aufruft. Reachability analysis fügt jeder Dependabot Warnung eine Bewertung hinzu, die Ihnen dabei hilft, Korrekturen basierend auf der Verwendung der Abhängigkeit von Ihrem Code zu priorisieren.

Hinweis

Reachability analysis für Dependabot alerts ist in Öffentliche Vorschau und kann sich ändern.

Funktionsweise von reachability analysis

Reachability analysis analysiert Ihr offenes Dependabot alerts, um festzustellen, ob Ihre Anwendung die anfälligen Funktionen aufrufen kann. Es verwendet CodeQL statische Analysen und kuratierte Daten zur Identifizierung der betroffenen Funktionen, um nach Aufrufpfaden von Ihrem Code zu diesen Funktionen zu suchen.

Jede analysierte Dependabot Warnung erhält eine Bewertung , die Ihnen hilft, ihre Priorität zu bestimmen. Wenn verfügbar, zeigen Aufrufpfad-Nachweise , wie Ihr Code eine anfällige Funktion erreichen kann, damit Sie verstehen können, warum eine Warnung für Ihre Anwendung wichtig ist.

Anforderungen und unterstützte Ökosysteme

Reachability analysis unterstützt JavaScript-Repositorys, die npm, pnpm oder Yarn verwenden, sowie TypeScript-Repositorys. Ihr Repository muss über eine Sperrdatei verfügen, z. B. package-lock.json, pnpm-lock.yaml oder yarn.lock.

Damit reachability analysis funktioniert, muss Dependabot alerts aktiviert sein.

Die Analyse wird auf GitHubgehosteten Runnern ausgeführt. Selbst gehostete Läufer werden nicht unterstützt.

Grundlagen zu Erreichbarkeitsbewertungen

Verwenden Sie die Erreichbarkeit neben Schweregrad, Exploit Prediction Scoring System (EPSS)-Bewertungen, Abhängigkeitsbereich und Abhängigkeitsbeziehung, um zu entscheiden, welche Warnungen zuerst adressiert werden sollen.

UrteilBedeutungEmpfohlene Antwort
ErreichbarDie Analyse hat mindestens einen Aufrufpfad aus dem Code Ihres Repositorys zu einer anfälligen Funktion gefunden.Priorisieren Sie die Behebung, und überprüfen Sie die Nachweise für den Call-Path.
Potenziell erreichbarDie Analyse konnte einen Aufruf einer anfälligen Funktion nicht ausschließen. Diese Unsicherheit wird nicht durch ein nicht unterstütztes Ökosystem oder einen fehlgeschlagenen Scan verursacht. In Repositorys mit mehreren Manifesten werden Aufrufe, die nur außerhalb des Verzeichnisses eines Manifests gefunden werden, als potenziell erreichbar angesehen.Priorisieren Sie die Behebung zusammen mit erreichbaren Warnungen.
Nicht erreichbarDie Analyse wurde abgeschlossen und hat keinen Aufruf aus dem Code Ihrer Anwendung für eine anfällige Funktion gefunden.Weisen Sie der Warnung eine niedrigere Priorität zu, verwerfen oder schließen Sie sie jedoch nicht ausschließlich aufgrund dieser Bewertung.
Nicht erreichbarDie Analyse konnte keine Bewertung bereitstellen, z. B. weil die Warnung für ein nicht unterstütztes Ökosystem ist oder der Scan fehlgeschlagen ist oder ein Timeout aufgetreten ist.Priorisieren Sie den Alarm anhand der anderen Priorisierungssignale.

Verwenden Sie Erreichbarkeit, um Warnungen zu priorisieren, nicht um sie zu schließen.

Reachability analysis fügt bestehenden offenen Warnmeldungen Informationen hinzu, die Ihnen helfen, Abhilfemaßnahmen zu priorisieren. Es werden keine neuen Sicherheitslücken gefunden oder Warnungen automatisch geschlossen oder verworfen.

Ein Urteil ist eine Momentaufnahme. Sie sollten eine Warnung nicht ausschließlich basierend auf ihrer Erreichbarkeitsbewertung schließen oder verwerfen; während eine Funktion heute von Ihrem Code möglicherweise nicht erreichbar ist, können Codeänderungen oder Aktualisierungen an einer Sicherheitsmeldung das Ergebnis einer späteren Überprüfung ändern.

Erreichbarkeit ist nicht ausnutzbar

Eine erreichbare Funktion ist nicht notwendigerweise ausnutzbar. Die Erreichbarkeit zeigt, dass ein Aufrufpfad vorhanden ist, nicht, dass ein Angreifer ihn verwenden kann, um die Schwachstelle auszunutzen.

Ebenso ist eine "unerreichbare" Bewertung keine Garantie dafür, dass eine Abhängigkeit sicher ist. Überprüfen Sie diese Warnungen weiter, und halten Sie Abhängigkeiten auf dem neuesten Stand.

Nachweis des Anrufpfads

Für erreichbare Warnungen zeigt der Aufrufpfad-Nachweis, wie ein Aufruf aus Ihrem Code zu einer anfälligen Funktion führen kann. Verwenden Sie diese Nachweise, um zu verstehen, wo Ihre Anwendung die betroffene Abhängigkeit verwendet, und Abhilfemaßnahmen zu planen.

Eine Warnung kann bis zu fünf Beispielpfade anzeigen. Diese Beispiele sind keine vollständige Liste aller möglichen Aufrufpfade.

Verstehen, wann Ergebnisse aktualisiert werden

Durch Aktivieren von reachability analysis wird ein initialer Scan der offenen Warnmeldungen Ihres Repositorys gestartet. Danach werden Scans einmal alle 24 Stunden ausgeführt, solange das Repository offene Warnungen enthält. Jeder Scan deckt alle offenen Warnungen ab.

Das Pushen von Codeänderungen löst keine Überprüfung aus. Nachdem Sie ihren Code geändert haben, spiegelt die Bewertung diese Änderungen erst wider, wenn eine nachfolgende Überprüfung abgeschlossen ist.

Während dieser Zeit Öffentliche Vorschaukönnen Sie keine On-Demand-Scans planen oder auslösen.

Die Scan-Dauer hängt von der Größe des Repositorys und den Abhängigkeiten ab. Scans können in ein paar Minuten abgeschlossen werden, aber größere Scans dauern länger. Während der Öffentliche Vorschau Überprüfungen gilt ein Zeitlimit von drei Stunden.

Abrechnung und Nutzung während Öffentliche Vorschau

Reachability analysis ist kostenlos während der Öffentliche Vorschau. Ihre Scans verbrauchen keine GitHub Actions berechneten Minuten.

Bekannte Einschränkungen

Reachability analysis hat die folgenden Einschränkungen während Öffentliche Vorschau:

  • Ökosystemunterstützung: Warnungen außerhalb der unterstützten JavaScript- und TypeScript-Ökosysteme werden nicht unterstützt.
  • Große Repositorys und Monorepos: Einige Repositorys können das Drei-Stunden-Scanlimit erreichen oder Ressourcengrenzwerte erreichen, sodass die Ergebnisse nicht verfügbar sind.

Verwenden von Verdikten über die REST-API

Die Dependabot alerts REST-API macht Urteile für reachability analysis. Sie können Bewertungen über die Repository-, Organisations- und Enterprise-Warnendpunkte abrufen. Siehe REST-API-Endpunkte für Dependabot alerts.

Nächste Schritte

Um reachability analysis für Ihr Repository zu aktivieren, siehe Konfigurieren der Erreichbarkeitsanalyse für Dependabot-Warnungen.