Allstar: Sicherheitsregeln in GitHub-Projekten automatisiert durchsetzen

Ein neues Tool der Open Source Security Foundation prüft in Open-Source-Projekten auf GitHub kontinuierlich die Einhaltung der Security Best Practices.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Die Open Source Security Foundation (OpenSSF) hat gemeinsam mit Google Allstar herausgebracht, eine Anwendung zum Reparieren von Schwachstellen in Open-Source-Projekten. Allstar soll bei auf GitHub gehosteten Projekten automatisiert und kontinuierlich die Einhaltung der Sicherheitsrichtlinien prüfen, Maßnahmen zur Durchsetzung der Best Practices vorschlagen und bei Vorliegen entsprechender Einstellungen oder auch bei Änderungen in einem Repository diese Aktionen auch einleiten können.

Die Applikation gilt als Ergänzung zu den Security Scorecards, einem ebenfalls von Google und weiteren OpenSSF-Mitgliedern entwickelten Werkzeug, mit dem sich die Sicherheitsrisiken von Repositorys und ihren Abhängigkeiten einschätzen lassen. Im Gegensatz zu Scorecards ermöglicht Allstar es den Maintainern, ein benutzerdefiniertes, automatisiertes Durchführen von Sicherheitsprüfungen zu aktivieren (opt-in). Bei Scorecards steht die Heuristik im Zentrum, ob beispielsweise ein Projekt Release-Artefakte kryptografisch signiert, eine Codeüberprüfung benötigt oder ob die Projektzweige geschützt sind. Während Scorecards Risiken nach festgelegten Parametern berechnet, soll Allstar GitHub-Projekte beim Umsetzen der Best Practices für mehr Sicherheit unterstützen.

Allstar gleicht laut Release-Meldung im OpenSSF-Blog laufend die erwarteten und erwartbaren GitHub-API-Zustände mit den Sicherheitsrichtlinien ab. So sollen potenzielle Schwachstellen in den Einstellungen der Repositorys, Zweige, Workflows und in den Dateiinhalten frühzeitig auffallen, und die Anwendung kann gemäß Herausgebern je nach Nutzerkonfiguration Handlungen einleiten, um die Probleme zu beheben. Der kontinuierliche Abgleich mit den Vorgaben soll vor heimlichen Angriffen schützen, die Menschen leicht übersehen würden. Unter anderem soll Allstar Projekteinstellungen automatisiert an die erwünschten Sicherheitsvorgaben anpassen können, und das Tool soll eingreifen können, falls jemand beispielsweise den Schutz eines Zweigs vorübergehend außer Kraft setzt, um schädliche Änderungen vorzunehmen. (Woran genau Allstar erkennen soll, dass jemand Böses im Schilde führt, geht aus der Ankündigung nicht hervor, aber offenbar lassen sich Reaktionsregeln für bekannte Angriffsmuster definieren.)

Allstar zum Schutz von GitHub-Projekten: Prinzip des "Continuous Automated Enforcement"

(Bild: OpenSSF)

Beitragende können laut Blogeintrag selbst bestimmen, welche Maßnahmen (Enforcement Actions) für ihre Organisation, das Projekt und seine Repositorys am sinnvollsten sind. Auch die spezifischen Policies, die Allstar berücksichtigen soll, lassen sich offenbar auswählen. Zum Release-Zeitpunkt sind drei Aktionen verfügbar, für die Zukunft sind weitere Optionen geplant: Das Protokollieren von Fehlern bei der Einhaltung der Sicherheitsrichtlinie (reines Logging ohne weitere Maßnahmen), das Anlegen eines GitHub-Issues sowie das Rückgängigmachen der geänderten GitHub-Einstellung, sodass sie wieder mit der in Allstar festgelegten Konfiguration übereinstimmt.

Im Bereich des Security Policy Enforcement ist zunächst nur der Schutz von Zweigen (Branch Protection) verfügbar. Unter anderem können somit Pull Requests seitens des Tools eine festgelegte Anzahl von Genehmigungen erfordern, veraltete Pull-Request-Genehmigungen lassen sich abweisen und erzwungene Pushes kann das Tool blockieren. Allstar kann laut Beschreibung ebenfalls vorschreiben, dass Nutzer mit Administratorrechten zwingend Mitglieder der Organisation sein müssen, die das Repository besitzt. Auch der Push-Zugriff lässt sich demzufolge für Externe unterbinden.

Für die Zukunft hat das Projekt ein automatisiertes Dependency-Update geplant, mit dem sich Abhängigkeiten regelmäßig automatisiert auf den neuesten Stand bringen lassen. Dabei sollen neue Versionen von Abhängigkeiten stets eine Überprüfung durchlaufen, da ein ungeprüftes Einbinden Angriffstore öffnen würde. Sprachspezifische sogenannte Pinning-Dateien sollen laut Blogeintrag künftig verhindern, dass kompromittierte Abhängigkeits-Updates ins Projekt eindringen.

Wer sich für das Projekt und sein Tool interessiert, findet weiterführende Hinweise in der Blogankündigung der OpenSSF. Der Sourcecode steht im Allstar-Repository auf GitHub bereit, wo auch eine genauere Projektbeschreibung sowie eine Schnellstartanleitung zu finden sind.

(sih)