Hinweis
Der Websiteadministrator muss code scanning aktivieren, damit du dieses Feature verwenden kannst. Weitere Informationen finden Sie unter Konfigurieren der Codeüberprüfung für Ihre Anwendung.
Möglicherweise kannst du code scanning nicht aktivieren oder deaktivieren, wenn Unternehmensbesitzende eine GitHub Advanced Security-Richtlinie auf Unternehmensebene festgelegt haben. Weitere Informationen finden Sie unter Implementierung von Richtlinien zur Codesicherheit und -analyse für Ihr Unternehmen.
Informationen zu Warnungen von code scanning
Sie können code scanning verwenden, um den Code in einem Repository mit der Standardanalyse CodeQL, einer Drittanbieteranalyse oder verschiedenen Analysetypen zu überprüfen. Nach Abschluss der Analyse werden die daraus resultierenden Warnungen in der Sicherheitsansicht des Repositorys nebeneinander angezeigt. Ergebnisse von Drittanbietertools oder benutzerdefinierten Abfragen enthalten möglicherweise nicht alle Eigenschaften, die Sie für Warnungen sehen, die von GitHubder Standardanalyse CodeQL erkannt wurden. Weitere Informationen findest du unter Konfigurieren des Standardsetups für das Code-Scanning und Konfigurieren des erweiterten Setups für das Code-Scanning.
code scanning analysiert Ihren Code regelmäßig auf der Standardverzweigung und während Pull-Anfragen standardmäßig. Informationen zur Verwaltung von Warnhinweisen zu einer Pull-Request findest du unter [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests).
Für code scanning-Warnungen aus der CodeQL-Analyse können Sie die Sicherheitsübersicht verwenden, um zu sehen, wie CodeQL in Pull-Anfragen in Repositorys Ihrer Organisation arbeitet, und um Repositorys zu identifizieren, in denen möglicherweise Maßnahmen erforderlich sind. Weitere Informationen finden Sie unter Warnungsmetriken der CodeQL-Pullanforderung.
Du kannst die Aktionen, die als Reaktion auf code scanning-Warnungen ergriffen wurden, mit GitHub-Tools überprüfen. Weitere Informationen finden Sie unter Prüfen von Sicherheitswarnungen.
Informationen zu Warnungsdetails
Bei jeder Warnung werden das Problem mit dem Code und der Name des Tools, das dieses erkannt hat, hervorgehoben. Du kannst die Codezeile anzeigen, die die Warnung ausgelöst hat, sowie Eigenschaften der Warnung (z. B. Warnungsschweregrad, Sicherheitsschweregrad und die Art des Problems). Warnungen informieren dich auch darüber, seit wann das Problem besteht. Für Warnungen, die durch die CodeQL-Analyse identifiziert werden, werden auch Hinweise zur Problemlösung angezeigt.
Der Status und die Details auf der Warnungsseite spiegeln nur den Status der Warnung für den Standardbranch des Repositorys wider, auch wenn die Warnung in anderen Branches vorhanden ist. Du kannst den Status der Warnung für nicht standardmäßigen Branches im Abschnitt Betroffene Branches rechts auf der Warnungsseite sehen. Wenn eine Warnung im Standardbranch nicht vorhanden ist, wird der Status der Warnung als „in Pull Request“ oder „in Branch“ in grau angezeigt. Im Abschnitt Development werden verknüpfte Branches und Pull Requests angezeigt, die die Warnung beheben.

