Dependency Graph: Dieses neue Github-Feature warnt vor Sicherheitslücken in Bibliotheken
Spätestens seit der Heartbleed-Sicherheitslücke haben viele Entwickler und Anwender verstanden, wie verheerend die Ausmaße von Fehlern in Software-Komponenten sein können. Durch die Wiederverwendbarkeit und Modularität von Software-Bibliotheken kann ein kleiner Fehler in einer einzigen Bibliothek gleich tausende Anwendungen betreffen. Je mehr Abhängigkeiten ein Software-Projekt hat, desto aufwändiger wird es für Entwickler auf dem neusten Stand zu bleiben und zu wissen, welche Komponente einen Fehler aufweist oder aktualisiert wurde.
Github Dependency Graph visualisiert Abhängigkeiten
Auf seiner eigenen Entwicklerkonferenz Universe stellte Github nun ein neues Feature vor, welches Entwicklern bei der Verwaltung ihrer Abhängigkeiten helfen soll. Github betont, dass über 75% aller Repositories auf Github mindestens eine externe Abhängigkeit besitzen. Deswegen untersucht Github zukünftig die Abhängigkeiten von Repositories. Im ersten Schritt werden dazu Daten von Paketmanagern (npm für JavaScript/Node.js, RubyGems für Ruby und pip für Python) verwendet. In Zukunft will Github aber mithilfe von Machine Learning auch den Quellcode analysieren um Abhängigkeiten zum Beispiel aus Header-Dateien auszulesen.
Die Ergebnisse werden in der Weboberfläche als „Dependency Graph“ visualisiert. Dort ist dann übersichtlich aufgeführt, welche Bibliotheken in welcher Version verwendet werden. Wann genau das Feature für Nutzer verfügbar sein soll, gab Github leider nicht bekannt. Zunächst werden nur die Programmiersprachen Ruby und JavaScript unterstützt. Python-Support soll kurz danach folgen.
Security Alert: Github warnt Entwickler vor bekannten Sicherheitslücken
Im nächsten Schritt will Github außerdem sofort vor Sicherheitslücken warnen. Wird eine Lücke in einer Bibliothek bekannt, kann Github den entsprechenden Eintrag im Dependency Graph eines Repositories hervorheben und den Entwickler mit einer Notification darauf hinweisen, dass er die Version des jeweiligen Pakets aktualisieren sollte um seine Software sicherer zu machen.
Disclosure: Die Reise unseres Autors zur Github Universe wurde von Github finanziert. Einfluss auf die Berichterstattung hat das nicht.
via github.com