Hinweis
Kampagnen für secret scanning-Warnungen befinden sich derzeit in der public preview. Änderungen sind vorbehalten.
Erstellen einer Sicherheitskampagne
Sicherheitskampagnen werden über die Registerkarte Security für deine Organisation erstellt und verwaltet.
Du hast folgende Möglichkeiten, um die Warnungen auszuwählen, die in die Kampagne aufgenommen werden sollen:
- Kampagnenvorlagen: Die Kampagnenvorlagen enthalten Filter für die am häufigsten verwendeten Warnungsoptionen. Für Codekampagnen enthalten sie alle die Anforderung, dass GitHub Copilot Autofix für alle enthaltenen Warnungstypen wie
autofix:supported
unterstützt wird. - Benutzerdefinierte Filter: Durch das Erstellen einer Kampagne mit benutzerdefinierten Filtern lassen sich eigene Kriterien für die Auswahl von Warnungen für die Kampagne festlegen. So kannst du deine Kampagne an die spezifischen Anforderungen deiner Organisation anpassen.
Darüber hinaus kannst du die REST-API verwenden, um Kampagnen effizienter und im großen Stil zu erstellen und mit ihnen zu interagieren. Weitere Informationen finden Sie unter REST-API-Endpunkte für Sicherheitskampagnen.
Kampagne erstellen
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf Security.
-
Klicke in der linken Randleiste auf Campaigns.
-
Klicke auf Create campaign , und wähle eine der folgenden Optionen aus:
- Klicke auf From template, und wähle eine vordefinierte Kampagnenvorlage für Code oder Geheimnisse aus der Liste aus.
- Klicke auf From code scanning filters oder From secret scanning filters, und füge Filter hinzu, um eine Teilmenge der Warnungen für deine Kampagne zu definieren. Siehe Beispiele für nützliche Filter.
-
Überprüfe die ausgewählten Warnungen, die in die Kampagne aufgenommen werden sollen, und passe die Filter bei Bedarf an. Es dürfen höchstens 1000 Warnungen ausgewählt werden.
-
Wenn du mit dem Inhalt der Kampagne zufrieden bist, klicke auf Save as. Wähle dann, ob du einen Kampagnenentwurf erstellen möchtest oder ob du direkt die Details der Kampagne bearbeiten möchtest, bevor du sie veröffentlichst:
- Wenn du den Inhalt und die Details der Kampagne vor deren Veröffentlichung überprüfen oder Feedback zur Implementierung der Kampagne erhalten möchtest, klicke auf Draft campaign.
- Wenn du die Kampagne veröffentlichen und auf eine Überprüfungsphase verzichten möchtest, klicke auf Publish campaign.
-
Wahlweise kannst du, wenn du einen Kampagnenentwurf erstellt hast, die Details der Kampagne bearbeiten, speichern und überprüfen:
- Bearbeite „Campaign Name“ und „Short description“ so, dass sie deinen Kampagnenanforderungen entsprechen, und verknüpfe alle Ressourcen, die für die Kampagne benötigt werden.
- Definiere unter „Campaign due date“ ein Fälligkeitsdatum für die Kampagne, und wähle unter „Campaign managers“ mindestens eine primäre Kontaktperson für die Kampagne aus. Das Kampagnenmanagement darf nur Benutzenden oder Teams zugewiesen werden, die eine Besitzer- oder Sicherheitsmanagementrolle in der Organisation innehaben.
- Gib unter „Contact link“ optional einen Kontaktlink an, über den das Kampagnenmanagement kontaktiert werden kann, z. B. einen Link zu einer Diskussion in GitHub Discussions oder einem anderen Kommunikationskanal.
- Klicke auf Entwurf speichern.
- Wenn du die Kampagne veröffentlichen möchtest, klicke oben rechts auf Review and publish.
-
Auf der Seite „Publish campaign“ kannst du die Details der Kampagne einsehen und bearbeiten:
- Kampagnenname
- Kurze Beschreibung
- Fälligkeitsdatum
- Kampagnenmanager
- Kontaktlink
-
Aktiviere bei „Code“-Kampagnen zum Erstellen eines Kampagnenissues in jedem in der Kampagne eingeschlossenen Repository auf der Seite „Publish campaign“ unter „Automations“ das Kontrollkästchen für „Create issues for ANZAHL repositories in this campaign“.
-
Klicke auf Publish campaign.
Die Sicherheitskampagne wird erstellt, und die Übersichtsseite der Kampagne wird angezeigt.
Beispiele für nützliche Filter
Alle Vorlagenfilter verwenden is:open
, um nur Warnungen einzuschließen, die behandelt werden müssen. Für code scanning-Warnungen müssen sie ebenfalls im Standardbranch vorhanden sein.
Zusätzliche Standardfilter für code scanning-Warnungen:
autofilter:true
schließt nur Warnungen ein, die sich im Anwendungscode befinden.autofix:supported
schließt nur Warnungen ein, die für Regeln gelten, die für GitHub Copilot Autofix unterstützt werden.
Weitere Informationen zum Filtern von Warnungen findest du unter Bewährte Methoden zum Beheben von Sicherheitswarnungen im großen Stil und Filtern von Warnungen in der Sicherheitsübersicht.
Code scanning-Warnungsfilter
Zusätzlich zu den Hauptfiltern solltest du einen Filter hinzufügen, um die Ergebnisse auf bestimmte Regelnamen, Schweregrade oder Tags zu beschränken.
is:open autofilter:true autofix:supported rule:java/log-injection
, um nur Warnungen für die Protokolleinspeisung in Java-Code anzuzeigen. Weitere Informationen findest du unter Abfragelisten für die Standardabfragesammlungen.is:open autofilter:true autofix:supported tag:external/cwe/cwe-117
, um nur Warnungen für „CWE 117: Improper Output Neutralization for Logs“ anzuzeigen. Dazu gehört die Protokolleinspeisung in Java und anderen Sprachen.is:open autofilter:true autofix:supported severity:critical
, um nur Warnungen mit dem Sicherheitsschweregrad „Critical“ anzuzeigen.
Secret scanning-Warnungsfilter
Zusätzlich zu den Hauptfiltern solltest du in der Regel einen Filter hinzufügen, um die Ergebnisse auf einen bestimmten Anbieter, Geheimnistyp oder Geheimnisse zu beschränken, die den Pushschutz umgangen haben (nur Unternehmenskonten).
is:open provider:azure
zum Anzeigen ausschließlich von Warnungen für den Tokenanbieter Azureis:open secret-type:azure_ai_services_key,azure_cognitive_services_key
zum Anzeigen ausschließlich von „azure_ai_services_key“ und „azure_cognitive_services_key“. Weitere Informationen findest du unter Unterstützte Scanmuster für geheime Schlüssel.is:open props.BusinessPriority:Urgent
zum Anzeigen ausschließlich von Warnungen für Repositorys, bei denen die benutzerdefinierte Eigenschaft „BusinessPriority“ den Wert „Urgent“ aufweist. Weitere Informationen findest du unter Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation.
Starten einer Sicherheitskampagne
Wenn du eine Codekampagne erstellst, werden alle Warnungen automatisch an GitHub Copilot Autofix übermittelt, um je nach Kapazität verarbeitet zu werden. Dadurch wird sichergestellt, dass Vorschläge für Warnungen, die in Pull Requests gefunden werden, nicht durch eine neue Kampagne verzögert werden. In den meisten Fällen sollten alle Vorschläge, die erstellt werden können, innerhalb einer Stunde bereit sind. Bei Hochbetrieb oder besonders komplexen Warnungen dauert es länger.
Wie Entwickler wissen, dass eine Sicherheitskampagne gestartet wurde
Die neue Kampagne wird auf der Randleiste der Registerkarte „Security“ für jedes enthaltene Repository angezeigt.
- Codekampagnen: Jeder Benutzer mit Schreibzugriff auf ein in der Kampagne enthaltenes Repository wird benachrichtigt.
- Geheimniskampagnen: Jeder Benutzer mit Zugriff zum Anzeigen der Warnungslistenansicht für ein in der Kampagne enthaltenes Repository wird benachrichtigt.
Tipp
Du kannst jeder Person mit Schreibzugriff auf das Repository eine Kampagnenwarnung zuweisen. Weitere Informationen findest du unter Zuweisen von Warnungen.
Weitere Informationen zur Entwicklungsumgebung findest du unter Beheben von Warnungen in einer Sicherheitskampagne.
Steigern der Interaktion mit der Sicherheitskampagne
Die beste Möglichkeit zur Steigerung der Interaktion mit einer Kampagne besteht darin, sie für die Teams zu veröffentlichen, mit denen du zusammenarbeiten möchtest, um Warnungen zu beheben. Du könntest beispielsweise mit Engineering-Managern zusammenarbeiten, um einen ruhigeren Entwicklungszeitraum auszuwählen, um eine Reihe von Sicherheitskampagnen auszuführen, die sich jeweils auf einen anderen Warnungstyp konzentrieren und Trainingssitzungen umfassen. Weitere Ideen findest du unter Bewährte Methoden zum Beheben von Sicherheitswarnungen im großen Stil.
Bearbeiten von Sicherheitskampagnendetails
Du kannst den Namen, die Beschreibung, das Fälligkeitsdatum und den Manager für eine Kampagne bearbeiten.
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf Security.
-
Klicke in der linken Randleiste auf Campaigns.
-
Klicke in der Kampagnenliste auf den Namen der Kampagne, um die Kampagnenverfolgungsansicht anzuzeigen.
-
Klicke in der Titelzeile der Kampagne auf , und wähle Edit campaign aus.
-
Nimm im Dialogfeld „Edit campaign“ deine Änderungen vor, und klicke dann auf Save changes.
Die Änderungen werden sofort vorgenommen.
Schließen, erneutes Öffnen oder Löschen von Sicherheitskampagnen
Es gibt ein Limit von zehn aktiven Kampagnen. Wenn eine Kampagne abgeschlossen ist oder du sie anhalten möchtest, solltest du sie schließen. Du kannst weiterhin alle geschlossenen Kampagnen in der Kampagnenliste „Closed“ anzeigen und eine geschlossene Kampagne erneut öffnen.
Wenn du die Kampagne oder die zugehörigen Daten nicht mehr benötigst, kannst du sie löschen.
Schließen einer Kampagne
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf Security.
-
Klicke in der linken Randleiste auf Campaigns.
-
Klicke rechts neben der Kampagne, die du schließen möchtest, auf , und wähle dann Close campaign aus.
Erneutes Öffnen einer geschlossenen Kampagne
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf Security.
-
Klicke in der linken Randleiste auf Campaigns.
-
Klicke oberhalb der Liste der Kampagnen auf Closed, um die Liste der geschlossenen Kampagnen anzuzeigen.
-
Klicke rechts neben der Kampagne, die du erneut öffnen möchtest, auf , und wähle dann Reopen campaign aus.
Löschen einer Kampagne
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf Security.
-
Klicke in der linken Randleiste auf Campaigns.
-
Klicke rechts neben der Kampagne, die du löschen möchtest, auf , und wähle dann Delete campaign aus.