Skip to main content

Verwenden der Sicherheitsfeatures von GitHub zum Sichern Ihrer Verwendung von GitHub-Aktionen

GitHub verfügt über mehrere Sicherheitsfeatures, die die Sicherheit der von Ihnen verbrauchten und veröffentlichen Aktionen verbessern können.

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 zu Sicherheitsfeatures, die von GitHub angeboten werden, findest du unter 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 zum Verwenden des Abhängigkeitsdiagramms findest du 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:

Ü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. Weitere Informationen findest du unter 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 findest du 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ängigkeitsbewertung findest du unter Informationen zur Abhängigkeitsüberprüfung.

„Abhängigkeitsüberprüfungsaktion“ bezieht sich auf die spezifische Aktion, die Unterschiede in einem Pull Request innerhalb des GitHub Actions-Kontext melden kann. Siehe dependency-review-action. Du kannst die Abhängigkeitsüberprüfungsaktion in deinem Repository verwenden, um Abhängigkeitsüberprüfungen bei deinen Pull Requests 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. Weitere Informationen findest du unter Informationen zur Abhängigkeitsüberprüfung.

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 "Dependabot options reference".

Weitere Informationen zum Konfigurieren von Dependabot version updates findest du unter Konfigurieren von Versionsupdates von Dependabot.

Weitere Informationen zum Konfigurieren von Dependabot security updates findest du 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 finden Sie 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 Erstellen einer Sicherheitsempfehlung für ein Repository.