Bibliothek / SDK
google/osv.dev avatar
google/osv.dev

google/osv.dev: Das Repository hinter dem osv.dev-Schwachstellendienst

Projektüberblick: Open-Source-Schwachstellendatenbank und Triage-Service. Verwenden des Scanners Wir stellen ein Go-basiertes Tool bereit, das Ihre Abhängigkeiten scannt und sie über die OSV-API mit der OSV-Datenbank auf bekannte Schwachstellen vergleicht.

2.926 Sterne368 ForksGoApache-2.0

Auf einen Blick

Was ist das?
Open source vulnerability DB and triage service. Using the scanner We provide a Go based tool that will scan your dependencies, and check them against the OSV database for known vulnerabilities via the OSV API.
Für wen ist es gedacht?
Geeignet ist osv.dev für Teams, deren Aufgabe genau zur dokumentierten Schnittstelle passt. Ungeeignet ist es als Ersatz für nicht beschriebene Funktionen.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Go, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Der Stack hinter osv.dev

Dieses Repository enthält den Code, der osv.dev, einen Open-Source-Schwachstellendatenbank- und Triage-Dienst, auf Google Cloud Platform ausführt. Die README beschreibt die Verzeichnisstruktur, einschließlich API-Serverdateien, Worker für Bisection und Impact-Analyse, eine zentrale Python-Bibliothek, Go-Module und Bereitstellungskonfiguration. Die Projekt-Homepage ist osv.dev, und die Repository-Metadaten beschreiben es als Open-Source-Schwachstellendatenbank und Triage-Dienst. Die README verweist auch auf Datendumps, die aus einem Google Cloud Storage-Bucket verfügbar sind, und auf die bereitgestellte Weboberfläche. Obwohl die primäre Sprache des Repositorys Go ist, enthält das osv-Verzeichnis auch eine umfangreiche Python-Bibliothek. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Der Stack hinter osv.dev“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an der Projektbeschreibung fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Dokumentation und Datenexport

Umfassende Dokumentation ist unter google.github.io/osv.dev gehostet, separate API-Dokumentation unter google.github.io/osv.dev/api. Datendumps werden in einem GCS-Bucket mit dem Namen gs://osv-vulnerabilities veröffentlicht; die README verweist für weitere Informationen auf die Dokumentation. Das Repository selbst enthält ein docs-Verzeichnis mit Jekyll-Dateien, die die Dokumentationsseite erstellen, sowie ein build_swagger.py-Skript und eine tools.go-Datei. Diese werden verwendet, um die API-Dokumentation und die Swagger-Definitionen zu generieren. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Dokumentation und Datenexport“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an den Angaben zu Dokumentation und Datenexport fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Scanner außerhalb dieses Repositorys

Eine Live-Instanz der Weboberfläche ist unter osv.dev bereitgestellt. Die README beschreibt außerdem ein Go-basiertes Tool, das Abhängigkeiten scannt und sie über die OSV-API auf bekannte Schwachstellen in der OSV-Datenbank prüft. Der Scanner befindet sich in einem eigenen Repository unter github.com/google/osv-scanner, nicht in diesem. Laut README kann er verschiedene Sperrdateien, Debian-Docker-Container, SPDX- und CycloneDB-SBOMs sowie Git-Repositorys scannen. Diese Trennung bedeutet, dass der Scanner einen eigenen Release-Zyklus und ein eigenes Issue-Tracking hat. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Scanner außerhalb dieses Repositorys“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an den Angaben zu Scanner außerhalb dieses Repositorys fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Verzeichnisse mit klaren Zuständigkeiten

Das Repository ist in mehrere Verzeichnisse unterteilt. Das gcp-Verzeichnis enthält den API-Server (einschließlich Protobuf-Dateien in v1), die Datastore-Indexdatei, eine Cloud Function zum Veröffentlichen von PyPI-Schwachstellen, den Versionsbestimmungs-Indexer, das Backend der Website und Worker für Bisection und Impact-Analyse. Das osv-Verzeichnis enthält die zentrale OSV-Python-Bibliothek, die in allen Python-Diensten verwendet wird, einschließlich Paketversionshilfen in ecosystems und Datastore-Modelldefinitionen in models.py. Das go-Verzeichnis bietet gemeinsame Go-Bibliotheken und Befehle wie cmd/exporter und cmd/recordchecker. Das vulnfeeds-Verzeichnis enthält Go-Module für die NVD-CVE-Konvertierung und Feed-Konverter für Alpine (cmd/alpine) und Debian (tools/debian). Für viele lokale Builds sind Submodule erforderlich; die README weist an, git submodule update --init --recursive auszuführen. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Verzeichnisse mit klaren Zuständigkeiten“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an den Angaben zu Verzeichnisse mit klaren Zuständigkeiten fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Beiträge und Community-Werkzeuge

Das Projekt begrüßt Beiträge. Es gibt separate Beitragsleitfäden für Code, Daten und Dokumentation, die alle im Abschnitt Contributing der README referenziert werden. Eine Mailingliste für Diskussionen ist unter groups.google.com/g/osv-discuss verfügbar. Die README listet auch Drittanbieter-Tools auf, die OSV verwenden, darunter Cortex XSOAR, dep-scan, Dependency-Track, GUAC, OSS Review Toolkit, pip-audit, Renovate und Trivy. Diese sind von der Community erstellt und werden nicht von den Kern-OSV-Wartenden unterstützt oder befürwortet. Die README empfiehlt, den prägnanten Leitfaden von OpenSSF zur Bewertung von Open-Source-Software zu konsultieren, um die Eignung zu bestimmen. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Beiträge und Community-Werkzeuge“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an den Angaben zu Beiträge und Community-Werkzeuge fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Lizenz und Einsatzgrenze

Das Repository ist unter der Apache-Lizenz 2.0 lizenziert. Diese Lizenz gewährt eine unbefristete, weltweite, nicht ausschließliche, kostenlose, lizenzgebührenfreie, unwiderrufliche Urheberrechtslizenz, um das Werk zu vervielfältigen, abgeleitete Werke zu erstellen, öffentlich auszustellen, aufzuführen, zu unterlizenzieren und zu verbreiten. Sie enthält auch eine Patentlizenz mit einer Kündigungsklausel, wenn Patentstreitigkeiten eingeleitet werden. Der Lizenztext enthält keine Aussagen zu Support, Garantie oder Sicherheitsgarantien; diese fallen nicht unter die Lizenzbedingungen. osv.dev bleibt dabei auf die im README beschriebenen Aufgaben begrenzt. Für die technische Beurteilung sind die genannten Dateien, Befehle und Schnittstellen wichtiger als die Sternezahl; nicht dokumentierte Eigenschaften sollten nicht vorausgesetzt werden. Im Abschnitt „Lizenz und Einsatzgrenze“ ist für osv.dev besonders zu prüfen, welche konkrete Eingabe auf welche Ausgabe trifft. Diese Einordnung ergänzt keine Funktion: Sie hält die Entscheidung an den Angaben zu Lizenz und Einsatzgrenze fest und markiert nicht dokumentierte Betriebsannahmen als offen.

Redaktionelles Fazit

Geeignet ist osv.dev für Teams, deren Aufgabe genau zur dokumentierten Schnittstelle passt. Ungeeignet ist es als Ersatz für nicht beschriebene Funktionen. Prüfen Sie zuerst die README-Pfade und den vorgesehenen Einstieg von osv.dev; erst danach sollte ein produktiver Einsatz entschieden werden.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen