ossf/osv-schema
GitHub: ossf/osv-schema
OSV Schema 是一种开源漏洞描述格式规范,解决了跨生态系统漏洞数据格式不统一、难以聚合和自动化消费的问题。
Stars: 262 | Forks: 121
# 开源漏洞 (OSV) Schema
[渲染后的规范](https://ossf.github.io/osv-schema/)
## 概述
OSV schema 提供了一种人类和机器可读的格式,用于描述精确映射到开源包版本或 commit hash 的漏洞。它被多个发行版和漏洞建议数据库使用,并且是由 聚合的规范格式。
## 快速链接
- 规范 (渲染后):
- JSON Schema: [schema.json](validation/schema.json)
- Protocol buffer 定义: [proto/vulnerability.proto](proto/vulnerability.proto)
- 工具和转换器: [tools/](tools)
## 快速开始
安装者和使用者通常使用可用的转换器之一或上面渲染后的规范。导出或转换为 OSV 格式的示例数据源包括许多发行版和漏洞建议项目(AlmaLinux、Debian、PyPI advisories、RustSec 等)。有关随此仓库一起维护的转换器,请参见 `tools/` 目录。
## 使用 schema
常见任务:
- 根据 JSON schema 验证文件: `scripts/validate-schema-table.py` 和 `schema.json`。
- 转换特定供应商的漏洞建议: 参见 `tools/` 子目录 (例如: `tools/debian`, `tools/ghsa`)。
- 生成 Protobuf 类型: `proto/vulnerability.proto` 包含规范的 proto。
## 采用情况
有许多原生数据库发布了 OSV 格式的漏洞建议或维护了相应的转换器:
- [AlmaLinux](https://github.com/AlmaLinux/osv-database)
- [BellSoft Security Advisory](https://github.com/bell-sw/osv-database)
- [Bitnami Vulnerability Database](https://github.com/bitnami/vulndb)
- [Chainguard](https://packages.cgr.dev/chainguard/osv/all.json)
- [CleanStart](https://github.com/cleanstart-dev/cleanstart-security-advisories)
- [Curl](https://curl.se/docs/vuln.json)
- [Echo](https://advisory.echohq.com/osv/all.json)
- [GitHub Security Advisories](https://github.com/github/advisory-database)
- [Global Security Database](https://github.com/cloudsecurityalliance/gsd-database)
- [Go Vulnerability Database](https://github.com/golang/vulndb)
- [Haskell Security Advisories](https://github.com/haskell/security-advisories)
- [Julia Security Advisories](https://github.com/JuliaLang/SecurityAdvisories.jl)
- [LoopBack Advisory Database](https://github.com/loopbackio/security/tree/main/advisories)
- [Malicious Packages Repository](https://github.com/ossf/malicious-packages)
- [Mageia Advisories](https://advisories.mageia.org/)
- [MinimOS](https://packages.mini.dev/advisories/osv/all.json)
- [OCaml](https://github.com/ocaml/security-advisories)
- [openEuler](https://repo.openeuler.org/security/data)
- [OSS-Fuzz](https://github.com/google/oss-fuzz-vulns)
- [OSV.dev 维护的转换器](https://github.com/google/osv.dev#current-data-sources) (Debian, Alpine, NVD)
- [PyPI Advisory Database](https://github.com/pypa/advisory-database)
- [Python Software Foundation Database](https://github.com/psf/advisory-database)
- [RConsortium Advisory Database](https://github.com/RConsortium/r-advisory-database)
- [Red Hat](https://security.access.redhat.com/data)
- [Rocky Linux](https://distro-tools.rocky.page/apollo/openapi/#osv)
- [Root](https://api.root.io/external/osv/all.json)
- [Rust Advisory Database](https://github.com/RustSec/advisory-db)
- [SUSE](https://www.suse.com/support/security/)
- [Ubuntu](https://github.com/canonical/ubuntu-security-notices/)
- [VMWare Photon OS](https://github.com/vmware/photon/wiki/Security-Advisories) (非官方)
- [TuxCare](https://github.com/cloudlinux/tuxcare-osv)
它们涵盖了以下来源的漏洞:
- AlmaLinux
- Alpine
- Alpaquita Linux
- Android
- Azure Linux
- BellSoft Hardened Containers
- Bitnami
- Chainguard
- CleanStart
- crates.io
- Debian GNU/Linux
- Docker
- Echo
- Erlang Ecosystem Foundation
- FreeBSD
- GitHub Actions
- Go
- Haskell
- Hex
- Homebrew
- Julia
- Linux kernel
- Mageia
- Maven
- MinimOS
- npm
- NuGet
- OCaml
- openEuler
- openSUSE
- OSS-Fuzz
- Packagist
- Photon OS
- Pub
- PyPI
- Python
- R (CRAN 和 Bioconductor)
- Red Hat
- SUSE
- Rocky Linux
- RubyGems
- Ubuntu
- TuxCare
- vcpkg
有关更多示例和测试数据,请参见仓库历史记录和 `tools/` 子目录。
## 开发
前置条件:
- 需要使用 Python 3 来运行 `tools/` 和 `scripts/` 中的脚本。
- (可选)使用 Go 运行 `bindings/go` 下的组件。
常见开发任务:
- 运行 schema 验证: `python3 scripts/validate-schema-table.py` (用法请参见脚本)。
- 运行转换器测试: 查看 `tools/*/` 中的子目录以获取测试说明。
## 维护者
此仓库由 OpenSSF Vulnerability Disclosures Working Group 维护。有关当前的维护者,请参见仓库的 `CODEOWNERS` 文件。
## 许可证
本项目根据仓库 `LICENSE` 文件中的条款进行许可。
## 安全
要报告安全问题,请遵循 `SECURITY.md` 中的说明。
## 致谢
OSV Schema 被许多项目和生态系统使用和支持。有关转换器和使用者的(非详尽)列表,请参见渲染后的规范和 `tools/` 目录。
标签:EVTX分析, GPT, JSON Schema, 数据格式, 日志审计, 漏洞管理, 规范标准, 逆向工具