Programmiersprache Go bekommt integriertes Schwachstellenmanagement

Das Securityteam pflegt die Go Vulnerability Database, und ein neues Tool zeigt die für Projekte relevanten Schwachstellen an.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen

(Bild: Alfa Photo/Shutterstock.com)

Lesezeit: 2 Min.

Google hat für die Programmiersprache Go eine Schwachstellen-Datenbank gestartet und ein Werkzeug zum Überprüfen von Projekten auf bekannte Vulnerabilities veröffentlicht. Die Pflege der Datenbank obliegt dem Go-Securityteam.

Die Informationen zu den Schwachstellen stammen aus öffentlichen Securityinformationen wie den Common Vulnerabilities und Exposures (CVE) und den GitHub Security Advisories (GHSA), den Angaben der Maintainer von Go-Paketen sowie den Security-Fixes für das Go-Projekt. Um False Positives zu vermeiden, kuratiert das Go-Securityteam die Datenbank.

Die Maintainer von Go-Paketen können Schwachstellen auf einer dedizierten GitHub-Issue-Seite einpflegen. Dort geben sie neben der Beschreibung die betroffenen Module, Versionen sowie Funktionen, Methoden und Structs an. Außerdem können sie einen potenziell vorhandenen CVE-Eintrag zuweisen.

Der neue Befehl govulncheck nutzt die Datenbank, um Schwachstellen zu identifizieren, die eine konkrete Gefahr für ein Projekt darstellen. Dazu untersucht er die Codebasis auf transitive Aufrufe von Funktionen mit Schwachstellen. Das Tool warnst somit nicht vor allen Vulnerabilities in externen Modulen, sondern nur vor denjenigen, die tatsächlich Auswirkungen auf das Projekt haben.

Die Datenbank vuln.go.dev enthält die Einträge über Schwachstellen. Das Tool vulncheck und die Go-Package-Seite nutzen die Informationen zum Warnen vor Vulnerabilities.

(Bild: Google)

Das erklärte Ziel ist ein "geräuscharmer, zuverlässiger Weg" der Schwachstellensuche, damit Entwicklerinnen und Entwickler nicht zu viele Warnungen erhalten und im allgemeinen Rauschen womöglich die tatsächlich relevanten übersehen.

Wer das Tool zur Schwachstellensuche in externe Werkzeuge beziehungsweise Prozesse integrieren möchte, findet in dem Paket vulncheck eine Go-API mit den Funktionen von govulncheck. In Kürze will das Go-Team zudem eine Extension für Visual Studio Code veröffentlichen, die die Funktionen zum Aufspüren von Schwachstellen integriert.

Mehr zu Go im aktuellen iX-Developer-Sonderheft "Programmiersprachen – Next Generation"

Das Sonderheft "Programmiersprachen – Next Generation" bringt auf 156 Seiten Artikel, die sich vor allem um die Sprachen Go, Rust, TypeScript und Kotlin drehen. Bei Go steht neben Interfaces und Nebenläufigkeit die Security im Fokus. So bietet die Sprache von Haus Methoden, die Schwachstellen in der Software Supply Chain verringern sollen.

Die PDF-Ausgabe des Sonderhefts ist zum Preis von 12,99 Euro im heise-shop verfügbar. Die gedruckte Ausgabe lässt sich für 14,90 Euro bestellen – bis zum 15. September ohne Versandkosten. Daneben bietet der heise Shop ein Bundle aus gedruckter Ausgabe plus PDF für 19,90 Euro an. Ab dem 8. September ist das Heft zudem in gut sortierten Kiosken und Buchhandlungen verfügbar.

Die Package-Discovery-Site zum Suchen nach Go-Paketen zeigt in der Übersicht neuerdings ebenfalls bekannte Schwachstellen in den einzelnen Versionen an. Als Beispiel führt das Go-Team das Paket golang.org/x/text auf.

Weitere Details lassen sich dem Blogbeitrag des Go-Teams entnehmen. Darin finden sich neben Links zum Einreichen von Schwachstellen auch eine Umfrage zu den Erfahrungen mit und Wünschen zu govulncheck.

(rme)