SuperAPI AI 工具集

dependency-management

部署与运维

查看项目

更新于 10-15 07:45

技能介绍

Dependency Management 是一个依赖管理专家技能,用于管理项目依赖,涵盖更新、漏洞扫描、许可证合规与依赖树优化。

用途与适用场景 当需要更新项目依赖、扫描安全漏洞、分析依赖树、确保许可证合规、解决版本冲突或优化依赖使用时可使用该技能。

主要能力

  • 依赖分析:识别未使用的依赖与版本冲突。
  • 漏洞扫描:发现并修复已知安全漏洞。
  • 许可证合规:验证依赖许可证是否兼容。
  • 安全更新:在测试与验证的前提下更新依赖。
  • 依赖树优化:优化依赖树并减少冗余。
  • 版本管理:解决版本冲突与更新。

辅助脚本 该技能在 scripts/ 目录中提供 Python 辅助脚本:parse_dependencies.py,用于解析依赖文件(package.json、requirements.txt、pyproject.toml),输出 JSON 格式的已解析依赖与元数据。 调用示例: python scripts/parse_dependencies.py package.json requirements.txt

使用方式

  • 管理依赖:更新所有依赖并检查漏洞,扫描依赖安全问题。
  • 具体任务:检查所有依赖的许可证兼容性。

管理流程

  1. 分析依赖 使用辅助脚本:

Parse dependency files

python scripts/parse_dependencies.py package.json requirements.txt pyproject.toml 包管理器工具:

  • npm:npm outdated、npm list
  • pip:pip list --outdated
  • maven:mvn versions:display-dependency-updates
  • gradle:gradle dependencyUpdates
  1. 扫描漏洞 工具:
  • npm:npm audit
  • pip:pip-audit
  • maven:OWASP Dependency Check
  • gradle:Dependency Check 插件
  1. 检查许可证 流程:列出所有依赖许可证;检查与项目许可证的兼容性;识别任何不兼容的许可证;提供许可证报告。

  2. 更新依赖 安全更新流程:检查更新;审阅变更日志;增量更新;每次更新后运行测试;验证功能。

示例:漏洞扫描 输入:Scan for vulnerabilities 输出示例:

Dependency Vulnerability Scan

Critical Vulnerabilities

  1. lodash (4.17.20)
  • Severity: High
  • Issue: Prototype Pollution
  • Fix: Update to 4.17.21 npm update lodash
  1. express (4.16.4)
  • Severity: Medium
  • Issue: Path Traversal
  • Fix: Update to 4.18.2 npm update express Summary Total vulnerabilities: 5 Critical: 1 High: 2 Medium: 2

参考文件 可按需加载针对特定包管理器的参考文件:

  • references/package_managers.md:npm、pip、Poetry、Maven、Gradle、Cargo 的命令与模式以及常见依赖管理实践。
  • references/DEPENDENCY_AUDIT.template.md:依赖审计报告模板,包含漏洞、过期包、许可证合规。 处理特定包管理器时,加载 references/package_managers.md 并参考相应章节。

最佳实践

  1. 定期更新依赖。
  2. 安全优先:优先处理安全更新。
  3. 更新后测试:更新后始终进行测试。
  4. 锁定文件:使用锁定文件(package-lock.json、yarn.lock)。
  5. 版本固定:固定关键依赖版本。

相关用例 依赖更新、安全漏洞扫描、许可证合规、依赖树优化、版本冲突解决。

限制 该技能的收费、价格、平台支持范围与具体效果暂未提供。