dependency-auditor
Checks Python requirements.txt for vulnerabilities, license compatibility, and dependency conflicts.
Install
mkdir -p .claude/skills/dependency-auditor-moshesham && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10445" && unzip -o skill.zip -d .claude/skills/dependency-auditor-moshesham && rm skill.zipInstalls to .claude/skills/dependency-auditor-moshesham
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Dependency and license review for Python projects. Use when: auditing requirements.txt, checking for vulnerabilities, reviewing licenses, updating dependencies, managing version constraints.Key capabilities
- →Audit requirements.txt
- →Check for vulnerabilities
- →Review dependency licenses
- →Manage version constraints
How it works
It uses tools like pip-audit and safety to check for vulnerabilities and license compliance in Python dependencies.
Inputs & outputs
When to use dependency-auditor
- →Security auditing of requirements files
- →Checking dependency licenses for commercial use
- →Resolving Python version conflicts
About this skill
Dependency Auditor
When to Use
- Reviewing
requirements.txtfor security issues - Checking dependency licenses for compatibility
- Updating outdated packages
- Resolving dependency conflicts
- Adding new dependencies safely
Security Auditing
Using pip-audit
# Install pip-audit
pip install pip-audit
# Audit current environment
pip-audit
# Audit requirements file
pip-audit -r requirements.txt
# Output as JSON for CI
pip-audit --format json -o audit-results.json
Using safety
# Install safety
pip install safety
# Check dependencies
safety check -r requirements.txt
# With API key for full database
safety check --key $SAFETY_API_KEY -r requirements.txt
GitHub Actions Integration
- name: Security audit
run: |
pip install pip-audit
pip-audit -r requirements.txt --strict
License Compliance
Checking Licenses
# Install pip-licenses
pip install pip-licenses
# List all licenses
pip-licenses --format=markdown
# Check for problematic licenses
pip-licenses --fail-on="GPL;AGPL"
# Output as JSON
pip-licenses --format=json -o licenses.json
Common License Categories
| License | Commercial Use | Copyleft |
|---|---|---|
| MIT | ✅ | No |
| Apache-2.0 | ✅ | No |
| BSD-3-Clause | ✅ | No |
| GPL-3.0 | ⚠️ Careful | Yes |
| AGPL-3.0 | ⚠️ Careful | Yes (network) |
Safe Licenses for This Project
MIT
Apache-2.0
BSD-2-Clause
BSD-3-Clause
ISC
Python-2.0
PSF-2.0
Version Management
Version Constraint Patterns
# Exact (reproducible but no security updates)
requests==2.31.0
# Compatible release (recommended)
requests~=2.31.0 # >=2.31.0, <2.32.0
# Minimum with ceiling
requests>=2.31.0,<3.0.0
# Avoid: no upper bound
requests>=2.31.0 # Risky
Update Strategy
# Check for outdated packages
pip list --outdated
# Update a specific package
pip install --upgrade requests
# Generate updated requirements
pip freeze > requirements.txt
Using pip-tools
# Install pip-tools
pip install pip-tools
# Define abstract requirements in requirements.in
# Then compile to pinned requirements.txt
pip-compile requirements.in
# Update all
pip-compile --upgrade requirements.in
Dependency Review Checklist
For each new dependency:
- Purpose: Does it solve a real need?
- Maintenance: Last commit < 6 months? Active maintainers?
- Popularity: Sufficient downloads/stars?
- License: Compatible with project license?
- Security: Any known vulnerabilities?
- Size: Reasonable dependency footprint?
- Alternatives: Is there a lighter option?
requirements.txt Best Practices
# requirements.txt
# Core dependencies (pinned for reproducibility)
requests==2.31.0
beautifulsoup4==4.12.2
playwright==1.40.0
# Database
psycopg2-binary==2.9.9
pgvector==0.2.4
# AI/ML (careful with large packages)
openai==1.6.0
# Development (separate file: requirements-dev.txt)
# pytest==7.4.3
# black==23.12.0
Anti-patterns
- Unpinned versions:
requestsinstead ofrequests==2.31.0 - No dev separation: Mix test tools with production deps
- Giant packages: Bringing in pandas for one function
- Ignoring CVEs: Not running security audits in CI
- License ignorance: Using GPL in proprietary code
- Stale dependencies: Not updating for years
CI Integration
name: Dependency Audit
on:
schedule:
- cron: '0 0 * * 1' # Weekly
pull_request:
paths:
- 'requirements*.txt'
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Security audit
run: |
pip install pip-audit
pip-audit -r requirements.txt
- name: License check
run: |
pip install pip-licenses
pip-licenses --fail-on="GPL;AGPL"
When not to use it
- →Non-Python projects
Limitations
- →Requires manual resolution of conflicts
- →Requires API keys for full safety database
How it compares
This provides a structured, automated security and license audit compared to manual dependency checking.
Compared to similar skills
dependency-auditor side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| dependency-auditor (this skill) | 0 | 4mo | Review | Beginner |
| security-header-generator | 5 | 9mo | Caution | Intermediate |
| backend-security-coder | 24 | 4mo | No flags | Intermediate |
| prowler-api | 1 | 2mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by moshesham
View all by moshesham →You might also like
security-header-generator
Dexploarer
Generates security HTTP headers (CSP, HSTS, CORS, etc.) for web applications to prevent common attacks. Use when user asks to "add security headers", "setup CSP", "configure CORS", "secure headers", or "HSTS setup".
backend-security-coder
sickn33
Expert in secure backend coding practices specializing in input validation, authentication, and API security. Use PROACTIVELY for backend security implementations or security code reviews.
prowler-api
prowler-cloud
Prowler API patterns: RLS, RBAC, providers, Celery tasks. Trigger: When working in api/ on models/serializers/viewsets/filters/tasks involving tenant isolation (RLS), RBAC, or provider lifecycle.
data-validation-schemas
Harmitx7
Data validation and schema design mastery. Zod, Yup, Joi, Valibot, and Pydantic schema design, runtime type checking, API boundary validation, form validation patterns, DTO design, schema composition, error message formatting, schema evolution strategies, and coercion rules. Use when validating user
django-insights
carlosapgomes
Diagnóstico de saúde para projetos Django: performance, segurança e arquitetura.
backend-development
hoadh
Build backends with Node.js, Python, Go (NestJS, FastAPI, Django). Use for REST/GraphQL/gRPC APIs, auth (OAuth, JWT), databases, microservices, security (OWASP), Docker/K8s.