Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Verwalten von Codescanwarnungen für dein Repository

Über die Sicherheitsansicht kannst du Warnungen anzeigen, korrigieren, schließen oder löschen für mögliche Sicherheitsrisiken oder Fehler im Code deines Projekts anzeigen, beheben oder schließen.

Who can use this feature

If you have write permission to a repository you can manage code scanning alerts for that repository.

Code scanning ist für organisationseigene Repositorys in GitHub Enterprise Server verfügbar. Dieses Feature erfordert eine Lizenz für GitHub Advanced Security. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

Anzeigen der Warnungen für ein Repository

Jeder mit Leseberechtigung für ein Repository kann code scanning-Anmerkungen zu Pull Requests anzeigen. Weitere Informationen findest du unter Selektieren von code scanning-Warnungen in Pull Requests.

du benötigst Schreibberechtigungen, um eine Zusammenfassung aller Warnungen für ein Repository auf der Registerkarte Sicherheit anzuzeigen.

Standardmäßig wird die Seite für Codeüberprüfungswarnungen so gefiltert, dass Warnungen ausschließlich für den Standardbranch des Repositorys angezeigt werden.

  1. Navigiere auf your GitHub Enterprise Server instance zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Sicherheit. Registerkarte „Sicherheit“ 1. Klicke auf der linken Randleiste auf Codeüberprüfungswarnungen. Registerkarte „Codeüberprüfungswarnungen“

  2. Verwende optional das Feld für die Freitextsuche oder die Dropdownmenüs, um Warnungen zu filtern. Du kannst beispielsweise nach dem Tool filtern, das zum Identifizieren von Warnungen verwendet wurde. Nach Tool filtern 1. Klicke unter "Code scanning" auf die Warnung, die du dir näher ansehen möchtest. Zusammenfassung der Warnungen

    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. Der Abschnitt „Betroffene Branches“ in einer Warnung

  3. Wenn die Warnung auf ein Problem mit dem Datenfluss hinweist, klicke optional auf Show paths (Pfade anzeigen), um den Pfad von der Datenquelle zur Senke anzuzeigen, in der sie verwendet wird. Der Link „Show paths“ (Pfade anzeigen) für eine Warnung

  4. Warnungen aus der CodeQL-Analyse beinhalten eine Beschreibung des Problems. Klicke auf Mehr anzeigen, um weitere Informationen dazu anzuzeigen, wie du den Code korrigierst. Details einer Warnung

Weitere Informationen findest du unter Informationen zu code scanning-Warnungen.

Hinweis: Für die code scanning-Analyse mit CodeQL kannst du Informationen zu der neuesten Ausführung in einer Kopfzeile oben in der Liste der code scanning-Warnungen für das Repository anzeigen.

Einsehen kannst du hier beispielsweise den Zeitpunkt, zu dem der letzte Scan ausgeführt wurde, die Anzahl der Codezeilen, die im Vergleich zur Gesamtzahl der Codezeilen im Repository analysiert wurden, und die Gesamtzahl der Warnungen, die generiert wurden. UI-Banner

Filtern von code scanning-Warnungen

Du kannst die Warnungen filtern, die in der Ansicht für code scanning-Warnungen angezeigt werden. Dies ist nützlich, wenn viele Warnungen vorhanden sind, da du dich auf einen bestimmten Warnungstyp konzentrieren kannst. Es gibt einige vordefinierte Filter und einen Bereich von Schlüsselwörtern, mit denen du die Liste der angezeigten Warnungen verfeinern kannst.

  • Klicke zum Verwenden eines vordefinierten Filters auf Filter oder einen Filter, der in der Kopfzeile der Liste der Warnungen angezeigt wird, und wähle einen Filter aus der Dropdownliste aus. Vordefinierte Filter
  • Wenn du ein Schlüsselwort verwenden möchtest, tätige eine Eingabe entweder direkt im Textfeld „Filter“, oder:
    1. Klicke in das Textfeld „Filter“, um eine Liste aller verfügbaren Filterschlüsselwörter anzuzeigen.
    2. Klicke auf das Schlüsselwort, das du verwenden möchtest, und wähle dann einen Wert aus der Dropdownliste aus. Filterliste für Schlüsselwörter

