Generieren vorgeschlagener Korrekturen für code scanning Warnungen
GitHub Copilot Autofix kann Korrekturen für durch code scanning-Analysen identifizierte Warnungen generieren. Die meisten CodeQL Warnungstypen werden unterstützt. Weitere Informationen findest du unter [AUTOTITLE](/code-security/concepts/code-scanning/copilot-autofix-for-code-scanning).
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.
- Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
- Klicke unter dem Repositorynamen auf Security. Wenn die Registerkarte „Security“ nicht angezeigt wird, klicke im Dropdownmenü auf Security.

- Klicke in der linken Randleiste auf Code scanning.
- Klicken Sie auf den Namen einer Warnung.
- Wenn Copilot Autofix einen Fix vorschlagen kann, klicken Sie oben auf der Seite auf "Lösung erstellen".
- Nachdem die vorgeschlagene Korrektur generiert wurde, können Sie ganz unten auf der Seite auf PR mit Korrektur erstellen klicken, um automatisch einen Pull Request mit der vorgeschlagenen Korrektur zu generieren. Aus dem Standard-Branch wird ein neuer Branch erstellt, die generierte Korrektur wird commited und ein Entwurf für eine Pull-Request-Anfrage wird erstellt. Die vorgeschlagene Korrektur können Sie wie bei allen anderen Korrekturen testen und bearbeiten.
Du kannst auch die Autofix-API für historische Warnendpunkte verwenden, um vorgeschlagene Korrekturen zu generieren, abzurufen und zu übernehmen.
-
[Erstellen eines Autofixes für eine Code Scanning-Warnung](/rest/code-scanning/code-scanning#create-an-autofix-for-a-code-scanning-alert) -
[Abfrage des Status eines Autofixes für einen Code-Scan-Warnhinweis](/rest/code-scanning/code-scanning#get-the-status-of-an-autofix-for-a-code-scanning-alert) -
[Commit eines Autofix für einen Code Scanning Alert](/rest/code-scanning/code-scanning#commit-an-autofix-for-a-code-scanning-alert) 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).
Zuweisen von Warnungen zu Copilot Codierungsassistent
Hinweis
Diese Option befindet sich derzeit in der öffentlichen Vorschau und kann geändert werden. Copilot Codierungsassistent muss im Repository verfügbar sein.
Sie können Copilot zuweisen, um eine automatisierte Korrektur anzuwenden. Copilot analysiert die Codeüberprüfungswarnung, erstellt einen Wartungsplan und implementiert die erforderlichen Codeänderungen in einer Pullanforderung.
- Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
- Klicke unter dem Repositorynamen auf Security. Wenn die Registerkarte „Security“ nicht angezeigt wird, klicke im Dropdownmenü auf Security.

- Klicke in der linken Randleiste auf Code scanning.
- Klicken Sie auf den Namen einer Warnung.
- Wenn ein Autofix nicht generiert wurde und Copilot Autofix einen Fix vorschlagen kann, klicken Sie oben auf der Seite auf "Fix generieren".
- Klicken Sie im rechten Menü auf "Assignees".
- Wählen Sie "Copilot" aus.
Innerhalb von 30 Sekunden wird Copilot einen Pull-Request öffnen, um die Warnung zu beheben, und eine Zusammenfassung der Korrekturen sowie Angaben zu den vorgenommenen Änderungen enthalten. Nach der Erstellung wird die Pullanforderung im Abschnitt "Entwicklung" angezeigt.
Manuelles Beheben einer Warnung
Alle Benutzer mit Schreibberechtigung für ein Repository können eine Warnung beheben, indem sie eine Korrektur am Code committen. Wenn das Repository zur Ausführung bei Pull-Requests geplant ist code scanning, empfiehlt es sich am besten, einen Pull-Request mit Ihrer Korrektur zu erstellen. Dies wird eine code scanning Analyse der Änderungen auslösen und prüfen, dass Ihre Lösung keine neuen Probleme verursacht. Weitere Informationen finden Sie unter Filtern von Codescanbenachrichtigungen in Pull-Anforderungen.
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.

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 Sie code scanning mit mehreren Konfigurationen ausführen, wird manchmal dieselbe Warnung von mehr als einer Konfiguration generiert. Wenn du nicht alle Konfigurationen regelmäßig ausführst, werden möglicherweise Warnungen angezeigt, die in einer Konfiguration behoben sind, aber nicht in einer anderen. Diese veralteten Konfigurationen und Warnungen können aus einem Branch entfernt werden. Weitere Informationen finden Sie unter Entfernen veralteter Konfigurationen und Warnungen aus einem Branch.
Verwerfen von Warnungen
Es gibt zwei Möglichkeiten zum Schließen einer Warnung. Du kannst das Problem im Code beheben oder die Warnung verwerfen.
Das Verwerfen einer Warnung ist eine Möglichkeit, eine Warnung zu entfernen, die deiner Meinung nach 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. Sie können Warnungen aus code scanning Anmerkungen im Code oder von der Übersicht innerhalb der Security and quality Registerkarte entfernen.
Wenn du eine Warnung verwirfst, passiert Folgendes:
- Es wird in allen Zweigen abgelehnt.
- 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, warum du die Warnung geschlossen hast, wird aufgezeichnet.
- Optional können Sie eine Ablehnung kommentieren, um den Kontext der Ablehnung einer Warnung festzuhalten.
- Beim nächsten Ausführen code scanning generiert derselbe Code keine Warnung.
So blenden Sie Warnungen aus:
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Klicke unter dem Repositorynamen auf Security. Wenn die Registerkarte „Security“ nicht angezeigt wird, klicke im Dropdownmenü auf Security.

-
Klicke in der linken Randleiste auf Code scanning.
-
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.
-
Überprüfe die Warnung. Klicke dann auf Warnung schließen, und wähle einen Grund für das Schließen der Warnung aus, oder gib einen Grund ein.

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.
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. Beispielsweise könnten Sie alle aktuellen Warnungen im Projekt abbrechen, die mit einer Markierung für eine bestimmte CWE-Schwachstelle (Common Weakness Enumeration) versehen wurden.
Erneutes Öffnen ignorierter Warnungen
Wenn Sie einen Alarm schließen, aber später feststellen, dass Sie den Alarm beheben müssen, können Sie ihn erneut öffnen und das Problem mit dem Code beheben. Zeige die Liste der geschlossenen Warnungen an, suche die Warnung, zeige sie an, und öffne sie erneut. Du kannst die Warnung dann auf die gleiche Weise wie jede andere Warnung beheben.
Entfernen veralteter Konfigurationen und Alarme aus einem Branch
Möglicherweise verfügst du über mehrere Codeüberprüfungskonfigurationen für ein einzelnes Repository. Bei der Ausführung können mehrere Konfigurationen dieselbe Warnung generieren. Wenn die Konfigurationen zusätzlich nach unterschiedlichen Zeitplänen ausgeführt werden, können die Warnungsstatus für unregelmäßige oder abgelaufene Konfigurationen veraltet sein. Weitere Informationen zu Warnungen aus mehreren Konfigurationen findest du unter Informationen zu Codeüberprüfungswarnungen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Klicke unter dem Repositorynamen auf Security. Wenn die Registerkarte „Security“ nicht angezeigt wird, klicke im Dropdownmenü auf Security.

-
Klicke in der linken Randleiste auf Code scanning.
-
Klicken Sie unter "Code scanning" auf eine code scanning Benachrichtigung.
-
Klicke im Abschnitt „Betroffene Branches“ in der Randleiste auf den gewünschten Branch.
-
Überprüfe im Dialogfeld „Konfigurationen analysieren“ die Details der Konfigurationen, die diese Warnung für den ausgewählten Branch gemeldet haben. Um eine unerwünschte Konfiguration für die gewünschte Verzweigung zu löschen, klicken Sie auf .
Wenn du eine Konfiguration versehentlich gelöscht hast, klicke auf Abbrechen, damit die Änderungen nicht angewendet werden.

-
Nachdem du unerwünschte Konfigurationen entfernt hast und bestätigt hast, dass die erwarteten Konfigurationen angezeigt werden, klicke auf Änderungen speichern.
Wenn du deine Änderungen nach dem versehentlichen Löschen einer Konfiguration speicherst, führe die Konfiguration erneut aus, um die Warnung zu aktualisieren. Weitere Informationen zur erneuten Ausführung von Konfigurationen, die GitHub Actions verwenden, finden Sie unter Erneutes Ausführen von Workflows und Jobs.
Hinweis
- Wenn Sie alle code scanning Konfigurationen für den Standardzweig Ihres Repositorys entfernen, verbleibt die Standardverzweigung in der Randleiste "Betroffene Verzweigungen", wird jedoch nicht von Konfigurationen analysiert.
- Wenn Sie alle code scanning Konfigurationen für eine andere Verzweigung als die Standardverzweigung Ihres Repositorys entfernen, wird diese Verzweigung aus der Randleiste "Betroffene Verzweigungen" entfernt.
Weiterführende Lektüre
-
[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests) -
[AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) -
[AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning)