Skip to main content

Ausführen einer Sicherheitskampagne zum Beheben von Warnungen im großen Maßstab

Starten Sie eine fokussierte Sicherheitskampagne, um eine bestimmte Klasse von Sicherheitswarnungen wie websiteübergreifendes Skripting (XSS) in Ihrer Organisation zu beheben.

Wer kann dieses Feature verwenden?

Organizations on GitHub Team or GitHub Enterprise Cloud with GitHub Secret Protection or GitHub Code Security enabled

Starten Ihrer ersten Kampagne

In diesem Lernprogramm planen und führen Sie Ihre erste organisationsweite Sicherheitskampagne aus, die sich auf XSS-Warnungen konzentriert. Auf dem Weg erfahren Sie, wie Sie die richtigen Warnungen auswählen, Entwickler auf Erfolg vorbereiten und eine Kampagne strukturieren, die sinnvolle Verbesserungen in Ihrem Sicherheitsstatus fördert.

Stellen Sie sich vor, Sie haben ein wiederkehrendes Muster von XSS-Sicherheitsrisiken in mehreren Repositorys identifiziert. Anstatt Benachrichtigungen einzeln anzugehen, entscheiden Sie sich, eine koordinierte Kampagne auszuführen, die Risiken reduziert und Entwicklern dabei hilft, Vertrauen in sichere Codierung zu schaffen.

1. Definieren eines fokussierten Ziels

Wenn Sie eine Kampagne im Großen ausführen, ist es verlockend, alle dringenden Warnungen gleichzeitig zu adressieren. Wenn Ihre Entwickler bereits über eine starke Grundlage für sicheres Codieren und verfügbare Kapazität verfügen, kann dies funktionieren.

Wenn Ihr Ziel jedoch darin besteht, Risiken zu reduzieren und sichere Codierungsmethoden zu verbessern, ist eine fokussierte Kampagne oft effektiver. Wenn Sie einen einzelnen Sicherheitsrisikotyp auswählen, z. B. websiteübergreifendes Skripting, können Entwickler Muster erkennen, Lernen auf mehrere Fixes anwenden und Dynamik aufbauen.

Für diese Kampagne entscheiden Sie sich, sich auf XSS-Warnungen in Ihrer Gesamten Organisation zu konzentrieren, innerhalb der Grenzen der Anzahl der Warnungen, die eine einzelne Kampagne umfassen kann.

2. Wählen Sie Benachrichtigungen für Ihre Kampagne aus.

Beginnen Sie auf der Seite "Sicherheitswarnungen", indem Sie nach websiteübergreifenden Skriptbenachrichtigungen filtern. Sie können auch eine vordefinierte Kampagnenvorlage verwenden, z. B. cross-site scripting (CWE-79), um den Bereich schnell zu definieren. Informationen zum Filtern von Warnungen finden Sie unter Filtern von Warnungen in der Sicherheitsübersicht.

Hinweis

Sicherheitskampagnen können bis zu 1000 Warnungen enthalten. Wenn Ihre Organisation über mehr als 1000 XSS-Warnungen verfügt, beschränken Sie Ihre Filter (z. B. nach Repository, Schweregrad oder Sprache), bis sich die Anzahl der übereinstimmenden Warnungen in diesem Grenzwert befindet, oder planen Sie mehrere Kampagnen, um die verbleibenden Warnungen abzudecken.

Wenn Copilot Autofix sie für Ihre Kampagne verfügbar ist, können Sie den Bereich mithilfe des autofix:supported Filters weiter verfeinern. Auf diese Weise können Entwickler KI-generierte Lösungsvorschläge nutzen, um Warnmeldungen effizienter zu beseitigen.

Bevor Sie die Kampagne starten, bereiten Sie auch unterstützende Lernmaterialien vor. Beispiel:

  • Erstellen Sie ein Repository mit Anleitungen zum Verhindern von XSS-Sicherheitsrisiken.
  • Verknüpfung mit Ressourcen aus der OWASP Foundation, z. B. Cross Site Scripting (XSS).
  • Stellen Sie Beispiele für sichere Codierungsmuster und Testansätze bereit.

