name: dependency-management description: 依赖管理专家。用于更新依赖项、扫描漏洞、分析依赖树或确保许可证合规性。处理 npm、pip、maven 和其他包管理器。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill
依赖管理
此技能管理项目依赖项,包括更新、漏洞扫描、许可证合规性和依赖树优化。
何时使用此技能
- 更新项目依赖项时
- 扫描安全漏洞时
- 分析依赖树时
- 确保许可证合规性时
- 解决版本冲突时
- 优化依赖项使用时
此技能的功能
- 依赖项分析:识别未使用的依赖项和版本冲突
- 漏洞扫描:查找并修复已知的安全漏洞
- 许可证合规性:验证依赖项许可证的兼容性
- 安全更新:通过测试和验证更新依赖项
- 树优化:优化依赖树并减少冗余
- 版本管理:解决版本冲突并进行更新
辅助脚本
此技能包含位于 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:漏洞扫描
输入:扫描漏洞
输出:
## 依赖项漏洞扫描
### 严重漏洞
**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. **版本固定**:固定关键依赖项的版本
## 相关用例
- 依赖项更新
- 安全漏洞扫描
- 许可证合规性
- 依赖树优化
- 版本冲突解决