Audit project dependencies, frameworks, languages, and dev tools for known vulnerabilities, CVEs, and security anti-patterns. Use when the user mentions 'dependency audit,' 'npm audit,' 'CVE,' 'vulnerable packages,' 'supply chain security,' 'outdated dependencies,' 'known vulnerabilities,' 'security advisory,' 'package security,' 'framework vulnerability,' 'is this package safe,' or needs to check whether their stack has known security issues.
65
78%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/dependency-audit/SKILL.mdAudit project dependencies, frameworks, language runtimes, and dev tools for known vulnerabilities (CVEs), security anti-patterns, and supply chain risks.
Identify everything in use — not just direct dependencies but the full chain:
Package manifests — read and catalog:
Node/JS: package.json, package-lock.json, yarn.lock, pnpm-lock.yaml
Python: requirements.txt, Pipfile.lock, pyproject.toml, poetry.lock
Ruby: Gemfile, Gemfile.lock
Go: go.mod, go.sum
Rust: Cargo.toml, Cargo.lock
Java: pom.xml, build.gradle
PHP: composer.json, composer.lock
.NET: *.csproj, packages.configFramework and runtime versions:
Dev tools and CI/CD:
Run the appropriate audit command for the project:
# Node.js
npm audit
npm audit --json # For structured output
# Python
pip audit # If pip-audit installed
safety check # If safety installed
# Ruby
bundle audit
# Go
govulncheck ./...
# Rust
cargo audit
# PHP
composer audit
# .NET
dotnet list package --vulnerable
# Docker
docker scout cves <image>
trivy image <image>
# General (if Trivy is available)
trivy fs .Beyond CVEs in packages, check for known vulnerability patterns specific to the framework in use. Search for recent advisories and common misconfiguration issues.
Next.js / React:
dangerouslySetInnerHTML without sanitizationnext/image with unrestricted domains).env files in public directory or client bundle (NEXT_PUBLIC_ prefix leaking secrets)next.config.js security headersDjango:
*)@csrf_exempt on state-changing viewsextra(), raw(), or RawSQL without parameterizationRails:
where("column = '#{input}'")Express / Node.js:
Object.assign, lodash.merge, deep-extendreq.params in file serving routeseval() or Function() with user inputSpring / Java:
Laravel / PHP:
$fillable / $guardedWordPress:
Beyond known CVEs, look for supply chain attack indicators:
Dependency confusion / substitution:
.npmrc or pip.conf scoping to private registryTyposquatting:
Malicious packages:
scripts.postinstall in package.json)Maintenance risk:
Lockfile integrity:
npm ci not npm install, pip install --require-hashes)?GitHub Actions:
pull_request_target trigger with checkout of PR code (code injection risk)uses: actions/checkout@main vs @v4.1.0 or SHA pin)${{ github.event.issue.title }} in run: blocksDocker:
USER directive)trivy or docker scout)docker history)latest tag instead of pinned versionTerraform / IaC:
.tf files# Dependency & Stack Security Audit
## Project: [name]
## Stack: [language, framework, key tools]
## Date: [date]
### Stack Inventory
| Component | Version | Latest | Status |
|-----------|---------|--------|--------|
### Known Vulnerabilities (CVEs)
| Package | Installed | Vuln | Severity | CVE | Fix Version |
|---------|-----------|------|----------|-----|-------------|
### Framework-Specific Issues
#### [SEVERITY] [Title]
**Component:** [framework/tool name and version]
**Issue:** [description]
**Evidence:** [code or config snippet]
**Remediation:** [specific fix]
### Supply Chain Risks
| Risk | Package/Component | Details | Remediation |
|------|-------------------|---------|-------------|
### Dev Tool / CI Security
| Tool | Issue | Severity | Remediation |
|------|-------|----------|-------------|
### Prioritized Action Plan
1. [Critical — actively exploited CVEs, RCE vulnerabilities]
2. [High — known CVEs with public exploits, supply chain risks]
3. [Medium — framework misconfigurations, outdated dependencies]
4. [Low — maintenance risks, best practice improvements]2400590
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.