Sie enthalten Links zu diesen Ressourcen in der Kampagnenbeschreibung, damit Entwickler auf sie verweisen können, während sie ihre zugewiesenen Warnungen durchlaufen.

3. Zuweisen von Kampagnenmanagern und Definieren von Kommunikationskanälen

Bevor Sie die Kampagne starten, entscheiden Sie, wer Entwickler während des gesamten Wartungsprozesses unterstützt.

Wenn Sie eine Sicherheitskampagne erstellen, müssen Sie einen oder mehrere Kampagnenmanager zuweisen. Kampagnenmanager müssen sein:

  • Ein Benutzer mit der Rolle des Organisationsbesitzers oder der Rolle des Sicherheits-Managers oder
  • Ein Mitglied eines Teams mit einer dieser Rollen

Wählen Sie Vorgesetzte aus, die folgende Aktionen ausführen können:

  • Beantworten von Fragen zu XSS-Sicherheitsrisiken
  • Überprüfung von Pull-Requests auf Fehlerbehebungen
  • Hilfe bei der Lösung von Randfällen oder komplexen Behebungsszenarien

Da Kampagnenmanager für Entwickler sichtbar sind, die an der Kampagne teilnehmen, ist dies auch die Möglichkeit, eine klare Kommunikation zu schaffen. Fügen Sie beim Erstellen der Kampagne einen Kontaktlink ein, z. B. einen Link zu einem GitHub Discussions Thread oder einem anderen Kommunikationskanal, damit Entwickler wissen, wo Fragen gestellt werden sollen.

Indem Sie die Erwartungen frühzeitig festlegen und Unterstützung sichtbar machen, erhöhen Sie vertrauen und verbessern die Korrekturraten.

4. Erstellen und Veröffentlichen der Kampagne

Jetzt können Sie die Kampagne erstellen.

Beim Definieren der Kampagne:

  • Verwenden Sie ihren XSS-Filter oder Ihre Vorlage, um die Warnungen auszuwählen.
  • Fügen Sie eine klare Beschreibung hinzu, die das Ziel der Kampagne erläutert.
  • Fügen Sie Links zu den zuvor vorbereiteten Schulungsressourcen ein.
  • Legen Sie ein realistisches Fälligkeitsdatum basierend auf der Anzahl der Warnungen und der erwarteten Wartungskapazität fest.

Wenn Sie sich nicht über den Umfang sicher sind, erstellen Sie zuerst einen Kampagnenentwurf . Mit einem Entwurf können Sie die Warnungen, die aufgenommen werden sollen, überprüfen und intern zusammenarbeiten, bevor Sie veröffentlichen.

5. Aktivieren der Problemverfolgung, um die Sichtbarkeit zu erhöhen

Um Entwicklern zu helfen, ihre Arbeit nachzuverfolgen und Managern Sichtbarkeit zu bieten, können Sie auswählen, dass in jedem Repository, das in der Kampagne enthalten ist, automatisch ein Problem erstellt wird. Auf diese Weise können Entwickler ihre Wartungsarbeit in ihren vorhandenen Workflows und Projektgremien verwalten.

Wenn du die Erstellung von Issues aktivierst, werden die „Kurzbeschreibung“, der „Link zum Kontakt“ und das Fälligkeitsdatum der Kampagne automatisch in den Body des Issues aufgenommen. Wenn Sie die kurze Beschreibung, den Kontaktlink oder das Fälligkeitsdatum aktualisieren, werden diese Änderungen in den Problemen angezeigt. Wenn die Kampagne das Fälligkeitsdatum erreicht oder geschlossen wird, wird darüber hinaus ein Kommentar zu jedem Problem veröffentlicht, um Entwickler zu benachrichtigen. Diese Integration hilft dabei, eine klare Kommunikation aufrechtzuerhalten und die Kampagne über mehrere Repositorys hinweg organisiert zu halten.

