osv.dev:從 README 入口拆解能力與使用邊界
專案速覽:開源漏洞資料庫和分類服務。使用掃描器 我們提供了一個基於 Go 的工具,它將掃描您的依賴項,並透過 OSV API 根據 OSV 資料庫檢查它們是否有已知漏洞。
秒懂
- 它是什麼?
- 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) |,檢查實際輸出、錯誤與產物,再決定是否納入工作流程。
社群筆記