GitHub: Will aktiv nach Sicherheitslücken in Open Source Code suchen

Zur firmeneigenen, jährlichen ausgerichteten Dev-Con GitHub Universe hat Erica Brescia – seit Juni 2019 COO des Unternehmens – eine Reihe von Tools und Maßnahmen vorgestellt, die die Sicherheit von quelloffener Software gewährleisten soll.

Mit Security Lab, CodeQL und der GitHub Advisory Database wurde ein umfassendes Security-Netz für Open Source vorgestellt. „Wir brauchen nicht nur gute Software, wir brauchen vor allem sichere Software“. In der Keynote betonte Brescia auch, dass die Sicherheit des Open-Source-Code eine ziemlich große Aufgabe sei. Es gibt mehr als eine Million offen lizensierte Packages, allein innerhalb des JavaScript-Ökosystems.

Hinzu kommt der Mangel an Expertise und Fachkräfte in diesem Feld. Auf einen Security-Experten kommen etwa 500 „reguläre“ Entwickler. Die wenigen vorhandenen Experten arbeiten für Tausende verschiedene Unternehmen, das sei ein weiteres Problem der Koordination. Mit dem Launch von Security Lab, CodeQl und der Advisory Database will GitHub diese Punkte angehen.

Das Security Lab ist ein bündnis aus Maintainern, Security-Researchern und Unternehmen, die sich für Security-Themen innerhalb des Open-Source-Ökosystems einsetzten. In Zusammenarbeit mit einigen Partnern will GitHub Tools, Ressourcen, Bountys – Belohnung für Bug-Fixes – und Forschung bereitstellen. Erste Partner finden sich in Firmen wie Google, Microsoft, Uber, Mozilla oder Hackerone. Erica Brescia drückte die Hoffnung aus, dass weitere Folgen werden. 

Mittels semantischer Analysen hilft das CodeQL – ein Tool das Sicherheitslücken in eurem Code aufspürt und innerhalb des Open-Source-Kosmos frei verfügbar ist. Ursprünglich stamm das Tool aus dem Hause Semmle, einem Startup, das im September 2019 von GitHub übernommen wurde. Die Analyse-Plattform ging aus Forschungsarbeiten an der Universität von Oxford hervor und war innerhalb der quelloffener Projelte  – auch schon vor der Übernahme kostenfrei nutzbar.

Mit dem Tool kann man Codesnippets abfragen als wären es Datensätze. Ist erst mal ein Fehler in einer Codebase erkannt worden, kann der Fehler mit nur einer Abfrage – semantisch ähnlichen Code finden und den Fehler eliminieren. Entwickler können die Abfrage anschließend für andere Entwicklern zugänglich machen – und so zur Sicherheit von offen lizenzierter Software beitragen.

Mit der GitHub Advisory Database launcht die Version-Control-Plattform eine öffentliche Security-Advisory-Databank – zusammengestellt von Maintainer auf GitHub erstellten Daten. Security-Experten und Maintainer sollen so an Security-Updates arbeiten, direkt von der Plattform aus einen automatisierten Request für einen CVE-Eintrag stellen und weitere Details zur Sicherheitslücken spezifizieren können. Mit der Aufnahme in die Advisory-Datenbank schickt GitHub Security-Alerts an von der Lücke betroffene Projekte raus. Security-Experten und Maintainer können die Datenbank direkt über den Browser – oder programmatisch über GitHubs GraphQL-API darauf zugreifen.