依赖管理Skill dependency-management

依赖管理技能是一个用于自动化管理软件项目依赖项的工具。它专注于依赖更新、安全漏洞扫描、许可证合规检查、依赖树分析和版本冲突解决。支持 npm、pip、maven 等主流包管理器,帮助开发者和 DevOps 团队提升项目安全性、合规性和维护效率。关键词:依赖管理、安全漏洞扫描、许可证合规、依赖更新、包管理器、DevOps、软件安全、版本控制。

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 outdatednpm 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.  **版本固定**:固定关键依赖项的版本

## 相关用例

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