oss-review-toolkit/ort

GitHub: oss-review-toolkit/ort

开源软件合规自动化工具套件,提供从依赖分析、许可证扫描、漏洞查询到策略评估的完整流水线,帮助企业高效管理软件供应链的合规与安全风险。

Stars: 1949 | Forks: 374

![OSS Review Toolkit Logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b534a1ab22113218.png)   [![Slack](https://img.shields.io/badge/Join_us_on_Slack!-ort--talk-blue.svg?longCache=true&logo=slack)][2] [![Static Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ab40880a4f113219.svg)][4] [![Build and Test](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6a84d38911113220.svg)][6] [![Code coverage](https://codecov.io/gh/oss-review-toolkit/ort/branch/main/graph/badge.svg?token=QD2tCSUTVN)][8] [![REUSE status](https://api.reuse.software/badge/github.com/oss-review-toolkit/ort)][10] [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/4618/badge)][12] [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/oss-review-toolkit/ort/badge)][14] # 简介 OSS Review Toolkit (ORT) 是一个 FOSS 策略自动化和编排工具包,您可以使用它以战略性、安全且高效的方式管理您的(开源)软件依赖项。 您可以使用它来: * 为您的软件项目生成 CycloneDX、SPDX SBOM 或自定义 FOSS 属性文档 * 使用基于风险的 Policy as Code 自动化您的 FOSS 策略,对您的软件项目及其依赖项执行许可、安全漏洞、InnerSource 和工程标准检查 * 为您的软件项目及其依赖项创建源代码归档,以符合特定许可证的要求,或者作为互联网并非永恒的预防措施,拥有您自己的副本 * 使用 InnerSource 或在 FOSS 社区的帮助下,自行更正包元数据或许可证发现结果 ORT 可以作为库使用(用于编程用途),通过命令行界面使用(用于脚本用途),或通过其 CI 集成使用。 它由以下工具组成,这些工具可以组合成一个*高度可定制*的管道: * [*Analyzer*](https://oss-review-toolkit.org/ort/docs/tools/analyzer): 确定项目及其元数据的依赖项,抽象化实际使用的包管理器或构建系统。 * [*Downloader*](https://oss-review-toolkit.org/ort/docs/tools/downloader): 获取项目及其依赖项的所有源代码,抽象化用于检索源代码的版本控制系统 (VCS) 或其他方式。 * [*Scanner*](https://oss-review-toolkit.org/ort/docs/tools/scanner): 使用配置的源代码扫描器检测许可证/版权发现,抽象化扫描器的类型。 * [*Advisor*](https://oss-review-toolkit.org/ort/docs/tools/advisor): 从配置的漏洞数据服务检索已使用依赖项的安全公告。 * [*Evaluator*](https://oss-review-toolkit.org/ort/docs/tools/evaluator): 根据前面阶段收集的数据评估自定义策略规则和自定义许可证分类,并返回策略违规列表,例如标记许可证发现。 * [*Reporter*](https://oss-review-toolkit.org/ort/docs/tools/reporter): 以各种格式(如可视化报告、开源声明或物料清单 (BOM))呈现结果,以便轻松识别依赖项、许可证、版权或策略规则违规。 * *Notifier*: 通过不同渠道(如[电子邮件](./examples/example.notifications.kts)和/或 JIRA 工单)发送结果通知。 另请参阅有助于运行 ORT 的[相关工具列表](https://oss-review-toolkit.org/ort/docs/related-tools)。 ## 文档 有关详细信息,请参阅 [ORT 网站](https://oss-review-toolkit.org/ort/)上的文档。 # 安装 ## 系统要求 [核心开发团队](https://github.com/orgs/oss-review-toolkit/people)在 Linux、Windows 和 macOS 上持续使用 ORT,因此这些操作系统被认为得到了良好的支持。 要运行 ORT 二进制文件(另请参阅[从二进制文件安装](#from-binaries)),至少需要 Java 21。 内存和 CPU 要求取决于要分析/扫描的项目的大小和类型,但一般建议将 Java 配置为具有 8 GiB 内存,并使用至少具有 4 个核心的 CPU。 ``` # 这将为 Java Virtual Machine 分配 8GB 内存。 export JAVA_OPTS="$JAVA_OPTS -Xmx8g" ``` 如果 ORT 需要外部工具来分析项目,这些工具将由 `ort requirements` 命令列出。 如果包管理器未在此处列出,则对其支持已直接集成到 ORT 中,不需要安装任何外部工具。 ## 从二进制文件 ### CLI 分发包 前往 [releases](https://github.com/oss-review-toolkit/ort/releases) 页面。 从您选择的版本的 "Assets" 部分下载所需类型的分发包归档文件。 通常 Windows 使用 `.zip`,其他情况使用 `.tgz`;但归档文件的内容是相同的。 `ort-*` 归档文件包含 [ORT main](./cli/) 分发包,而 `orth-*` 归档文件包含 [ORT helper](./cli-helper/) 分发包。 将归档文件解压到安装目录。 运行 ORT 的脚本分别位于 `bin/ort` 和 `bin\ort.bat`,或 `bin/orth` 和 `bin\orth.bat`。 ### Docker 分发版 除了 CLI 之外,ORT 还作为 Docker 镜像分发,其中包含 ORT 所需的所有工具(请参阅 `ort requirements` 命令)。 要从该镜像的最新版本运行 ORT(如果需要将被下载),请使用: ``` docker run ghcr.io/oss-review-toolkit/ort --help ``` ## 从源代码 安装以下基本先决条件: * Git(任何最新版本均可)。 然后克隆此仓库。 ``` git clone https://github.com/oss-review-toolkit/ort # 如果你打算运行测试,你也必须 clone submodules。 cd ort git submodule update --init --recursive ``` ### 使用 Docker 构建 安装以下基本先决条件: * Docker 18.09 或更高版本(并确保其守护程序正在运行)。 * 为 Docker 启用 [BuildKit](https://docs.docker.com/develop/develop-images/build_enhancements/#to-enable-buildkit-builds)。 进入包含 ORT 源代码的目录并运行 `docker build -t ort .`。 或者,使用位于 `scripts/docker_build.sh` 的脚本,该脚本还会从 Git 修订版本设置 ORT 版本。 ### 原生构建 安装这些额外的先决条件: * Java Development Kit (JDK) 21 或更高版本;还要记住相应地设置 `JAVA_HOME` 环境变量。 进入包含 ORT 源代码的目录并运行 `./gradlew installDist`(首次运行时将引导 Gradle 并下载所有必需的依赖项)。 ## 基本用法 根据 ORT 的安装方式,可以通过以下方式运行它: * 如果如上所述在本地构建了 Docker 镜像,请使用 docker run ort --help 您可以在[文档](./website/docs/guides/docker.md)中找到有关使用 ORT with Docker 的更多提示。 * 如果 ORT 分发包是从源代码构建的,请使用 ./cli/build/install/ort/bin/ort --help * 如果通过 Gradle 直接从源代码运行,请使用 ./gradlew cli:run --args="--help" 请注意,在这种情况下,ORT 使用的工作目录是 `cli` 项目的目录,而不是 `gradlew` 所在的目录(参见 https://github.com/gradle/gradle/issues/6074)。 # 许可证 版权所有 (C) 2017-2026 [The ORT Project Copyright Holders](./NOTICE)。 有关许可证详细信息,请参阅本项目根目录下的 [LICENSE](./LICENSE) 文件。 OSS Review Toolkit (ORT) 是一个 [Linux Foundation 项目](https://www.linuxfoundation.org/),并且是 [ACT](https://automatecompliance.org/) 的一部分。 要了解有关项目如何治理的更多信息,包括其章程,请参阅 [ort-governance](https://github.com/oss-review-toolkit/ort-governance) 仓库。
标签:CycloneDX, DevSecOps, FOSS, JS文件枚举, Kotlin, Policy-as-Code, SBOM, SPDX, 上游代理, 云安全监控, 依赖管理, 后台面板检测, 安全合规, 开源合规, 文档安全, 源码归档, 版权合规, 硬件无关, 策略即代码, 网络代理, 聊天机器人安全, 自动化合规, 许可证扫描, 请求拦截, 跌倒检测, 软件开发工具包, 软件物料清单, 静态分析