
osv-scanner v2.5.0
In Go geschriebener Schwachstellen-Scanner, der die von https://osv.dev bereitgestellten Daten verwendet.
Verwenden Sie OSV-Scanner, um vorhandene Schwachstellen zu finden, die die Abhängigkeiten Ihres Projekts betreffen. OSV-Scanner bietet ein offiziell unterstütztes Frontend für die OSV-Datenbank und eine CLI-Schnittstelle zu OSV-Scalibr, die die Abhängigkeitsliste eines Projekts mit den sie betreffenden Schwachstellen verknüpft.
OSV-Scanner unterstützt eine breite Palette von Projekttypen, Paketmanagern und Funktionen, einschließlich, aber nicht beschränkt auf:
- Sprachen: C/C++, Dart, Elixir, Go, Java, Javascript, PHP, Python, R, Ruby, Rust.
- Paketmanager: npm, pip, yarn, maven, go modules, cargo, gem, composer, nuget und andere.
- Betriebssysteme: Erkennt Schwachstellen in Betriebssystempaketen auf Linux-Systemen.
- Container: Scannt Container-Images auf Schwachstellen in ihren Basis-Images und enthaltenen Paketen.
- Guided Remediation: Bietet Empfehlungen für Paketversions-Upgrades basierend auf Kriterien wie Abhängigkeitstiefe, Mindestschweregrad, Behebungsstrategie und Return on Investment.
OSV-Scanner nutzt intern die erweiterbare Bibliothek OSV-Scalibr, um diese Funktionalität bereitzustellen. Wenn eine Sprache oder ein Paketmanager derzeit nicht unterstützt wird, reichen Sie bitte eine Funktionsanfrage ein.
Zugrunde liegende Datenbank
Die zugrunde liegende Datenbank OSV.dev bietet im Vergleich zu proprietären Advisory-Datenbanken und Scannern mehrere Vorteile:
- Sie deckt die meisten Open-Source-Sprach- und Betriebssystem-Ökosysteme ab (einschließlich Git) und ist damit umfassend.
- Jedes Advisory stammt aus einer offenen und autoritativen Quelle (z. B. GitHub Security Advisories, RustSec Advisory Database, Ubuntu-Sicherheitshinweise).
- Jeder kann Verbesserungen an Advisories vorschlagen, was zu einer sehr hochwertigen Datenbank führt.
- Das OSV-Format speichert Informationen über betroffene Versionen eindeutig in einem maschinenlesbaren Format, das sich präzise auf die Paketliste eines Entwicklers abbilden lässt.
All dies führt zu präzisen und umsetzbaren Schwachstellenmeldungen, was die Zeit für deren Behebung reduziert. Weitere Details finden Sie unter OSV.dev!
Grundlegende Installation
Informationen zur Installation von OSV-Scanner finden Sie im Abschnitt Installation unserer Dokumentation. OSV-Scanner-Versionen finden Sie auf der Releases-Seite des GitHub-Repositorys. Die empfohlene Methode ist das Herunterladen einer vorgefertigten Binärdatei für Ihre Plattform. Alternativ können Sie go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest verwenden, um es aus dem Quellcode zu erstellen.
Kernfunktionen
Weitere Informationen zur Verwendung von OSV-Scanner finden Sie in unserer ausführlichen Dokumentation. Klicken Sie für detaillierte Informationen zu jeder Funktion auf deren Titel in diesem README.
Bitte beachten Sie: Dies sind die Anweisungen für die neueste OSV-Scanner-V2-Beta. Wenn Sie V1 verwenden, schauen Sie sich stattdessen das V1-README und die Dokumentation an.
Scannen eines Quellverzeichnisses
$ osv-scanner scan source -r /path/to/your/dir
Dieser Befehl scannt das angegebene Verzeichnis rekursiv nach unterstützten Paketdateien wie package.json, go.mod, pom.xml usw. und gibt alle entdeckten Schwachstellen aus.
OSV-Scanner bietet die Möglichkeit, mithilfe der Call-Analyse festzustellen, ob eine anfällige Funktion tatsächlich im Projekt verwendet wird. Dies führt zu weniger Fehlalarmen und umsetzbaren Warnungen.
OSV-Scanner kann für die Schwachstellensuche auch vendored C/C++-Code erkennen. Details finden Sie hier.
Unterstützte Lockfiles
OSV-Scanner unterstützt 11+ Sprach-Ökosysteme und 19+ Lockfile-Typen. Um zu prüfen, ob Ihr Ökosystem abgedeckt ist, schauen Sie sich unsere ausführliche Dokumentation an.
Container-Scanning
OSV-Scanner unterstützt außerdem ein umfassendes, Layer-bewusstes Scannen von Container-Images, um Schwachstellen in den folgenden Betriebssystempaketen und sprachspezifischen Abhängigkeiten zu erkennen.
| Distro-Unterstützung | Unterstützung für Sprach-Artefakte |
|---|---|
| Alpine OS | Go |
| Debian | Java |
| Ubuntu | Node |
| Python |
Details zur Unterstützung finden Sie in der vollständigen Dokumentation.
Verwendung:
$ osv-scanner scan image my-image-name:tag

Lizenz-Scanning
Prüfen Sie die Lizenzen Ihrer Abhängigkeiten mithilfe der deps.dev-Daten. Für eine Zusammenfassung:
osv-scanner --licenses path/to/repository
Um gegen eine Liste zulässiger Lizenzen (SPDX-Format) zu prüfen:
osv-scanner --licenses="MIT,Apache-2.0" path/to/directory
Offline-Scanning
Scannen Sie Ihr Projekt gegen eine lokale OSV-Datenbank. Nach dem initialen Datenbank-Download ist keine Netzwerkverbindung erforderlich. Die Datenbank kann auch manuell heruntergeladen werden.
osv-scanner --offline --download-offline-databases ./path/to/your/dir
Guided Remediation (Experimentell)
[!WARNING] Guided Remediation (der Befehl
fix) kann bei nicht vertrauenswürdigen Projekten riskant sein. Dies kann den Paketmanager dazu veranlassen, Skripte auszuführen oder im Projekt angegebene externe Registries zu verfolgen. Bitte stellen Sie sicher, dass Sie dem Quellcode und den Artefakten vertrauen, bevor Sie fortfahren.