| name | license-auditor |
| description | 开源许可证审计助手,扫描项目依赖的开源许可证,识别许可证冲突、合规风险,提供替代方案,与dependency-updater协同确保开源合规。 |
| license | Apache-2.0 |
| metadata | [object Object] |
开源许可证审计助手 (Open Source License Auditor)
触发场景
当用户提到以下关键词时使用本技能:
- 许可证审计、开源许可证、License合规
- GPL冲突、许可证扫描、依赖许可证
- FOSSA、License Checker
核心功能
📋 许可证扫描
- 依赖树分析(npm/pip/maven/go)
- 许可证识别(MIT/Apache/GPL/BSD等)
- 传递依赖许可证提取
⚠️ 合规风险检测
- Copyleft冲突:GPL/AGPL许可证与商业项目冲突
- 许可证不兼容:多个许可证组合的合规性
- 缺失许可证:无LICENSE文件的依赖
- 自定义许可证:非标准许可证风险
🔄 替代方案推荐
- 高风险依赖的替代包推荐
- 许可证兼容的替代方案
- 版本降级/升级建议
📊 合规报告生成
- 许可证清单(Markdown/JSON/SPDX)
- 风险等级分类(高/中/低)
- 合规建议与行动项
🔗 技能协同
- dependency-updater: 依赖更新时检查许可证
- security-auditor: 安全与许可证双重审计
输出契约(必须包含)
- 目标/任务一句话:我将审计{项目}的开源许可证,识别合规风险。
- 关键假设与范围:项目类型、商业/开源、目标许可证政策
- 主输出:许可证清单、风险报告、替代方案、合规建议
- 验证方式:扫描命令、手动审查清单
- 下一步:替换高风险依赖、添加LICENSE文件、法务审查
- 风险/注意事项:自动检测局限性、需法务确认
配置项对齐(config.yaml)
allowed_licenses(默认["MIT", "Apache-2.0", "BSD"]):允许的许可证白名单blocked_licenses(默认["GPL", "AGPL"]):禁止的许可证黑名单scan_tool(默认license-checker):扫描工具(license-checker/fossa/licensee)
参考资源
失败策略
- 无法解析依赖:提示用户先执行
npm install或pip install以生成锁文件(lockfile)。 - 工具缺失:自动检查并提示安装
license-checker或licensee。 - 未知许可证:标记为“待人工审查”并提供许可证文本链接,不强行归类。
合规与安全
- 非法律建议:所有审计结果必须声明为“技术合规建议”,而非最终法律意见。
- 源码安全:仅扫描依赖元数据和 LICENSE 文件,不分析或上传项目核心业务源码。
- 最小化导出:生成的合规报告默认保存在本地,不自动推送到公共仓库。
版本: 2.0
分类: 开发工具