You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何手动生成未识别Sencha Ext JS组件的SPDX格式SBOM条目?

针对本地未公开组件的SPDX条目生成方案

一、SPDX ID 生成规则

SPDX ID是每个组件在SBOM中的唯一标识,规则清晰明确:

  • 必须以SPDXRef-作为前缀,不可省略
  • 前缀后的自定义部分仅允许包含字母、数字、连字符(-)、下划线(_)、点(.),不能有空格或其他特殊字符
  • 确保整个SBOM内所有组件的SPDX ID不重复,建议结合组件名和版本做区分,比如:
    • Sencha Ext JS 6.0.3.41的SPDX ID可设为SPDXRef-SenchaExtJS-6.0.3.41
    • 其关联组件(如主题包)可设为SPDXRef-SenchaExtJS-Theme-Neptune-6.0.3.41
  • 大小写敏感,建议统一风格(比如全小写加短横线,或驼峰式),保持整个SBOM的一致性

二、手动生成本地组件SPDX条目的实用资源与方法

核心参考依据

直接参考SPDX官方规范的「Package」章节,里面明确了本地未公开包的必填/可选字段:

  • 必填字段:SPDXID、name、versionInfo、downloadLocation(无公开地址填NOASSERTION)、filesAnalyzed(未扫描文件内容填false)
  • 关键可选字段:licenseConcluded(已知的许可证,比如Sencha的商业许可证)、copyrightText(已知版权信息或NOASSERTION)、description(组件功能描述)

工具辅助

  • SPDX Toolkit CLI:可通过模板生成本地包的SPDX条目,支持JSON/YAML格式,生成后可手动编辑字段,再合并到现有SBOM中
  • Microsoft SBOM Tool 内置合并功能:使用sbom-tool merge命令,将手动编写的本地组件SPDX片段(单独的JSON/YAML文件)与自动生成的SBOM合并,具体参数可通过sbom-tool merge --help查看

示例参考

SPDX官方规范的附录里有完整的SBOM示例,其中包含本地未公开组件的条目,可直接参考字段的填写格式和取值方式,比如:

packages:
  - SPDXID: SPDXRef-SenchaExtJS-6.0.3.41
    name: Sencha Ext JS
    versionInfo: 6.0.3.41
    downloadLocation: NOASSERTION
    filesAnalyzed: false
    licenseConcluded: LicenseRef-Sencha-Commercial
    copyrightText: NOASSERTION

内容的提问来源于stack exchange,提问作者Xorcist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:12:36