依赖管理 dependency-management

依赖管理技能是一个专注于软件项目依赖项全生命周期管理的专业工具。它能够自动化执行依赖更新、深度扫描安全漏洞、智能分析依赖树结构、严格确保开源许可证合规性,并高效解决版本冲突。适用于使用 npm、pip、Maven 等主流包管理器的开发场景,帮助开发者和团队提升项目安全性、可维护性和合规性。关键词:依赖管理,漏洞扫描,许可证合规,版本冲突,包管理器,npm,pip,Maven,安全更新,依赖分析。

DevOps 0 次安装 0 次浏览 更新于 2/28/2026

name: dependency-management description: 依赖管理专家。用于更新依赖项、扫描漏洞、分析依赖树或确保许可证合规性。处理 npm、pip、maven 和其他包管理器。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill

依赖管理

此技能管理项目依赖项,包括更新、漏洞扫描、许可证合规性和依赖树优化。

何时使用此技能

  • 更新项目依赖项时
  • 扫描安全漏洞时
  • 分析依赖树时
  • 确保许可证合规性时
  • 解决版本冲突时
  • 优化依赖项使用时

此技能的功能

  1. 依赖项分析:识别未使用的依赖项和版本冲突
  2. 漏洞扫描:查找并修复已知的安全漏洞
  3. 许可证合规性:验证依赖项许可证的兼容性
  4. 安全更新:通过测试和验证更新依赖项
  5. 树优化:优化依赖树并减少冗余
  6. 版本管理:解决版本冲突并进行更新

辅助脚本

此技能包含位于 scripts/ 目录中的 Python 辅助脚本:

  • parse_dependencies.py:解析依赖文件(package.json、requirements.txt、pyproject.toml)。输出包含已解析依赖项和元数据的 JSON。

    python scripts/parse_dependencies.py package.json requirements.txt
    

使用方法

管理依赖项

更新所有依赖项并检查漏洞
扫描依赖项以查找安全问题

特定任务

检查所有依赖项的许可证兼容性

管理流程

1. 分析依赖项

使用辅助脚本:

此技能包含一个用于解析依赖文件的 Python 辅助脚本:

# 解析依赖文件
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

2. 扫描漏洞

工具:

  • npm: npm audit
  • pip: pip-audit
  • maven: OWASP 依赖项检查
  • gradle: 依赖项检查插件

3. 检查许可证

流程:

  • 列出所有依赖项许可证
  • 检查与项目许可证的兼容性
  • 识别任何不兼容的许可证
  • 提供许可证报告

4. 更新依赖项

安全更新流程:

  1. 检查更新
  2. 查看变更日志
  3. 逐步更新
  4. 每次更新后运行测试
  5. 验证功能

示例

示例 1:漏洞扫描

输入:扫描漏洞

输出

## 依赖项漏洞扫描

### 严重漏洞

**1. lodash (4.17.20)**
- **严重性**:高
- **问题**:原型污染
- **修复**:更新至 4.17.21
```bash
npm update lodash

2. express (4.16.4)

  • 严重性:中
  • 问题:路径遍历
  • 修复:更新至 4.18.2
npm update express

摘要

  • 总漏洞数:5
  • 严重:1
  • :2
  • :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. **版本固定**:固定关键依赖项的版本

## 相关用例

- 依赖项更新
- 安全漏洞扫描
- 许可证合规性
- 依赖树优化
- 版本冲突解决