理解 PURL 规范(包 URL)

主要观点:Package URL(PURL)规范是用于跨不同生态系统唯一标识软件包的开放标准,由 Philippe Ombredanne 于 2017 年创建,其结构类似网页 URL,包含多个组件,能提供软件组件的简单通用标识符,在 SBOM 等领域有重要作用。
关键信息

  • PURL 由pkg:开头,包含类型、命名空间、名称、版本等组件,各部分有特定含义,可选字段在实际中对唯一标识软件包很重要。
  • PURL 支持多种编程语言生态系统和包管理器,有generic类型用于特殊情况,不同生态系统的类型定义不同。
  • PURL 在 SBOM 中起关键作用,能确保 SBOM 准确性和可用性,CycloneDX 和 SPDX 格式都支持 PURL。
  • 与 CPE 相比,PURL 更专注于包,格式更简单,能更好地处理开源库依赖,在处理开源方面更有优势,但缺乏商业产品支持。
    重要细节
  • 2017 年创建,创建链接
  • Maven Central artifact 的示例 PURL 为pkg:maven/org.apache.logging.log4j/log4j-core@2.14.1
  • CPE 是旧标准,用于标识 IT 产品和平台,格式固定,与 PURL 设计目的和使用场景不同。
  • FOSSA 推荐 PURL 是因为其在处理开源库依赖方面的优势,但也指出其缺乏商业产品支持的缺点。
  • 更多软件供应链安全信息可查看FOSSA 网站
阅读 20
0 条评论