dependency-audit
Use when auditing project dependencies for security vulnerabilities, outdated packages, or license compliance across npm/yarn/pnpm, pip, go, and cargo.
How do I install this agent skill?
npx skills add https://github.com/wu529778790/shenzjd-skills --skill dependency-auditIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides dependency auditing and security scanning for multiple programming ecosystems. It uses standard industry tools to detect vulnerabilities and license compliance issues.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Dependency Audit
扫描项目依赖,检测安全漏洞、过时包和 license 合规问题。
Overview
全面审计项目依赖:CVE 漏洞扫描、过时依赖检测、license 合规检查、重复依赖分析。输出按严重程度排序的安全报告和可执行的修复命令。
When to Use
- User wants to check dependency security
- User mentions CVE, vulnerability, or audit
- User wants to know outdated dependencies
- User says "审计依赖" / "check dependencies"
- User inputs
/dependency-audit
When NOT to Use:
- User only wants to update versions
- User wants code-level security review
- User wants to analyze runtime dependencies
- User wants deep license analysis
- User wants to scan Docker images
Core Pattern
Step 1: 检测包管理器
| 检测文件 | 包管理器 | 审计命令 |
|---|---|---|
package-lock.json | npm | npm audit |
yarn.lock | yarn | yarn audit |
pnpm-lock.yaml | pnpm | pnpm audit |
go.sum | Go | govulncheck ./... |
requirements.txt / Pipfile.lock | Python | pip-audit |
Cargo.lock | Rust | cargo audit |
Step 2: 漏洞扫描
# 工具可用性检查(所有步骤共用)
check_tool() {
command -v "$1" >/dev/null 2>&1 || { echo "⚠️ $1 未安装,跳过 $2 审计"; return 1; }
}
核心命令(按包管理器分别执行,缺失工具自动跳过):
⚠️
npm audit在发现漏洞时退出码非 0 —— 不要用if npm audit ...; then判断成功,直接解析--json输出:
| 包管理器 | 审计命令 |
|---|---|
| npm | npm audit --json | jq '.metadata.vulnerabilities.total' → 解析 vulnerabilities 数量 + 严重程度(勿依赖退出码) |
| Go | govulncheck ./... → 安装 golang.org/x/vuln/cmd/govulncheck@latest |
| Python | pip-audit → 安装: pip install pip-audit |
输出:漏洞总数 + 按严重程度(critical/high/medium/low)分类的 CVE 列表。
Step 3: 过时依赖检测
核心命令(按包管理器分别执行,缺失工具自动跳过):
| 包管理器 | 检测命令 |
|---|---|
| npm | npx npm-check-updates --format table |
| Go | go list -m -u all | grep "\[" |
| Python | pip list --outdated |
统计:过时依赖数量、major/minor/patch 升级分布、是否有安全相关更新。
Step 4: License 合规检查
核心命令(按包管理器分别执行):
| 包管理器 | 检测命令 |
|---|---|
| npm | npx license-checker --json → 按许可证类型统计数量 |
| Go | go-licenses csv ./... → 安装: go install github.com/google/go-licenses@latest |
检测重点:GPL/AGPL 等 copyleft 许可证、未知/自定义许可证、许可证兼容性。
Step 5: 生成报告
使用 templates/audit-report.md 模板,输出:
- 安全概览 — 漏洞数量和严重程度分布
- 高危漏洞 — 需要立即修复的 CVE
- 过时依赖 — 按升级难度排序
- License 合规 — 风险许可证列表
- 修复命令 — 每个问题附带可执行命令
Quick Reference
/dependency-audit # 完整审计
/dependency-audit --security # 只检查安全漏洞
/dependency-audit --licenses # 只检查 license
/dependency-audit --fix # 自动修复可安全升级的依赖
| 参数 | 说明 | 默认值 |
|---|---|---|
--security | 只检查安全漏洞 | false |
--licenses | 只检查 license 合规 | false |
--fix | 自动修复 | false |
Common Mistakes
| 错误 | 正确做法 | 原因 |
|---|---|---|
| 只看 high/critical | medium 也需要关注 | 很多攻击链从 medium 升级而来 |
| 盲目升级所有依赖 | 逐个升级并测试 | major 升级可能有 breaking changes |
| 不检查 transitive 依赖 | 分析完整依赖树 | 漏洞常出在间接依赖中 |
| 忽略 license 合规 | 定期检查 license | GPL 传染性风险 |
| audit 后不更新 lock 文件 | 重新生成 lock 文件 | 确保修复生效 |
| 忽略已弃用的依赖 | 检查弃用警告 | 弃用包可能有安全风险 |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/wu529778790/shenzjd-skills/dependency-audit">View dependency-audit on skillZs</a>