6. Support für Entwickler während der Wartung

Sobald die Kampagne live ist, verschiebt sich Ihre Rolle von Organisator zu Enabler. Entwickler beginnen mit der Überprüfung und Behebung von XSS-Warnungen in ihren Repositorys. Um ihnen zu helfen, effizient und sicher zu wechseln:

  • Stellen Sie sicher, dass Kampagnenmanager verfügbar sind, um Pullanfragen zu überprüfen und Fragen zu beantworten.
  • Ermutigen Sie Entwickler dazu, Copilot-Chat zu verwenden, damit sie besser verstehen, warum Code verwundbar ist und wie sie ihre Korrekturen validieren können.
  • Sofern unterstützt, Entwickler dazu ermutigen, Copilot Autofix-Vorschläge zu überprüfen und zu testen, bevor Änderungen zusammengeführt werden.

Wenn Sie zuvor Bildungsressourcen vorbereitet haben, verweisen Sie in Diskussionen auf sie und beziehen Sie sich in Pull-Request-Überprüfungen darauf. Die Stärkung der gemeinsamen Anleitung reduziert wiederholte Fragen und hilft bei der Erstellung langfristiger sicherer Codierungsgewohnheiten.

Indem Sie während der Kampagne sichtbar und reaktionsfähig bleiben, stärken Sie, dass dies eine zusammenarbeitliche Aufgabe ist, nicht nur eine Compliance-Übung.

7. Festlegen eines realistischen Stichtags

Sie legen beim Erstellen der Kampagne ein Fälligkeitsdatum fest. Stellen Sie sicher, dass der Zeitplan beim Fortschreiten der Kampagne eingehalten bleibt.

Berücksichtigen Sie beim Festlegen oder Anpassen des Stichtags Folgendes:

  • Die Anzahl der Warnungen, die in der Kampagne enthalten sind
  • Die erwartete Wartungskapazität von Entwicklern (z. B. wie viel Zeit sie sich für das Beheben von Warnungen neben ihrer regulären Arbeit widmen können)
  • Alle bevorstehenden Geschäftstermine oder Feiertage, die sich auf die Verfügbarkeit auswirken können

Sofern die Behebung von Warnmeldungen keine eigenständige Initiative ist, werden die meisten Entwickler diese Arbeit neben der Feature-Entwicklung ausgleichen. Das Festlegen einer realistischen Zeitachse erhöht die Beteiligung und verhindert Entmutigung.

Bei Bedarf können Sie mehrere fokussierte Kampagnen im Laufe der Zeit ausführen, anstatt alle Warnungstypen gleichzeitig zu behandeln.

8. Schließen Sie die Kampagne, und iterieren Sie

Überwachen Sie, während sich die Frist nähert, den Fortschritt und arbeiten Sie an allen verbleibenden komplexen Korrekturen zusammen.

Wenn die Kampagne geschlossen wird:

  • Repository Issues werden automatisch aktualisiert.
  • Entwickler haben eine fokussierte Reihe von Sicherheitsrisiken behoben.
  • Ihre Organisation hat das Risiko messbar reduziert.

Am wichtigsten ist, dass Entwickler praktische Erfahrungen beim Erkennen und Beheben einer bestimmten Sicherheitsrisikoklasse gesammelt haben.

Von hier aus können Sie den Prozess mit einem anderen gezielten Satz von Warnungen wiederholen, z. B. SQL-Einfügung, unsichere Deserialisierung oder offengelegte Geheime, um den Sicherheitsstatus Ihrer Organisation im Laufe der Zeit stetig zu verbessern.

Nächste Schritte

Sind Sie bereit, Ihre Kampagne zu starten? Informationen zum Erstellen und Verwalten Ihrer Sicherheitskampagne finden Sie unter Erstellen und Verwalten von Sicherheitskampagnen.