Der Vorteil der Verwendung von Schlüsselwortfiltern besteht darin, dass nur Werte mit Ergebnissen in den Dropdownlisten angezeigt werden. So lässt es sich erleichtern, die Festlegung von Filtern zu verhindern, mit denen keine Ergebnisse gefunden werden.

Wenn du mehrere Filter eingibst, werden in der Ansicht Warnungen angezeigt, die mit allen festgelegten Filtern übereinstimmen. Beispielsweise werden mit is:closed severity:high branch:main nur geschlossene Warnungen mit hohem Schweregrad angezeigt, die im main-Branch vorhanden sind. Die Ausnahme sind Filter im Zusammenhang mit Referenzen (ref, branch und pr): Mit is:open branch:main branch:next werden geöffnete Warnungen aus dem main-Branch und dem next-Branch angezeigt.

Beachte, dass, wenn du nach Warnungen in einem Nicht-Standardbranch gefiltert hast, dieselben Warnungen aber im Standardbranch vorhanden sind, die Warnungsseite für eine bestimmte Warnung trotzdem nur den Status der Warnung im Standardbranch anzeigt, auch wenn dieser Status mit dem Status in einem Nicht-Standardbranch in Widerspruch steht. So kann eine Warnung, die in der Liste „Offen“ in der Warnungsübersicht für branch-x auftaucht, auf der Warnungsseite den Status „Behoben“ haben, wenn die Warnung im Standardbranch bereits behoben ist. Du kannst den Status der Warnung für den Branch, den du gefiltert hast, im Abschnitt Betroffene Branches auf der rechten Seite der Warnungsseite einsehen.

Du kannst dem tag Filter - voranstellen, um Ergebnisse mit diesem Tag auszuschließen. Beispielsweise werden mit -tag:style nur Warnungen angezeigt, die nicht über das style-Tag verfügen.

Beschränken von Ergebnissen nur auf Anwendungscode

Du kannst den Filter „Nur Warnungen im Anwendungscode“ oder autofilter:true-Schlüsselwort und -Wert verwenden, um Ergebnisse auf Warnungen im Anwendungscode einzuschränken. Weitere Informationen zu Codetypen, bei denen es sich nicht um Anwendungscode handelt, findest du im obigen Abschnitt unter Informationen zu nicht Teil des Anwendungscodes darstellenden Bezeichnungen für Warnungen.

Durchsuchen von code scanning-Warnungen

Du kannst die Liste der Warnungen durchsuchen. Dies ist zum Beispiel nützlich, wenn es eine große Anzahl von Warnungen im Repository gibt oder wenn du den genauen Namen für eine Warnung nicht kennst. Die Freitextsuche wird von GitHub Enterprise Server anhand folgender Parameter durchgeführt:

  • Der Name der Warnung
  • Die Warnungsdetails (dies umfasst auch die Informationen, die standardmäßig im reduzierbaren Abschnitt Mehr anzeigen ausgeblendet sind) Die in Suchvorgängen verwendeten Warnungsinformationen
Unterstützte SucheSyntaxbeispielErgebnisse
EinzelwortsucheinjectionGibt alle Warnungen zurück, die das Wort injection enthalten
Suche nach mehreren Wörternsql injectionGibt alle Warnungen zurück, die das Wort sql oder injection enthalten
Suchen nach genauen Übereinstimmungen
(doppelte Anführungszeichen verwenden)
"sql injection"Gibt alle Warnungen zurück, die die genaue Wortgruppe sql injection enthalten
OR-Suchesql OR injectionGibt alle Warnungen zurück, die das Wort sql oder injection enthalten
AND-Suchesql AND injectionGibt alle Warnungen zurück, die sowohl das Wort sql als auch das Wort injection enthalten

Tipps:

  • Die Suche nach mehreren Wörtern entspricht einer OR-Suche.
  • Bei der AND-Suche werden Ergebnisse zurückgegeben, in denen die Suchbegriffe an beliebiger Stelle ungeachtet der Reihenfolge im Warnungsnamen oder in den Warnungsdetails gefunden werden.
  1. Navigiere auf your GitHub Enterprise Server instance zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Sicherheit. Registerkarte „Sicherheit“ 1. Klicke auf der linken Randleiste auf Codeüberprüfungswarnungen. Registerkarte „Codeüberprüfungswarnungen“
  2. Gib rechts neben dem Dropdownmenü Filter im Feld für die Freitextsuche die Schlüsselwörter ein, nach denen gesucht werden soll. Das Feld für die Freitextsuche
  3. Drücke die EINGABETASTE. Die Liste der Warnungen enthält die geöffneten code scanning-Warnungen, die den Suchkriterien entsprechen.

