函式庫 / SDK
google/osv.dev avatar
google/osv.dev

osv.dev:從 README 入口拆解能力與使用邊界

專案速覽:開源漏洞資料庫和分類服務。使用掃描器 我們提供了一個基於 Go 的工具,它將掃描您的依賴項,並透過 OSV API 根據 OSV 資料庫檢查它們是否有已知漏洞。

2,926 個 Star368 個 ForkGoApache-2.0

秒懂

它是什麼?
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. 本文整理 osv.dev 的入口、資料流、環境條件與專案專屬核驗重點。
適合誰用?
osv.dev 適合需要 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. 所列能力,且能管理執行環境與輸入格式的使用者;不適合把 README 未說明的行為當作保證。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

osv.dev:osv.dev 的程式碼庫

此倉庫包含在 Google Cloud Platform 上運行 osv.dev(一個開源漏洞資料庫和分類服務)的程式碼。README 描述了目錄佈局,包括 API 伺服器檔案、用於二分查找和影響分析的工作程序、核心 Python 庫、Go 模組以及部署配置。項目主頁是 osv.dev,倉庫元資料將其描述為開源漏洞資料庫和分類服務。README 還提到了可從 Google Cloud Storage 儲存桶取得的資料轉儲,以及已部署的 Web 介面。儘管倉庫的主要語言是 Go,但 osv 目錄中也有一個重要的 Python 庫。

在 google/osv.dev 中,這一節應回到 README 的具體記號 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |。請記錄命令參數、輸入資料、回傳碼、標準錯誤與產物位置,分開判斷文件已說明的行為和本機環境造成的差異。README 沒有交代的容量、效能、相容性或故障恢復,不從功能名稱延伸推論。

osv.dev:文件和資料轉儲

完整的文件託管在 google.github.io/osv.dev,單獨的 API 文件在 google.github.io/osv.dev/api。資料轉儲發布在名為 gs://osv,vulnerabilities 的 GCS 儲存桶中;README 指示讀者查閱文件以取得更多資訊。倉庫本身包含一個 docs 目錄,其中有用於構建文件網站的 Jekyll 檔案,以及 build_swagger.py 指令碼和 tools.go 檔案。這些用於生成 API 文件和 Swagger 定義。

osv.dev:Web 介面和單獨的掃描器

一個 Web 介面的實況例項部署在 osv.dev。README 還描述了一個基於 Go 的工具,它掃描依賴項並通過 OSV API 檢查它們是否包含已知漏洞。掃描器位於自己的倉庫 github.com/google/osv,scanner 中,而不是在此倉庫中。根據 README,它可以掃描各種鎖檔案、Debian Docker 容器、SPDX 和 CycloneDB SBOM 以及 git 倉庫。這種分離意味著掃描器有自己的釋出週期和問題跟蹤器。

osv.dev:倉庫佈局要點

倉庫分為多個目錄。gcp 目錄包含 API 伺服器(包括 v1 中的 protobuf 檔案)、資料儲存索引檔案、用於釋出 PyPI 漏洞的 Cloud Function、確定版本的索引器、網站後端以及用於二分查找和影響分析的工作程序。osv 目錄包含所有 Python 服務使用的核心 OSV Python 庫,包括 ecosystems 中的套件版本控制助手和 models.py 中的資料儲存模型定義。go 目錄提供共享的 Go 庫和命令,如 cmd/exporter 和 cmd/recordchecker。vulnfeeds 目錄包括用於 NVD CVE 轉換的 Go 模組,以及 Alpine(cmd/alpine)和 Debian(tools/debian)的 Feed 轉換器。許多本地構建需要子模組;README 指示執行 git submodule update ,init ,recursive。

osv.dev:貢獻和社群工具

該專案歡迎貢獻。README 的 Contributing 部分分別引用了程式碼、資料和文件的貢獻指南。討論郵件列表位於 groups.google.com/g/osv,discuss。README 還列出了使用 OSV 的第三方工具,包括 Cortex XSOAR、dep,scan、Dependency,Track、GUAC、OSS Review Toolkit、pip,audit、Renovate 和 Trivy。這些是社群構建的,不受核心 OSV 維護者的支援或認可。README 建議查閱 OpenSSF 的評估開源軟體簡明指南以確定適用性。

osv.dev:許可證

該倉庫以 Apache License 2.0 許可。該許可授予永久、全球、非獨佔、免費、免版稅、不可撤銷的版權許可,以複製、準備衍生作品、公開展示、表演、再許可和分發作品。它還包括專利許可,但若提起專利訴訟則可能終止。許可證文字不涉及支援、保證或安全保證;這些不在許可條款範圍內。

對 google/osv.dev 的第 1 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 2 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 3 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 4 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 5 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 6 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 7 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

對 google/osv.dev 的第 8 次檢查仍應使用 `gs://osv-vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,固定同一份輸入並保存輸出檔案與錯誤文字,再比較版本、設定鍵和執行環境。這只能說明該次流程的實際結果,不能取代專案對未說明情境的承諾。

編輯結論

osv.dev 適合需要 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. 所列能力,且能管理執行環境與輸入格式的使用者;不適合把 README 未說明的行為當作保證。採用前先依 google/osv.dev 的 README 執行 `gs://osv,vulnerabilities`、Go based tool that will scan your dependencies, and check them against the OSV dat、docker containers, SPDX and CycloneDB SBOMs, and git repositories.、`bindings/`、Go only) |,檢查實際輸出、錯誤與產物,再決定是否納入工作流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記