Wenn Sie code scanning mit CodeQL konfigurieren, können Sie auch Datenflussprobleme in Ihrem Code finden. Die Datenflussanalyse findet potenzielle Sicherheitsprobleme in Code wie die unsichere Verwendung von Daten, die Übergabe gefährlicher Argumente an Funktionen und das Durchsickern vertraulicher Informationen.
Wenn code scanning Datenflusswarnungen meldet, zeigt Ihnen GitHub, wie Daten durch den Code fließen. Code scanning ermöglicht es Ihnen, die Bereiche Ihres Codes zu identifizieren, in denen vertrauliche Informationen verloren gehen, und dies könnte der Einstiegspunkt für Angriffe durch böswillige Benutzer sein.
Über Warnhinweise aus mehreren Konfigurationen
Du kannst für ein Repository mehrere Konfigurationen für Codeanalysen mit verschiedenen Tools sowie für verschiedene Sprachen oder Bereiche des Codes ausführen. Jede Konfiguration von code scanning generiert einen eindeutigen Satz von Warnungen. Beispielsweise stammt eine warnung, die mithilfe der Standardanalyse CodeQLGitHub Actions generiert wird, aus einer anderen Konfiguration als einer warnung, die extern generiert und über die code scanning API hochgeladen wurde.
Wenn du mehrere Konfigurationen zum Analysieren einer Datei verwendest, werden alle im Rahmen einer einzelnen Abfrage erkannten Probleme als Warnungen gemeldet, die von mehreren Konfigurationen generiert wurden. Wenn eine Warnung in mehreren Konfigurationen vorhanden ist, wird die Anzahl der Konfigurationen neben dem Branchnamen im Abschnitt „Betroffene Branches“ auf der rechten Seite der Warnungsseite angezeigt. Um die Konfigurationen für eine Warnung anzuzeigen, klicke im Abschnitt „Betroffene Branches“ auf einen Branch. Die modale Ansicht „Analysierende Konfigurationen“ wird mit den Namen jeder Konfiguration angezeigt, die die Warnung für diesen Branch generiert. Unter jeder Konfiguration wird angezeigt, wann die Warnung dieser Konfiguration zuletzt aktualisiert wurde.
Bei einer Warnung werden möglicherweise andere Status von verschiedenen Konfigurationen angezeigt. Um die Warnungsstatus zu aktualisieren, führe jede veraltete Konfiguration erneut aus. Alternativ kannst du veraltete Konfigurationen aus einem Branch löschen, um veraltete Warnungen zu entfernen. Weitere Informationen zum Löschen veralteter Konfigurationen und Warnungen findest du unter Lösen von Code-Scan-Warnungen.
Informationen zu Kennzeichnungen für nicht in Anwendungscode gefundene Warnungen
GitHub weist warnungen, die im Anwendungscode nicht gefunden werden, eine Kategoriebezeichnung zu. Mit dieser Kennzeichnung wird angegeben, wo die Warnung gefunden wurde.
-
Generiert: Vom Buildprozess generierter Code
-
Test: Testcode
-
Bibliothek: Bibliotheks- oder Drittanbietercode
-
Dokumentation: Dokumentation
Code scanning kategorisiert Dateien nach Dateipfad. Ein manuelles Kategorisieren von Quelldateien ist nicht möglich.
In diesem Beispiel wird eine Warnung in der code scanning Warnungsliste als "Test"-Code markiert.

Beim Durchklicken durch die Warnungsdetails fällt auf, dass der Dateipfad als „Test“ markiert ist.

Informationen zu Warnungsschweregraden und Sicherheitsschweregraden
Der Schweregrad für eine code scanning Warnung gibt an, wie viel Risiko das Problem zu Ihrer Codebasis hinzufügt.
-
**Schweregrad.** Alle code scanning Warnungen weisen eine Ebene von `Error`, `Warning` oder `Note` auf. -
**Sicherheitsschweregrad.** Jede Sicherheitswarnung, die mithilfe von CodeQL gefunden wurde, weist auch einen Sicherheitsschweregrad von `Critical`, `High`, `Medium` oder `Low` auf.
Wenn eine Warnung einen Sicherheitsschweregrad aufweist, wird diese Stufe bevorzugt gegenüber der severity angezeigt und verwendet. Sicherheitsschweregrade folgen dem branchenüblichen Common Vulnerability Scoring System (CVSS), das auch für Sicherheitswarnungen in der GitHub Advisory Database verwendet wird. Weitere Informationen finden Sie unter CVSS: Qualitative Bewertungsskala des Schweregrads.
Berechnung der Sicherheitsschweregrade
Wenn der Standard- oder erweiterten Abfragesuite eine Sicherheitsabfrage hinzugefügt CodeQL wird, berechnet das CodeQL Entwicklungsteam den Sicherheitsschweregrad wie folgt.
- Suche nach allen CVEs, denen mindestens eines der CWE-Tags zugewiesen ist, die der neuen Sicherheitsabfrage zugeordnet sind.
- Berechnen Sie das 75. Quantils des CVSS-Werts für diese CVEs.
- Festlegen dieser Bewertung als Sicherheitsschweregrad für die Abfrage.
- Wenn Warnungen angezeigt werden, die von der Abfrage gefunden wurden, werden die numerischen Bewertungen anhand der CVSS-Definitionen in
Critical,High,MediumoderLowübersetzt.
Weitere Informationen finden Sie auf der Dokumentationswebsite unter CodeQL CWE-AbdeckungCodeQL.
Informationen zu Benachrichtigungen in Pull-Anfragen
Code scanning Warnungen können bei Pullanforderungen als Überprüfungsergebnisse und Anmerkungen angezeigt werden. Dies geschieht in Repositorys, in denen code scanning entweder:
- Ist als Pullanforderungsprüfung konfiguriert (standardmäßig ist dies auf Pullanforderungen beschränkt, die auf die Standardverzweigung abzielen)
- So konfiguriert ist, bei jedem Push von Code einen Scan durchzuführen (die Ergebnisse werden allen offenen Pull-Anforderungen zugeordnet)
Sie sehen nur eine Warnung in einer Pullanforderung, wenn alle Codezeilen, die durch die Warnung identifiziert wurden, im Pullanforderungs-Diff vorhanden sind.
Je nach Branch-Schutzregeln ist die Überprüfung "Code scanning Ergebnisse" möglicherweise erforderlich und verhindert, dass Pull-Requests zusammengeführt werden, bis sie bestanden wird.