GitHub: Security-Features für Go Modules

Die GitHub Advisory Database, der GitHub Dependency Graph und Dependabot stehen nun auch für Go Modules bereit.

In Pocket speichern vorlesen Druckansicht

(Bild: phive/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Maika Möbus

GitHub hat seine Securityfunktionen für die Supply Chain auf das Paketmanagement Go Modules erweitert. Dazu zählen die GitHub Advisory Database und der GitHub Dependency Graph sowie Dependabot-Benachrichtigungen und -Sicherheitsupdates.

In GitHubs Advisory Database lassen sich nun Informationen über Sicherheitsrisiken in Go Modules melden – und aktuell liegen bereits über 150 Meldungen vor. Weitere Advisory-Database-Einträge beziehen sich auf andere Paketmanager wie npm, NuGet oder Maven. Die Advisory Database kann für Entwicklerinnen und Entwickler hilfreich sein, um sowohl Risiken zu melden als auch gemeinsam an deren Behebung zu arbeiten. Vor der Veröffentlichung in der Advisory Database kann ein Security Advisory zunächst als privater Entwurf angelegt und intern innerhalb des Projekts diskutiert werden.

Zudem analysiert der Dependency Graph, im Insights-Tab eines Repositories zu finden, mithilfe der go.mod-Dateien die Dependencies eines Repositories. Diese Information kann in Verbindung mit der Advisory Database dabei helfen, anfällige Repositories aufzuspüren.

Darüber hinaus weisen Dependabot-Alerts selbstständig auf Schwachstellen in verwendeten Go-Modulen hin, die auf Informationen aus der GitHub Advisory Database basieren. Sollte sich der Dependency Graph für ein Repository ändern, schickt Dependabot ebenfalls eine Benachrichtigung.

Dependabot kann nicht nur benachrichtigen, sondern auch handeln: Security-Updates der anfälligen Go-Module erfolgen automatisch. Aus diesem Grund empfiehlt GitHub, die Security Advisories möglichst erst dann öffentlich zugänglich zu machen, wenn ein Fix gefunden wurde und Dependabot ein entsprechendes Security-Update einleiten kann. Das automatische Update findet allerdings nur dann statt, wenn dadurch der Dependency Graph des Repositories intakt bleibt.

Die Programmiersprache Go liegt derzeit in Version 1.16 vor und landete im Survey "State of Developer Ecosystem 2021" auf dem 12. Platz der meistgenutzten Programmiersprachen.

Weitere Details zu den Security-Features für Go Modules sind in einem GitHub-Blogeintrag zu finden.

(mai)