Deps.dev API

Google-API hilft Software-Lieferketten abzusichern

13.04.2023
Von 
Heinrich Vaske ist Editorial Director a.D. von COMPUTERWOCHE, CIO und CSO.
Um Unregelmäßigkeiten in ihren Open-Source-Softwarelieferketten aufzuspüren, können Entwickler jetzt die deps.dev API von Google nutzen.
Mit der deps.dev API gibt Google Programmieren einen Dienst an die Hand, mit dem sie die Vertrauenswürdigkeit von Softwarebausteinen überprüfen können.
Mit der deps.dev API gibt Google Programmieren einen Dienst an die Hand, mit dem sie die Vertrauenswürdigkeit von Softwarebausteinen überprüfen können.
Foto: OpturaDesign - shutterstock.com

Wie wichtig es ist, die Software-Lieferkette abzusichern, wissen Sicherheitsverantwortliche und Entwickler spätestens seit der Log4Shell-Sicherheitslücke oder der SolarWinds-Cyberattacke. Jetzt hat Google mit seiner deps.dev API einen neuen Dienst eingeführt, mit dem Entwickler Open-Source-Software überprüfen können. Zuvor hatte sich der Internet-Konzern bereits mit Initiativen wie der OSV-Datenbank (Open Source Vulnerabilities), der Open Source Security Foundation (OpenSSF) oder den Software Bills of Materials (SBOMs) verdient gemacht und war so dem Aufruf der US-Regierung nachgekommen, für mehr Sicherheit in der Software-Supply-Chain zu sorgen.

Die deps.dev API soll Softwareentwicklern Zugang zu Sicherheits-Metadaten zu Millionen von Codebibliotheken, Paketen, Modulen und Crates bieten. Dort werden Fragen beantwortet wie:

  • Wie gut wird eine Library gepflegt und wer steckt überhaupt dahinter?

  • Welche Schwachstellen gibt es und wurden sie bereits behoben?

  • Wann gab es den letzten Code-Review?

  • Welche Versionen von Software werden verwendet und sind Abhängigkeiten erkennbar?

  • Welche Lizenzen werden abdeckt etc.?

Die Informationen über das Go-Paket cmdr und die Rust-Cargo-Crate Kiste crossbeam-utils zeigen ganz anschaulich, wie Google das handhabt (siehe Links). Die über das Web-Interface verfügbaren Funktionen des API sind nicht vollständig: So besteht darüber hinaus die Möglichkeit, den Hash des Inhalts einer Datei abzufragen, um alle Paketversionen mit der Datei zu finden. Und es gibt graphische Darstellungen von Abhängigkeiten, so dass sich Entwickler in ihren Einschätzungen nicht nur auf Deklarationen, sondern auf tatsächliche Funktionen stützen können.

"Überwältigende Komplexität des Software-Ökosystems"

Jesper Sarnesjo und Nicky Ringland von Googles Open-Source-Sicherheitsteam schreiben in einem Blogbeitrag: "Angriffe auf die Software-Lieferkette werden immer häufiger und schädlicher, wie die schwerwiegenden Vorfälle Log4Shell, Codecov und der jüngste 3CX-Hack gezeigt haben. Die überwältigende Komplexität des Software-Ökosystems macht selbst den fleißigsten und bestausgestatteten Entwicklern zu schaffen."

Die deps.dev-API indexiert Daten von verschiedenen Software-Registries, darunter Cargo von Rust, Go, Maven, JavaScripts npm und PyPI von Python. Diese Informationen werden mit Daten von GitHub, GitLab und Bitbucket kombiniert, ebenso mit Sicherheitshinweisen in der OSV-Datenbank. Google verfolgt dabei generell die Idee, Metadaten über Software Packages leichter zugänglich zu machen, um Sicherheitsentscheidungen zu verbessern.

Entwickler können die API abfragen, um Risiken und Abhängigkeiten zu entdecken. Sie erhalten dann Daten, die von Entwicklungs-Tools jeder Art nutzbar sind: für CI/CD-Systeme, IDE-Plugins für die Präsentation solcher Informationen, Build-Tools, Policy-Engines und andere Werkzeuge für Devs. The Register schreibt süffisant: "Gemessen an der durchschnittlichen Lebenserwartung von Google-Diensten sollte die deps.dev-API mindestens vier Jahre lang verfügbar sein."

Assured OSS: sichere OpenSource Software

Google Cloud hat zudem seinen Service "Assured Open Source Software" (Assured OSS) für Java und Python freigegeben. Dabei handelt es sich um gespiegelte Repositories von mehr als 1.000 beliebten Softwarepaketen wie TensorFlow, Pandas und Scikit-learn, die auf Schwachstellen gescannt und signiert wurden, um jegliche Manipulation zu verhindern. Laut Andy Chang, Group Product Manager für Sicherheit und Datenschutz, hat Google mit Assured OSS als erstes Unternehmen fast die Hälfte (48 Prozent) der neuen Schwachstellen in den ursprünglich 278 kuratierten Java- und Python-Paketen identifiziert. (hv)