SuperAPI AI 工具集

checking-license-compliance

通用与其它

查看项目

更新于 10-15 22:42

技能介绍

用途:审计项目依赖的许可证是否符合显式策略(允许清单/拒绝清单/需复核),在发布前标记不兼容项。许可证合规属法律与合同风险,典型问题是 copyleft 污染:MIT/Apache-2.0/BSD 项目中混入 GPL/AGPL 依赖,可能要求整体以 GPL 兼容许可发布。

主要能力:检查直接与传递依赖中的拒绝清单许可证、未知许可证(无 SPDX 标识)、元数据与源码头声明不一致、已知互不兼容组合(如 GPL-2.0-only + Apache-2.0);按严重级别输出 CRITICAL/HIGH/MEDIUM/INFO 发现,并可生成 NOTICE.md 归属文件。

使用方式:需 Python 3.9+,目标项目含 package.json + node_modules/ 或 Python 项目(pyproject.toml/requirements.txt/venv)。策略文件默认 ./.license-policy.json,或用 --policy 指定;缺省时使用内置默认策略。运行:python3 ./scripts/check_licenses.py /path/to/project。选项包括 --output FILE、--format json|jsonl|markdown、--min-severity SEV、--policy FILE、--emit-attribution。退出码:0 干净,1 存在 high/critical,2 错误。

适用场景:发布前法务门禁、生成归属文件、并购尽职调查取证。

限制:项目自身未声明许可证时无法建立基线,会输出 FATAL/operational 发现并以 2 退出;策略文件无法解析时以 2 退出;许可证字段格式错误按 UNKNOWN 处理。该技能只做检测与报告,不自动修复依赖,最终处置需法务确认。