Je nach Konfiguration code scanning werden die Ergebnisse möglicherweise als Überprüfungsergebnisse und Anmerkungen für Pullanforderungen angezeigt. Weitere Informationen finden Sie unter Informationen zu Codeüberprüfungswarnungen.
Anzeigen der Ergebnisse der code scanning Prüfung
Bei allen Konfigurationen von code scanning besteht die Überprüfung, die die Ergebnisse von code scanning enthält, aus: Code scanning Ergebnisse. Die Ergebnisse für jedes verwendete Analysetool werden separat angezeigt. Alle neuen Alerts zu Codezeilen, die in der Pull-Anfrage geändert wurden, werden als Anmerkungen angezeigt.
Klicke auf Alle Branchwarnungen anzeigen, um alle Warnungen für den analysierten Branch anzuzeigen. Dies öffnet die vollständige Alertansicht, in der Sie alle Alerts des Zweigs nach Typ, Schweregrad, Tag usw. filtern können. Weitere Informationen finden Sie unter Bewertung von Code-Scanning-Warnungen für Ihr Repository.

Umgang mit Schweregraden von Prüfungsfehlern
Wenn bei der code scanning Ergebnisüberprüfung Probleme mit dem Schweregrad von error, criticaloder high, gefunden werden, schlägt die Prüfung fehl, und der Fehler wird in den Prüfergebnissen gemeldet. Wenn alle gefundenen Ergebnisse code scanning niedrigere Schweregrade aufweisen, werden die Warnungen als Warnungen oder Notizen behandelt, und die Überprüfung ist erfolgreich.

