Skip to content
Back to skills

Dependency Audit Assistant

ASecurity

Reviews package dependencies for security vulnerabilities, outdated versions, and license compliance. Use when user asks about dependencies, security audits, or before releases.

  • 416 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 7, 2026
developmentjavascriptpythonrustgojavarubyphpbashsqlreact

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add aiskillstore/marketplace --skill dependency-audit-assistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dependency Audit Assistant?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dependency Audit Assistant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-dependency-audit-assistant/badge)](https://www.skillsdirectory.com/skills/aiskillstore-dependency-audit-assistant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dependency-audit-assistant
description: Reviews package dependencies for security vulnerabilities, outdated versions, and license compliance. Use when user asks about dependencies, security audits, or before releases.
allowed-tools: Read, Grep, Glob, Bash
---

# Dependency Audit Assistant

This skill helps audit project dependencies for security vulnerabilities, outdated packages, and license compliance issues.

## When to Use This Skill

- User requests a dependency audit or security check
- Before major releases or deployments
- User asks about outdated packages or vulnerabilities
- License compliance review needed
- User mentions "npm audit", "security", "dependencies", or "vulnerabilities"

## Instructions

### 1. Detect Package Manager

Identify which package manager(s) the project uses:

**JavaScript/Node.js:**
- npm: `package.json` + `package-lock.json`
- Yarn: `package.json` + `yarn.lock`
- pnpm: `package.json` + `pnpm-lock.yaml`

**Python:**
- pip: `requirements.txt` or `setup.py`
- Poetry: `pyproject.toml` + `poetry.lock`
- Pipenv: `Pipfile` + `Pipfile.lock`

**Ruby:**
- Bundler: `Gemfile` + `Gemfile.lock`

**Java:**
- Maven: `pom.xml`
- Gradle: `build.gradle` or `build.gradle.kts`

**Go:**
- Go modules: `go.mod` + `go.sum`

**Rust:**
- Cargo: `Cargo.toml` + `Cargo.lock`

**PHP:**
- Composer: `composer.json` + `composer.lock`

Use Glob to find these files.

### 2. Run Security Audit

Execute the appropriate audit command based on package manager:

**npm:** `npm audit --json` or `npm audit`
**Yarn:** `yarn audit --json` or `yarn audit`
**pnpm:** `pnpm audit --json`
**pip:** `pip-audit` or `safety check`
**Poetry:** `poetry check`
**Bundler:** `bundle audit check --update`
**Maven:** `mvn dependency:tree` + OWASP Dependency Check
**Go:** `go list -m all` + `govulncheck`
**Cargo:** `cargo audit`
**Composer:** `composer audit`

Parse the output to identify:
- Number of vulnerabilities by severity (critical, high, moderate, low)
- Affected packages and versions
- Available fixes (updates or patches)
- CVE identifiers

### 3. Check for Outdated Packages

Identify packages that have newer versions available:

**npm:** `npm outdated --json`
**Yarn:** `yarn outdated --json`
**pip:** `pip list --outdated`
**Poetry:** `poetry show --outdated`
**Bundler:** `bundle outdated`
**Cargo:** `cargo outdated`
**Go:** `go list -u -m all`

Categorize updates:
- **Patch updates** (1.0.0 → 1.0.1): Bug fixes, safe to update
- **Minor updates** (1.0.0 → 1.1.0): New features, usually safe
- **Major updates** (1.0.0 → 2.0.0): Breaking changes, needs testing

### 4. License Compliance Check

Review licenses of all dependencies:

**Steps:**
1. Extract licenses from package metadata
2. Identify license types (MIT, Apache-2.0, GPL, etc.)
3. Flag potentially problematic licenses (GPL, AGPL in commercial projects)
4. Check for unlicensed or unknown licenses
5. Reference the license compatibility matrix in `reference/licenses.md`

**Tools:**
- **npm:** `npx license-checker --json` or `npm-license-crawler`
- **Python:** `pip-licenses`
- **Ruby:** `license_finder`
- **Go:** `go-licenses`

**License categories:**
- **Permissive**: MIT, Apache-2.0, BSD - Usually safe
- **Weak copyleft**: LGPL, MPL - Requires review
- **Strong copyleft**: GPL, AGPL - May restrict commercial use
- **Unknown**: Missing or custom licenses - Needs investigation

### 5. Analyze Dependency Tree

Understand the dependency structure:

**Direct vs Transitive:**
- Direct: Listed in package.json/requirements.txt
- Transitive: Dependencies of dependencies

**Identify issues:**
- Duplicate packages at different versions
- Deep dependency trees (potential for conflicts)
- Abandoned packages (no updates in >2 years)
- High-risk transitive dependencies

**Commands:**
- **npm:** `npm ls --all`
- **Yarn:** `yarn why <package>`
- **pip:** `pipdeptree`
- **Maven:** `mvn dependency:tree`

### 6. Priority Vulnerabilities

Prioritize vulnerabilities based on:

**Severity levels:**
1. **Critical**: Remote code execution, privilege escalation
2. **High**: SQL injection, XSS, authentication bypass
3. **Moderate**: DoS, information disclosure
4. **Low**: Minor issues, edge cases

**Exploitability:**
- Known exploits in the wild
- PoC (Proof of Concept) available
- Requires special conditions

**Exposure:**
- Production dependencies vs dev dependencies
- Direct dependencies vs deep transitive dependencies
- Code paths actually used in the application

### 7. Generate Recommendations

For each issue found, provide:

**Vulnerabilities:**
```
Package: lodash@4.17.15
Severity: High
CVE: CVE-2020-8203
Issue: Prototype pollution
Recommendation: Upgrade to lodash@4.17.21 or higher
Command: npm install lodash@4.17.21
```

**Outdated packages:**
```
Package: react@16.14.0
Current: 16.14.0
Latest: 18.2.0
Type: Major update
Recommendation: Test thoroughly before upgrading (breaking changes)
Notes: Review migration guide at https://react.dev/blog/2022/03/08/react-18-upgrade-guide
```

**License issues:**
```
Package: some-gpl-library@1.0.0
License: GPL-3.0
Issue: GPL license may conflict with proprietary code
Recommendation: Find alternative with permissive license or consult legal
Alternatives: [list of similar packages with MIT/Apache licenses]
```

### 8. Update Strategy

Suggest an update approach:

**Safe updates (automated):**
- Patch updates with no breaking changes
- Security fixes for vulnerabilities
- Update: `npm update` or `npm audit fix`

**Careful updates (manual testing):**
- Minor version bumps
- Major updates to well-maintained packages
- Update individually and test

**Research needed:**
- Major breaking changes
- Abandoned packages (find alternatives)
- License conflicts

### 9. Generate Summary Report

Provide a comprehensive audit summary:

```
Dependency Audit Report
=======================

Overview:
- Total dependencies: 150 (120 direct, 30 transitive)
- Vulnerabilities: 5 (1 high, 3 moderate, 1 low)
- Outdated packages: 23
- License issues: 2

Security Vulnerabilities:
[List by severity with fix recommendations]

Outdated Packages:
[Categorized by update type: patch/minor/major]

License Compliance:
[List of licenses with any concerns]

Recommended Actions:
1. [Immediate] Fix high-severity vulnerabilities
2. [Soon] Update packages with moderate vulnerabilities
3. [Review] Address license compliance issues
4. [Optional] Update outdated packages to latest

Commands to run:
npm audit fix  # Fix vulnerabilities automatically
npm update     # Update to latest compatible versions
```

### 10. Continuous Monitoring

Suggest ongoing practices:

- **Automated audits**: Run in CI/CD pipeline
- **Dependabot/Renovate**: Auto-create PRs for updates
- **Regular reviews**: Monthly or quarterly audits
- **Security alerts**: Enable GitHub/GitLab security alerts
- **Lock files**: Commit lock files for reproducible builds

## Best Practices

1. **Fix vulnerabilities promptly**: Especially high/critical severity
2. **Test updates**: Even patch updates can cause issues
3. **Read changelogs**: Understand what changed before updating
4. **Use lock files**: Ensure consistent installations across environments
5. **Minimize dependencies**: Fewer deps = smaller attack surface
6. **Review new additions**: Audit before adding new dependencies
7. **Stay current**: Regular updates are easier than large jumps
8. **Document decisions**: Why certain packages are pinned or not updated

## Security Best Practices

- Never commit secrets in dependencies or env files
- Review dependency source code for popular/critical packages
- Use private registries for internal packages
- Enable 2FA on package registry accounts
- Use SRI (Subresource Integrity) for CDN resources
- Scan container images if using Docker

## Supporting Files

- `scripts/check-licenses.sh`: Extract and check license information
- `reference/licenses.md`: License compatibility matrix
- `reference/common-vulnerabilities.md`: Common vulnerability patterns

## Common Commands Reference

**npm:**
```bash
npm audit                 # Show vulnerabilities
npm audit fix            # Auto-fix vulnerabilities
npm audit fix --force    # Force major updates
npm outdated            # Check for outdated packages
npm update              # Update to latest compatible
```

**Yarn:**
```bash
yarn audit               # Show vulnerabilities
yarn upgrade-interactive # Interactive update
yarn outdated           # Check for outdated
```

**pip:**
```bash
pip-audit               # Audit vulnerabilities
pip list --outdated     # Check outdated
pip install --upgrade   # Update package
```

**Poetry:**
```bash
poetry check            # Check lock file
poetry show --outdated  # Show outdated
poetry update           # Update packages
```

**Cargo:**
```bash
cargo audit             # Audit vulnerabilities
cargo outdated          # Check outdated
cargo update            # Update packages
```

Files in this skill

  • SKILL.md8.7 KB
  • reference/common-vulnerabilities.md8.6 KB
  • reference/licenses.md8 KB
  • scripts/check-licenses.sh4.8 KB
  • skill-report.json8.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…