Informationen zu den Sicherheitsfeatures von GitHub
GitHub bietet viele Features, um Ihren Code sicherer zu machen. Sie können die integrierten Funktionen von GitHub verwenden, um die Aktionen zu verstehen, von denen Ihre Workflows abhängen, um sicherstellen, dass Sie über Sicherheitsrisiken in den von Ihnen genutzten Aktionen benachrichtigt werden oder um den Prozess der Aufbewahrung der Aktionen in Ihren Workflows auf dem neuesten Stand halten. Wenn Sie Aktionen veröffentlichen und beibehalten, können Sie GitHub verwenden, um mit Ihrer Community über Sicherheitsrisiken zu kommunizieren und wie Sie diese beheben können. Weitere Informationen über Sicherheitsfunktionen, die GitHub anbietet siehe „GitHub-Sicherheitsfeatures“.
In diesem Artikel wird erläutert, wie Sie einige der Sicherheitsfeatures von GitHub verwenden können, um die Sicherheit Ihrer Verwendung von GitHub Actions zu erhöhen.
Grundlegendes zu Abhängigkeiten in Ihren Workflows
Sie können die Abhängigkeitsdiagramm verwenden, um die Aktionen zu untersuchen, die die Workflows in Ihrem Repository verwenden. Das Abhängigkeitsdiagramm ist eine Zusammenfassung der in einem Repository gespeicherten Manifest- und Sperrdateien. Es erkennt auch Dateien in ./github/workflows/
als Manifeste, was bedeutet, dass alle Aktionen oder Workflows, auf die mithilfe der Syntax jobs[*].steps[*].uses
oder jobs.<job_id>.uses
verwiesen wird, als Abhängigkeiten geparst werden.
Die Abhängigkeitsdiagramm zeigt die folgenden Informationen zu Aktionen, die in Workflows verwendet werden:
- Das Konto oder die Organisation, das die Aktion besitzt.
- Die Workflowdatei, die auf die Aktion verweist.
- Die Version oder SHA, an die die Aktion angeheftet ist.
In dem Abhängigkeitsdiagramm werden Abhängigkeiten automatisch nach dem Sicherheitsrisikoschweregrad sortiert. Wenn eine der von Ihnen verwendeten Aktionen Sicherheitsempfehlungen enthält, werden sie oben in der Liste angezeigt. Sie können über die Abhängigkeitsdiagramm zur Empfehlung navigieren und auf Anweisungen zum Beheben der Sicherheitsanfälligkeit zugreifen.
Der Abhängigkeitsgraph wird für öffentlichen Repositorys aktiviert, und du kannst ihn auch für private Repositorys aktivieren. Weitere Informationen zur Verwendung des Abhängigkeitsdiagramm finden Sie unter „Untersuchen der Abhängigkeiten eines Repositorys“.
Kenntnis von Sicherheitsrisiken in Aktionen, die Sie verwenden
Für Aktionen, die auf dem Marketplace verfügbar sind, überprüft GitHub verwandte Sicherheitsempfehlungen und fügt diese Empfehlungen dann GitHub Advisory Database hinzu. Sie können die Datenbank nach Aktionen durchsuchen, die Sie verwenden, um Informationen zu vorhandenen Sicherheitsrisiken und Anweisungen zur Behebung zu finden. Verwenden Sie zum Optimieren der Suche den Filter GitHub Actions in GitHub Advisory Database.
Sie können Ihre Repositorys so einrichten, dass Sie:
- Erhalten Sie Warnungen, wenn Aktionen, die in Ihren Workflows verwendet werden, einen Sicherheitsrisikobericht erhalten. Weitere Informationen findest du unter „Überwachung von Aktionen in deinen Workflows“.
- Werden vor vorhandenen Empfehlungen gewarnt, wenn Sie eine Aktion in einem Workflow hinzufügen oder aktualisieren. Weitere Informationen finden Sie unter „Überprüfen von Aktionen auf Sicherheitsrisiken in neuen oder aktualisierten Workflows“.
Überwachen der Aktionen in Ihren Workflows
Sie können Dependabot verwenden, um die Aktionen in Ihren Workflows zu überwachen und Dependabot alerts zu aktivieren, um Sie zu benachrichtigen, wenn eine von Ihnen verwendete Aktion eine gemeldete Sicherheitsanfälligkeit aufweist. Dependabot führt eine Überprüfung der Standardbranch der Repositorys durch, in denen es aktiviert ist, um unsichere Abhängigkeiten zu erkennen. Dependabot generiert Dependabot alerts, wenn ein neuer Hinweis zu GitHub Advisory Database hinzugefügt wird oder wenn eine von Ihnen verwendete Aktion aktualisiert wird.
Note
Dependabot erstellt nur Warnungen für sicherheitsanfällige Aktionen, die die semantische Versionierung verwenden, und erstellt keine Warnungen für Aktionen, die an SHA-Werte angeheftet sind.
Du kannst Dependabot alerts dein persönliches Konto für ein Repository oder für eine Organisation aktivieren. Für weitere Informationen siehe „Konfigurieren von Dependabot-Warnungen“.
Sie können alle offenen und geschlossenen Dependabot alerts und entsprechenden Dependabot security updates im Dependabot alerts-Reiter Ihres Repositorys sehen. Weitere Informationen finden Sie unter „Anzeigen und Aktualisieren von Dependabot-Warnungen“.
Überprüfen von Aktionen auf Sicherheitsrisiken in neuen oder aktualisierten Workflows
Wenn Sie Pull Requests öffnen, um Ihre Workflows zu aktualisieren, empfiehlt es sich, Abhängigkeitsüberprüfungen zu verwenden, um die Sicherheitswirkungen von Änderungen zu verstehen, die Sie an den von Ihnen verwendeten Aktionen vorgenommen haben. Die Abhängigkeitsüberprüfung hilft Dir, Abhängigkeitsänderungen und die Sicherheitswirkung dieser Änderungen bei jedem Pull Request zu verstehen. Sie bietet eine leicht verständliche Visualisierung von Abhängigkeitsänderungen mit Rich-Diff auf der Registerkarte „Geänderte Dateien“ eines Pull Requests. Die Abhängigkeitsüberprüfung informiert Dich über:
- Welche Abhängigkeiten hinzugefügt, entfernt oder aktualisiert wurden, sowie die Veröffentlichungsdaten.
- Wie viele Projekte diese Komponenten verwenden.
- Sicherheitsrisikodaten für diese Abhängigkeiten.
Wenn Änderungen, die Sie an Ihren Workflows vorgenommen haben, als anfällig gekennzeichnet sind, können Sie es vermeiden, sie zu Ihrem Projekt hinzuzufügen oder auf eine sichere Version zu aktualisieren.
Weitere Informationen zur Abhängigkeitsüberprüfung findest du unter „Informationen zur Abhängigkeitsüberprüfung“ und „Konfigurieren der Abhängigkeitsüberprüfung“.
Du kannst die dependency-review-action
in deinem Repository verwenden, um Abhängigkeitsüberprüfungen für Deine Pull-Anforderungen zu erzwingen. Die Aktion sucht nach anfälligen Versionen von Abhängigkeiten, die durch Paketversionsänderungen in Pull Requests eingeführt wurden, und warnt dich vor den damit verbundenen Sicherheitsrisiken. So erhältst du einen besseren Überblick darüber, was sich in einem Pull Request ändert, und kannst verhindern, dass deinem Repository Sicherheitsrisiken hinzugefügt werden.
Standardmäßig tritt bei der Abhängigkeitsüberprüfungsaktion-Überprüfung ein Fehler auf, wenn sie anfällige Pakete erkennt. Bei einer fehlgeschlagenen Überprüfung wird das Zusammenführen eines Pull Requests blockiert, wenn der bzw. die Repositorybesitzer*in das Bestehen der Abhängigkeitsüberprüfung verlangt. Weitere Informationen findest du unter Informationen zu geschützten Branches.
Aktionen in Ihren Workflows sichern und auf dem neuesten Stand halten
Mithilfe von Dependabot können Sie sicherstellen, dass Verweise auf Aktionen und wiederverwendbare Workflows im Repository auf dem neuesten Stand bleiben. Aktionen werden häufig mit Fehlerkorrekturen und neuen Features aktualisiert, um automatisierte Prozesse schneller, sicherer und zuverlässiger zu machen. Dependabot vereinfachen die Verwaltung deiner Abhängigkeiten, da es dies automatisch für dich erledigt. Weitere Informationen findest du unter Deine Aktionen mit Dependabot auf dem neuesten Stand halten und unter Informationen zu Dependabot-Sicherheitsupdates.
Die folgenden Features können die Aktionen in Ihren Workflows automatisch aktualisieren.
- Dependabot version updates Öffnen Sie Pull Requests, um Aktionen auf die neueste Version zu aktualisieren, wenn eine neue Version veröffentlicht wird.
- Dependabot security updates öffnen Sie Pull Requests, um Aktionen mit gemeldeten Sicherheitsrisiken auf die niedrigste erforderliche Patch-Version zu aktualisieren.
Note
- Dependabot unterstützt nur Updates für GitHub Actions über die GitHub-Repository-Syntax, z. B.
actions/checkout@v4
. Dependabot ignoriert Aktionen oder wiederverwendbare Workflows, auf die lokal verwiesen wird (z. B../.github/actions/foo.yml
. ). - Docker Hub und GitHub Packages Container registry-URLs werden derzeit nicht unterstützt. Beispielsweise werden Verweise auf Docker-Containeraktionen mit
docker://
-Syntax nicht unterstützt. - Dependabot unterstützt sowohl öffentliche als auch private Repositorys für GitHub Actions. Informationen zu Konfigurationsoptionen für private Registrierungen findest Du unter "
git
" in "Konfigurationsoptionen für die Datei dependabot.yml".
Informationen zum Konfigurieren von Dependabot version updates finden Sie unter Konfigurieren von Versionsupdates von Dependabot.
Informationen zum Konfigurieren von Dependabot security updates finden Sie unter „Konfigurieren von Dependabot-Sicherheitsupdates“.
Schützen von Aktionen, die Sie erstellt haben
GitHub ermöglicht die Zusammenarbeit zwischen Personen, die Aktionen veröffentlichen und pflegen sowie Sicherheitsrisikoreportern, um die Codesicherheit zu fördern. Mithilfe von Sicherheitsempfehlungen für Repositorys können Verwalter*innen von öffentlichen Repositorys ein Sicherheitsrisiko in einem Projekt privat besprechen und beheben. Nach der Zusammenarbeit an einer Lösung können Repositoryverwalter die Sicherheitsempfehlung veröffentlichen, um das Sicherheitsrisiko öffentlich für die Community des Projekts offenzulegen. Durch die Veröffentlichung von Sicherheitsempfehlungen erleichtern Repositoryverwalter ihrer Community das Aktualisieren von Paketabhängigkeiten und das Untersuchen der Auswirkungen von Sicherheitsrisiken.
Wenn Sie jemand sind, der eine Aktion pflegt, die in anderen Projekten verwendet wird, können Sie die folgenden GitHub-Features verwenden, um die Sicherheit der veröffentlichten Aktionen zu verbessern.
- Verwenden Sie die Abhängigkeitsansicht im Abhängigkeitsdiagramm, um zu sehen, welche Projekte von Ihrem Code abhängen. Wenn Sie einen Sicherheitsrisikobericht erhalten, erhalten Sie eine Vorstellung davon, mit wem Sie über die Sicherheitsanfälligkeit kommunizieren müssen und wie Sie sie beheben können. Weitere Informationen findest du unter Untersuchen der Abhängigkeiten eines Repositorys.
- Verwenden Sie Repository-Sicherheitsempfehlungen, um eine Sicherheitsempfehlung zu erstellen, privat zusammenzuarbeiten, um die Sicherheitsanfälligkeit in einer temporären privaten Verzweigung zu beheben und veröffentlichen Sie eine Sicherheitsempfehlung, um Ihre Community über die Sicherheitsanfälligkeit zu benachrichtigen, sobald ein Patch veröffentlicht wurde. Weitere Informationen findest du unter Konfigurieren der Meldung privater Sicherheitsrisiken für ein Repository und unter Erstellen einer Sicherheitsempfehlung für ein Repository.