Beheben einer Warnung

Alle Benutzer mit Schreibberechtigung für ein Repository können eine Warnung beheben, indem sie eine Korrektur am Code committen. Wenn im Repository die Ausführung von code scanning für Pull Requests geplant ist, ist es am besten, einen Pull Request mit der Korrektur auszulösen. Dadurch wird eine code scanning-Analyse der Änderungen ausgelöst und getestet, ob durch die Korrektur neue Probleme entstehen. Weitere Informationen findest du unter Anpassen der code scanning und unter Selektieren von Warnungen der code scanning in Pull Requests.

Wenn du über Schreibberechtigungen für ein Repository verfügst, kannst du behobene Warnungen anzeigen, indem du die Zusammenfassung von Warnungen anzeigen und auf Geschlossen klickst. Weitere Informationen findest du unter Anzeigen der Warnungen für ein Repository. In der Liste „Geschlossen“ werden behobene Warnungen und solche Warnungen angezeigt, die Benutzer verworfen haben.

Du kannst die Freitextsuche oder die Filter nutzen, um eine Teilmenge der Warnungen anzuzeigen und dann alle übereinstimmenden Warnungen als geschlossen markieren.

Warnungen können in einem Branch behoben werden, aber nicht in einem anderen. Du kannst den Filter „Branch“ in der Zusammenfassung der Warnungen verwenden, um zu überprüfen, ob eine Warnung in einem bestimmten Branch behoben ist.

Filtern von Warnungen nach Branch

Beachte, dass, wenn du nach Warnungen in einem Nicht-Standardbranch gefiltert hast, dieselben Warnungen aber im Standardbranch vorhanden sind, die Warnungsseite für eine bestimmte Warnung trotzdem nur den Status der Warnung im Standardbranch anzeigt, auch wenn dieser Status mit dem Status in einem Nicht-Standardbranch in Widerspruch steht. So kann eine Warnung, die in der Liste „Offen“ in der Warnungsübersicht für branch-x auftaucht, auf der Warnungsseite den Status „Behoben“ haben, wenn die Warnung im Standardbranch bereits behoben ist. Du kannst den Status der Warnung für den Branch, den du gefiltert hast, im Abschnitt Betroffene Branches auf der rechten Seite der Warnungsseite einsehen.

Hinweis: Wenn du die Codeüberprüfung mit mehreren Konfigurationen ausführst, kann es passieren, dass eine Warnung mehrere Analyse-Ursprünge aufweist. Wenn du nicht alle Konfigurationen regelmäßig ausführst, werden möglicherweise Warnungen angezeigt, die in einem Analyse-Ursprung behoben sind, aber nicht in einem anderen. Weitere Informationen findest du unter Informationen zu Analyse-Ursprüngen.

## Schließen oder Löschen von Warnungen

Es gibt zwei Möglichkeiten zum Schließen einer Warnung. Du kannst das Problem im Code beheben oder die Warnung verwerfen. Wenn über du Administratorberechtigungen für das Repository verfügst, kannst du Warnungen auch löschen. Das Löschen von Warnungen ist in Situationen nützlich, in denen du ein code scanning-Tool eingerichtet und dann beschlossen hast, dieses zu entfernen, oder in denen du eine CodeQL-Analyse mit einer größeren Gruppe von Abfragen konfiguriert hast, als du weiterhin verwenden möchtest, und dann einige Abfragen aus dem Tool entfernt haben. In beiden Fällen kannst du durch das Löschen von Warnungen die code scanning-Ergebnisse bereinigen. Du kannst Warnungen in der Zusammenfassungsliste auf der Registerkarte Sicherheit löschen.

