Engineering Advanced DependenciesSecurityCompliance

Dependency Auditor

Multi-language scanner, license compliance, and upgrade planner.

$skillfish add ~skills/dependency-auditor

Real Conversations

See how the Dependency Auditor skill responds to actual requests. These are representative examples of what your AI agent will produce.

You

We're releasing v2.1.0 next week. I want a full CVE scan of our Node.js project before we ship. We have 847 direct and transitive dependencies. Any critical ones will block the release.

Agent

Here's what a full audit of your 47-dependency Node 18 project looks like. I'll scan package.json and your lockfile, cross-reference against the OSS Vulnerability Database (NVD + GitHub Advisory Database), and separate results into action tiers.

Vulnerability Summary

Dependency Audit — Node 18 Project
════════════════════════════════════
Scanned: 47 direct / 312 transitive dependencies
Vulnerabilities found: 9

CRITICAL (2) — FIX BEFORE NEXT DEPLOY
MEDIUM (4) — FIX WITHIN 2 WEEKS
LOW (3) — TRACK, LOW URGENCY

Critical — Fix Now

Package Version CVE CVSS Issue Fix
jsonwebtoken 8.5.1 CVE-2022-23529 8.8 Secret forgery via malformed JWT header — attacker can bypass signature verification npm install jsonwebtoken@9.0.0
vm2 3.9.11 CVE-2023-29017 9.8 Sandbox escape → RCE on host process npm install vm2@3.9.19 or migrate to isolated-vm

Why these can't wait: Both are exploitable remotely without authentication. jsonwebtoken is auth infrastructure — a bypass means any session token can be forged. vm2 RCE is a full system compromise vector if you're executing untrusted code.

Medium — Fix Within Two Weeks

Package Version CVE Issue Fix
express 4.17.3 CVE-2022-24999 ReDoS via qs query string parsing npm install express@4.18.2
axios 0.21.4 CVE-2023-45857 CSRF via credential leak in redirects npm install axios@1.6.0
semver 5.7.1 CVE-2022-25883 ReDoS on untrusted version strings npm install semver@7.5.4
word-wrap 1.2.3 CVE-2023-26115 ReDoS — low traffic risk npm install word-wrap@1.2.4

ReDoS vulnerabilities matter most if user input reaches the affected code paths. Check whether your app passes request data to qs parsing or semver comparisons — if yes, treat these as high priority.

Low — Track and Monitor

Package CVE Issue
tough-cookie CVE-2023-26136 Prototype pollution — only a risk in server-side cookie parsing
minimatch CVE-2022-3517 ReDoS — internal tooling use only
debug CVE-2017-20165 Ancient DoS — no realistic attack path in current versions

Outdated Packages (non-CVE)

Package          Current   Latest   Lag       Notes
─────────────────────────────────────────────────────
react            18.0.0    18.3.1   minor     Bug fixes, no breaking changes
typescript       4.9.5     5.4.3    MAJOR     Stricter inference — test before upgrading
@types/node      18.11.0   20.11.0  MAJOR     Node 20 types if staying on 18 is fine
prisma           4.15.0    5.10.0   MAJOR     v5 has breaking schema changes
eslint           8.33.0    8.57.0   minor     Safe upgrade
webpack          5.75.0    5.90.0   minor     Performance fixes

Decision Framework

Fix now (this week):

  • Any CRITICAL CVE — RCE, auth bypass, privilege escalation (CVSS ≥ 8.0)
  • Any CVE on a package in your authentication or payment flow, regardless of CVSS score
  • Critical CVEs in transitive deps where a patch is available via the direct dep

Fix within 2 weeks:

  • MEDIUM CVEs (CVSS 4–7.9) where your app is in the affected code path
  • ReDoS issues where user-controlled input reaches the vulnerable parser

Next sprint / planned work:

  • LOW CVEs with no realistic attack path in your architecture
  • Outdated packages without CVEs — bundle these into a "dependency hygiene" sprint
  • Major version upgrades (TypeScript 5, Prisma 5) — these need dedicated testing time

Verification Commands

# Run npm's built-in audit
npm audit

# Get the same data as JSON for CI integration
npm audit --json | jq '.vulnerabilities | keys[]'

# Check a specific package version's advisories
npm audit --json | jq '.vulnerabilities.jsonwebtoken'

# After applying fixes, verify clean
npm audit fix --dry-run  # preview what auto-fix would do
npm audit fix            # apply safe (non-breaking) fixes
npm audit fix --force    # apply breaking fixes — test thoroughly

The two criticals (jsonwebtoken and vm2) should be patched, tested, and deployed to production before any other work. The jsonwebtoken@9 upgrade has a breaking API change in the verify() callback — review your token verification code before deploying.

Get Started

How to install and use this skill in your preferred environment.

Skills are designed for AI coding agents (Claude Code, Cursor, Windsurf) and IDE-based workflows where the agent can read files, run scripts, and act on your codebase. Web-based AI can use the knowledge and frameworks, but won't have tool access.

Models & Context

Which AI models and context windows work best with this skill.

Recommended Models

Best
Claude Opus 4 Claude Sonnet 4 GPT-4.1 Gemini 2.5 Pro Grok 3 Kimi K2
Good
Claude Haiku 4.5 GPT-4.1 mini Gemini 2.5 Flash Grok 3 mini

Larger models produce more detailed, production-ready outputs.

Context Window

This skill's SKILL.md is typically 3–10 KB — fits in any modern context window.

8K Skill only
32K+ Skill + conversation
100K+ Skill + references + codebase

All current frontier models (Claude, GPT, Gemini) support 100K+ context. Use the full window for complex multi-service work.

Pro tips for best results

1

Be specific

Include numbers — users, budget, RPS — so the skill can size the architecture.

2

Share constraints

Compliance needs, team size, and existing stack all improve the output.

3

Iterate

Start with a high-level design, then ask follow-ups for IaC, cost analysis, or security review.

4

Combine skills

Pair with companion skills below for end-to-end coverage.

Ready to try Dependency Auditor?

Install the skill and start getting expert-level guidance in your workflow — any agent, any IDE.

$skillfish add ~skills/dependency-auditor
← Browse all 169 skills