Du kannst das Standardverhalten in deinen Repositoryeinstellungen außer Kraft setzen, indem du die Schweregrade sowie Sicherheitsgrade festlegst, die zu einem Fehler bei der Pull Request-Überprüfung führen. Weitere Informationen finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung.
Probleme mit Ihrer code scanning Konfiguration diagnostizieren
Je nach Ihrer Konfiguration werden möglicherweise zusätzliche Prüfungen angezeigt, die für Pull Requests mit code scanning konfiguriert sind. Dies sind in der Regel Workflows, die den Code analysieren oder Ergebnisse hochladen code scanning . Diese Überprüfungen sind nützlich für die Problembehandlung, wenn Probleme mit der Analyse auftreten.
Wenn das Repository z. B. die CodeQL-Analyseworkflow A CodeQL /Analyze (LANGUAGE)- Prüfung verwendet, wird diese Prüfung für jede Sprache ausgeführt, bevor die Ergebnisüberprüfung durchgeführt wird. Die Analyseüberprüfung schlägt möglicherweise fehl, wenn Konfigurationsprobleme auftreten, oder wenn die Pullanforderung den Build für eine Von der Analyse kompilierte Sprache umbricht (z. B C/C++, C#, Go, Java, Kotlin, Rust, und Swift. ).
Wie bei anderen Pull-Anfrage-Prüfungen können Sie auf der Registerkarte Prüfungen alle Details zum Fehler bei der Prüfung einsehen. Weitere Informationen zum Konfigurieren und zur Problembehandlung finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung oder Behebung von Fehlern bei der Code-Scan-Analyse.
Anzeigen einer Warnung auf deiner Pull-Anforderung
Sie können alle code scanning Warnungen sehen, die sich innerhalb des Diffs der Änderungen befinden, die in einem Pull-Request eingeführt wurden, indem Sie die Registerkarte „Unterhaltung“ anzeigen. Code scanning veröffentlicht eine Pull-Request-Überprüfung, die jede Warnung als Anmerkung in den Codezeilen anzeigt, die die Warnung ausgelöst haben. Du kannst die Warnungen kommentieren, diese löschen und auch Pfade für die Warnungen direkt über die Anmerkungen anzeigen. Du kannst die vollständigen Details einer Warnung anzeigen, indem du auf den Link „Weitere Details anzeigen“ klickst, über den du zur Detailseite der Warnung gelangst.

Sie können auch alle code scanning Warnungen anzeigen, die sich im Diff der in der Pull Request eingeführten Änderungen befinden, in der Registerkarte Dateien geändert.
Wenn Sie eine neue Codeüberprüfungskonfiguration in Ihrer Pull-Anforderung hinzufügen, wird ein Kommentar zu Ihrer Pullanforderung angezeigt, der Sie auf die Security and quality Registerkarte des Repositorys leitet, damit Sie alle Warnungen im Pullanforderungsverzweigung anzeigen können. Weitere Informationen zum Ansehen der Alerts für ein Repository finden Sie unter Bewertung von Code-Scanning-Warnungen für Ihr Repository.
Wenn du über Schreibberechtigungen für das Repository verfügst, enthalten einige Anmerkungen Links mit zusätzlichem Kontext für die Warnung. Im obigen Beispiel können Sie aus CodeQL der Analyse auf den vom Benutzer bereitgestellten Wert klicken, um zu sehen, wo die nicht vertrauenswürdigen Daten den Datenfluss eingeben (dies wird als Quelle bezeichnet). In diesem Fall kannst du auch den vollständigen Pfad von der Quelle zu dem Code anzeigen, der die Daten (die Senke) verwendet, indem du auf Pfade anzeigen klickst. So lässt sich leicht überprüfen, ob die Daten nicht vertrauenswürdig sind oder ob die Analyse einen Datenbereinigungsschritt zwischen der Quelle und der Senke nicht erkannt hat. Informationen zum Analysieren des Datenflusses finden Sie unter CodeQLÜber die Datenflussanalyse.
Um weitere Informationen zu einer Warnung anzuzeigen, können Benutzer mit Schreibberechtigung auf den Link Weitere Details anzeigen klicken, der in der Anmerkung angezeigt wird. Auf diese Weise kannst du alle Kontext- und Metadaten anzeigen, die vom Tool in einer Warnungsansicht bereitgestellt werden. Im folgenden Beispiel kannst du Tags sehen, die den Schweregrad, den Typ und die relevanten allgemeinen Schwächeaufzählungen (CWEs) für das Problem anzeigen. Die Ansicht zeigt auch, welche Commit das Problem eingeführt hat.
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.
In der detaillierten Ansicht für eine Warnung enthalten einige code scanning Tools, z. B. CodeQL Analysen, auch eine Beschreibung des Problems und einen Link "Weitere anzeigen", um Anleitungen zum Beheben ihres Codes zu erhalten.

Kommentieren einer Warnung in einem Pull Request
Sie können jede code scanning Warnung kommentieren, die in einer Pullanforderung angezeigt wird. Alerts erscheinen als Anmerkungen auf der Registerkarte Conversation einer Pull-Anfrage als Teil einer Pull-Anfrage-Überprüfung und werden auch auf der Registerkarte Files changed angezeigt.
Sie können festlegen, dass alle Unterhaltungen in einer Pull-Anforderung, einschließlich derjenigen in code scanning Warnungen, aufgelöst werden sollen, bevor eine Pullanforderung zusammengeführt werden kann. Weitere Informationen finden Sie unter Informationen zu geschützten Branches.
Beheben einer Warnung auf deiner Pull-Anforderung
Jeder Benutzer mit Pushzugriff auf eine Pullanforderung kann eine code scanning Benachrichtigung beheben, die auf dieser Pullanforderung identifiziert wird. Wenn du Änderungen an der Pull-Anforderung vornimmst, löst dies einen neuen Durchlauf der Pull-Anforderungsprüfung aus. Wenn deine Änderungen das Problem beheben, wird die Meldung geschlossen und der Vermerk entfernt.
Arbeiten mit Copilot Autofix Vorschlägen für Warnungen in einer Pull-Anforderung
GitHub Copilot Autofix ist eine Erweiterung von code scanning und bietet Ihnen gezielte Empfehlungen zur Behebung von code scanning-Warnungen (einschließlich CodeQL-Warnungen) in Pull-Requests. Die potenziellen Fixes werden automatisch von großen Sprachmodellen (LLMs) mithilfe von Daten aus der Codebasis, der Pullanforderung und aus der code scanning Analyse generiert.
Hinweis
Du benötigst kein Abonnement für GitHub Copilot, um GitHub Copilot Autofix zu verwenden. Copilot Autofix ist in allen öffentlichen Repositorys auf GitHub.com sowie in internen und privaten Repositorys im Besitz von Organisationen und Unternehmen verfügbar, die über eine Lizenz für GitHub Code Security verfügen.

Generieren von Copilot Autofix Vorschlägen und Veröffentlichen in einer Pullanforderung
Wenn Copilot Autofix für ein Repository aktiviert ist, werden Warnungen in Pull-Anforderungen wie gewohnt angezeigt, und Informationen von Warnungen, die von code scanning gefunden werden, werden automatisch zur Verarbeitung an das LLM gesendet. Wenn die LLM-Analyse abgeschlossen ist, werden alle Ergebnisse als Kommentare zu relevanten Warnungen veröffentlicht. Weitere Informationen finden Sie unter Verantwortungsbewusste Nutzung von Copilot Autofix für das Scannen von Code.
Hinweis
* Copilot Autofix unterstützt eine Teilmenge von CodeQL Abfragen. Informationen zur Verfügbarkeit von Copilot Autofix finden Sie in den Abfragetabellen, die mit Abfragen für die CodeQL-Analyse verknüpft sind.
- Wenn die Analyse abgeschlossen ist, werden alle relevanten Ergebnisse gleichzeitig in dem Pull Request veröffentlicht. Wenn mindestens eine Benachrichtigung in Ihrer Pullanforderung einen Copilot Autofix Vorschlag hat, sollten Sie davon ausgehen, dass die LLM die Identifizierung potenzieller Korrekturen für Ihren Code abgeschlossen hat.
- Bei von Abfragen generierten Warnungen, die von Copilot Autofix nicht unterstützt werden, wird eine Benachrichtigung angezeigt, die Sie darauf hinweist, dass die Abfrage nicht unterstützt wird. Wenn für eine unterstützte Abfrage kein Vorschlag generiert werden kann, wird in der Warnung ein Hinweis angezeigt. Darin werden Sie aufgefordert, einen anderen Commit zu senden oder sich an den Support zu wenden.
Copilot Autofix für code scanning Warnungen kann in jeder Situation kein Fix für jede Warnung generiert werden. Das Feature funktioniert auf Best-Effort-Basis und ist nicht garantiert, 100% der Zeit erfolgreich zu sein. Informationen zu den Einschränkungen bei automatisch generierten Korrekturen findest du unter [Einschränkungen bei Vorschlägen](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning#limitations-of-suggestions).
Wenn Sie in der Regel Änderungen an einem Pull Request vorschlagen, enthält ihr Kommentar Änderungen für eine einzelne Datei, die in dem Pull Request geändert wird. Der folgende Screenshot zeigt einen Copilot Autofix Kommentar, der Änderungen an der index.js Datei vorschlägt, in der die Warnung angezeigt wird. Da der potenzielle Fix eine neue Abhängigkeit von escape-html erfordert, schlägt der Kommentar auch vor, diese Abhängigkeit zur package.json-Datei hinzuzufügen, obwohl der ursprüngliche Pull Request keine Änderungen an dieser Datei vornimmt.

Bewerten und Annehmen eines Copilot Autofix Vorschlags
Jeder Copilot Autofix Vorschlag veranschaulicht eine mögliche Lösung für eine code scanning Warnung in Ihrer Codebasis. Sie müssen die vorgeschlagenen Änderungen bewerten, um festzustellen, ob sie eine gute Lösung für Ihre Codebasis sind, und um sicherzustellen, dass sie das beabsichtigte Verhalten beibehalten. Informationen zu den Einschränkungen von Copilot Autofix-Vorschlägen finden Sie unter Einschränkungen von Vorschlägen und Abmilderung der Einschränkungen von Vorschlägen in "Verantwortungsvoller Einsatz von Copilot Autofix für code scanning."
- Klicken Sie auf Bearbeiten, um die Bearbeitungsoptionen anzuzeigen, und wählen Sie Ihre bevorzugte Methode aus.
- Folgen Sie unter "Bearbeiten mit GitHub CLI" den Anweisungen zum lokalen Auschecken der Pullanforderung, und wenden Sie den vorgeschlagenen Fix an.
- Wählen Sie "FILENAME bearbeiten" aus, um die Datei direkt auf GitHub mit dem vorgeschlagenen Fix zu bearbeiten.
- Wenn Sie den Fix auf ein lokales Repository oder eine Verzweigung anwenden möchten, wählen Sie optional das Dropdownmenü des Vorschlags aus.
- Wählen Sie Autofix-Patch anzeigen aus, um Anweisungen zum Anwenden der vorgeschlagenen Korrektur auf ein lokales Repository oder einen Branch anzuzeigen.
- Wählen Sie Geänderte Zeile LINE_NUMBER kopieren um eine bestimmte Zeile des Vorschlags zu kopieren.
- Testen und ändern Sie die vorgeschlagene Korrektur nach Bedarf.
- Wenn Sie Ihre Änderungen getestet haben, übernehmen Sie den Commit für die Änderungen und übertragen Sie sie an Ihre Verzweigung.
- Durch das Pushen der Änderungen an Ihre Verzweigung werden alle üblichen Tests für Ihren Pull Request ausgelöst. Vergewissern Sie sich, dass die Komponententests weiterhin bestehen und dass die code scanning Warnung jetzt behoben ist.
Verwerfen eines Copilot Autofix Vorschlags
Wenn Sie sich entschließen, einen Copilot Autofix Vorschlag abzulehnen, klicken Sie im Kommentar auf Vorschlag ablehnen, um die vorgeschlagene Lösung abzulehnen.
Verwerfen einer Warnung auf deiner Pull-Anforderung
Eine andere Möglichkeit, eine Meldung zu schließen, ist, sie zu verwerfen. Du kannst eine Meldung verwerfen, wenn du der Meinung bist, dass sie nicht behoben 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. Wenn Sie über schreibberechtigungen für das Repository verfügen, steht eine Schaltfläche " Warnung schließen " in Codeanmerkungen und in der Warnungszusammenfassung zur Verfügung. Wenn du auf Warnung schließen klickst, wirst du aufgefordert, einen Grund für das Verwerfen der Warnung auszuwä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. Optional können Sie die Zurückweisung kommentieren, um den Kontext der Zurückweisung einer Warnung aufzuzeichnen. Der Kommentar zur Zurückweisung wird zur Zeitleiste der Warnung hinzugefügt und kann bei Prüfungen und Berichterstellungen als Begründung verwendet werden. Du kannst einen Kommentar über die REST-API für die Codeüberprüfung abrufen oder festlegen. Der Kommentar ist in dismissed_comment für den Endpunkt alerts/{alert_number} enthalten. Weitere Informationen finden Sie unter REST-API-Endpunkte für die Codeüberprüfung.
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.
Weitere Informationen zum Schließen von Warnungen sind unter Lösen von Code-Scan-Warnungen verfügbar.