GitHub-Updates: Private Schwachstellenmeldungen und Regeln für Branches

Gleich drei neue Funktionen hat GitHub veröffentlicht. Sie verbessern die Sicherheit und machen die Arbeit mit Branches komfortabler.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: Sundry Photography/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Jan Mahn
Inhaltsverzeichnis

GitHub hat drei neue Funktionen ins Git-Hosting und die Paket-Registry npm eingebaut. Im Zentrum der Neuerungen stehen Sicherheit und Komfort.

Die erste Neuerung betrifft die npm-Registry. Gelöst werden soll das Problem, dass ein npm-Paket nur sehr lose mit einem Repository verknüpft ist, in dem der zugehörige Code liegt. Das Bauen von Paketen und Verschieben in npm kann automatisch über eine CI/CD-Umgebung erledigt werden, man kann Pakete aber auch per Hand veröffentlichen – ein leichtes Einfallstor für Angreifer, die Zugangsdaten erbeutet haben. Für Nutzer der Pakete entsteht ein Vertrauensproblem: Sie müssen schlicht glauben, dass ein Paket auf dem Code basiert, den sie in einem öffentlichen Repository einsehen können.

Mehr Vertrauen soll die Funktion "npm Package Provenance" schaffen. Sie funktioniert bisher nur, wenn die Paketbetreiber das GitHub-Komplettpaket nutzen und den Code aus ihrem Repository von GitHubs eigener CI/CD bauen und in npm legen lassen. Für öffentliche Pakete von Open-Source-Projekten ist das kostenlos. Im Blogpost zur Ankündigung verspricht GitHub, künftig auch mit anderen CI/CD-Anbietern zu kooperieren.

Erzeugt wird ein Dokument im SLSA-Format (Supply-chain Levels for Software Artifacts), das die Herkunft des Codes dokumentiert. Dieses Dokument wird signiert, wobei sich GitHub am Werkzeugkasten des Sigstore-Projekts bedient. Die Weboberfläche von npm zeigt eine solche Signatur mit einem grünen Haken an. Als Nutzer des Pakets kann man direkt nachvollziehen, auf welchem Commit eine Version eines Pakets basiert. Die npm-CLI soll ab Version 9.5.0 den Befehl npm audit signatures beherrschen, um die Signaturen auszuwerten.

Die Beta-Phase verlässt eine Funktion, die die Sicherheit von Open-Source-Projekten verbessern soll. Vor Einführung der "Private Vulnerability Reports" war es nicht immer einfach, Maintainer von Projekten auf gefundene Schwachstellen hinzuweisen. Ein öffentlicher Issue erwies sich nicht als geeignet. Dieses Problem lösen private Meldungen, die funktionieren, ohne dass die Maintainer ihre Mailadressen öffentlich machen müssen. Gemeldet werden können die Probleme über die Github-Weboberfläche.

Mit Abschluss der Beta hat GitHub auch Rückmeldungen aus der Testphase umgesetzt. Neu ist, dass man die Funktin mit einem Klick für alle Repositories einer Organisation aktivieren kann.

Den Komfort verbessert GitHub mit einer Funktion, deren Beta-Phase gerade beginnt. Auf vielfachen Wunsch von Anwendern größerer Organisationen überarbeitet GitHub seine Branch-Protection-Rules und nennt ihren Nachfolger Rulesets. In Branch-Protection-Rules konnte man sehr rudimentär steuern, wer auf welchen Branches welche Aktionen ausführen darf. Die neuen Rulesets erlauben flexiblere Berechtigungssteuerungen und machen es für Organisationen mit vielen Repositories einfacher, sie an zentraler Stelle zu definieren.

Um die neuen Rulesets auszuprobieren, müssen GitHub-Nutzer sich nicht für eine Beta anmelden. Der neue Menüpunkt Rulesets taucht in den Einstellungen von Repositories auf und ist mit einem grünen Beta-Symbol gekennzeichnet.

(jam)