Das Verwerfen einer Warnung ist eine Möglichkeit, eine Warnung zu schließen, die deiner Meinung nach nicht behandelt werden muss. Beispielsweise liegt ein Fehler in Code vor, der nur zum Testen verwendet wird, oder der Aufwand zum Beheben des Fehlers ist höher als der potenzielle Vorteil der Verbesserung des Codes. Du kannst Warnungen aus code scanning-Anmerkungen im Code oder auf der Registerkarte Sicherheit in der Zusammenfassungsliste schließen.

Wenn du eine Warnung verwirfst, passiert Folgendes:

  • Sie wird in allen Branches geschlossen.
  • Die Warnung wird aus den aktuellen Warnungen für dein Projekt entfernt.
  • Die Warnung wird in der Zusammenfassung der Warnungen in die Liste „Geschlossen“ verschoben, aus der du die Warnung bei Bedarf erneut öffnen kannst.
  • Der Grund für das Schließen der Warnung wird aufgezeichnet.
  • Wenn code scanning das nächste Mal ausgeführt wird, wird durch denselben Code keine Warnung mehr generiert.

Wenn du eine Warnung löschst, gilt Folgendes:

  • Sie wird in allen Branches gelöscht.
  • Die Warnung wird aus den aktuellen Warnungen für dein Projekt entfernt.
  • Sie wird in der Zusammenfassung der Warnungen nicht der Liste „Geschlossen“ hinzugefügt.
  • Wenn der Code, durch den die Warnung generiert wurde, gleich bleibt und dasselbe code scanning-Tool ohne Konfigurationsänderungen noch einmal ausgeführt wird, wird die Warnung wieder in den Analyseergebnissen angezeigt.

So schließt oder löschst du Warnungen:

  1. Navigiere auf your GitHub Enterprise Server instance zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Sicherheit. Registerkarte „Sicherheit“ 1. Klicke auf der linken Randleiste auf Codeüberprüfungswarnungen. Registerkarte „Codeüberprüfungswarnungen“

  2. Wenn du über Administratorberechtigungen für das Repository verfügst und Warnungen für dieses code scanning-Tool löschen möchtest, wähle einige oder alle Kontrollkästchen aus, und klicke auf Löschen.

    Löschen von Warnungen

    Du kannst optional die Freitextsuche oder die Filter nutzen, um eine Teilmenge der Warnungen anzuzeigen und dann alle übereinstimmenden Warnungen als geschlossen markieren. Wenn du beispielsweise eine Abfrage aus der CodeQL-Analyse entfernt hast, kannst du den Filter „Regel“ verwenden, um nur die Warnungen für diese Abfrage aufzulisten und dann all diese Warnungen auszuwählen und zu löschen.

    Filtern von Warnungen nach Regel

  3. Wenn du eine Warnung verwerfen möchtest, ist es wichtig, die Warnung zunächst zu begutachten, damit du den richtigen Grund zum Verwerfen auswählen kannst. Klicke auf die Warnung, die du begutachten möchtest. Warnung über die Zusammenfassungsliste öffnen

  4. Überprüfe die Warnung. Klicke dann auf Verwerfen, und wähle einen Grund für das Schließen der Warnung aus. Schließungsgrund für eine Warnung auswählen Es ist wichtig, den entsprechenden Grund aus dem Dropdownmenü auszuwählen, weil sich dies darauf auswirken kann, ob eine Abfrage weiterhin in zukünftigen Analysen berücksichtigt wird.

    Wenn du eine CodeQL-Warnung als False Positive-Ergebnis schließt, z. B. weil der Code eine nicht unterstützte Bereinigungsbibliothek verwendet, solltest du zum CodeQL-Repository beitragen und die Analyse verbessern. Weitere Informationen zu CodeQL findest du unter Beitragen zu CodeQL.

Gleichzeitiges Verwerfen mehrerer Warnungen

Wenn ein Projekt mehrere Warnungen aufweist, die du aus demselben Grund verwerfen möchtest, kannst du die Warnungen in der Zusammenfassung der Warnungen mithilfe einer Massenaktion verwerfen. Normalerweise musst du die Liste filtern und dann alle übereinstimmenden Warnungen verwerfen. Beispiel: Du musst alle aktuellen Warnungen im Projekt schließen, die mit einem Tag für ein bestimmtes CWE-Sicherheitsrisiko (Common Weakness Enumeration) versehen wurden.

Weiterführende Themen