开源许可证与 SBOM 合规检查
只处理已生成的 CycloneDX JSON SBOM 和经组织批准的许可证策略。
适合这些请求
- “软件或 App 发布前,检查第三方依赖的开源许可证。”
- “按公司 SPDX 白名单核对这份 CycloneDX SBOM。”
- “按公司策略核对 GPL、AGPL 等依赖并生成 NOTICE 候选;不要默认其必然禁用。”
试用入口
需要试用时可使用 examples/bom.json 和 examples/policy.json,查看逐组件状态与策略依据。
交付结果
- 整体发布结论和逐组件的允许、复核或阻断状态。
- 未知、禁用及策略冲突的许可证清单与组件来源。
- 可人工复核的 NOTICE 候选清单,不冒充最终法律文件。
工作流程
运行以下命令时,以本技能安装目录为工作目录;从其他目录运行则使用脚本、输入和输出的绝对路径。
- 要求组件名称、版本、包网址以及已声明的 SPDX 表达式或许可证标识。
- 要求策略明确列出
allow、review和deny。 - 运行
python scripts/run.py --sbom <bom.json> --policy <policy.json> --output <report.json>。 - 遇到禁用或未知许可证时阻断发布;除非完整双许可证表达式被明确允许,否则保持复核状态。
- 引用组件包网址和命中的策略规则。只生成 NOTICE 候选清单,不声称是法律充分的最终 NOTICE。
受限的表达式处理规则见 references/contract.md。