Audit des Dépendances

VérifiéPrudence

Analyse les dépendances d'un projet pour identifier les vulnérabilités de sécurité connues en utilisant npm audit, pip-audit ou des outils similaires.

Spar Skills Guide Bot
SecuriteIntermédiaire
01/03/2026
Claude CodeCursorWindsurfCopilotCodex
#dependencies#vulnerability-scanning#cve#npm#supply-chain

Recommandé pour

Synthèse automatique

Ce skill guide l'audit des dépendances d'un projet avec npm audit, pip-audit, govulncheck ou bundle audit afin d'identifier les vulnérabilités connues et de les corriger.

Points forts

  • Couvre plusieurs écosystèmes (npm, yarn, pip, Go, Ruby) avec les commandes exactes
  • Fournit une grille de priorisation par sévérité CVSS avec des délais d'action clairs
  • Détaille les cas difficiles : dépendances transitives via overrides et absences de correctifs
  • Inclut un modèle de rapport et une intégration CI/CD avec échec au seuil haut

Limites

  • S'appuie uniquement sur les bases de vulnérabilités des outils d'audit, sans analyse du code réel
  • Ne traite pas la gestion des secrets ni les licences
  • Le correctif automatique npm audit fix peut introduire des changements majeurs non testés
Quand l'utiliser

À utiliser lorsqu'on veut vérifier les CVE d'un projet, préparer une montée de version de sécurité ou ajouter un contrôle d'audit en CI.

Quand l'éviter

À ne pas utiliser pour un audit de sécurité applicatif complet, qui exige une revue du code et des tests de pénétration.

Analyse de sécurité

Prudence
Score qualité88/100

The skill is a legitimate dependency-auditing guide using standard package-manager tools. It does not contain destructive, exfiltrating, or obfuscated actions, but it does instruct agents to run commands that install packages and modify dependency trees, so it warrants caution rather than being fully safe.

Points d'attention
  • •Runs package-manager commands that access the network and can modify dependencies, such as npm audit fix, pip install pip-audit, and bundle audit --update.
  • •Recommends npm audit fix --force, which can introduce breaking dependency changes.
  • •No allowed-tools are declared even though the skill provides executable bash commands.
Comment cette analyse est faite

Exemples

Audit complet d'un projet Node
Audite les dépendances de ce projet Node.js, liste les vulnérabilités par sévérité et propose les commandes de correction.
Corriger une dépendance transitive
npm audit signale une faille dans une sous-dépendance de lodash. Montre-moi l'arbre de dépendances et comment forcer une version corrigée avec overrides.
Blocage en CI
Ajoute une étape GitHub Actions qui fait échouer le build si npm audit détecte des vulnérabilités de niveau high ou critical.

name: dependency-audit description: Analyzes project dependencies for known security vulnerabilities using npm audit, pip-audit, or similar tools. Use when auditing packages, checking for CVEs, or updating vulnerable dependencies.

Dependency Audit

Quick Start

Audit dependencies based on project type:

# Node.js
npm audit

# Python
pip-audit

# Go
govulncheck ./...

Instructions

Step 1: Identify Package Manager

Check for manifest files:

  • package.json / package-lock.json → npm/yarn
  • requirements.txt / pyproject.toml → pip
  • go.mod → Go modules
  • Cargo.toml → Cargo (Rust)
  • Gemfile → Bundler (Ruby)

Step 2: Run Audit

Node.js (npm):

npm audit
npm audit --json  # Machine-readable output

Node.js (yarn):

yarn audit
yarn audit --json

Python:

pip install pip-audit
pip-audit
pip-audit -r requirements.txt

Go:

govulncheck ./...

Ruby:

bundle audit check --update

Step 3: Analyze Results

Categorize by severity:

| Severity | CVSS | Action | |----------|------|--------| | Critical | 9.0+ | Update immediately | | High | 7.0-8.9 | Update within 24h | | Moderate | 4.0-6.9 | Update this sprint | | Low | < 4.0 | Update when convenient |

Step 4: Fix Vulnerabilities

npm - Auto-fix:

npm audit fix
npm audit fix --force  # Breaking changes allowed

npm - Manual update:

npm update vulnerable-package
# or specific version
npm install vulnerable-package@2.0.0

Python - Update package:

pip install --upgrade vulnerable-package
# or pin safe version in requirements.txt
vulnerable-package>=2.0.0

Step 5: Verify Fixes

Re-run audit to confirm:

npm audit  # Should show 0 vulnerabilities
pip-audit  # Should show no issues

Common Scenarios

Transitive Dependencies

When vulnerability is in a sub-dependency:

# Check dependency tree
npm ls vulnerable-package

# Force resolution (npm)
# Add to package.json:
{
  "overrides": {
    "vulnerable-package": "2.0.0"
  }
}

No Fix Available

When no patched version exists:

  1. Check if vulnerability affects your usage
  2. Consider alternative packages
  3. Implement workarounds if possible
  4. Monitor for updates

Breaking Changes

When fix requires major version bump:

  1. Review changelog for breaking changes
  2. Update code to accommodate changes
  3. Run tests thoroughly
  4. Consider gradual rollout

Report Format

## Dependency Audit Report

**Project:** my-app
**Date:** 2024-01-15
**Total Dependencies:** 245
**Vulnerabilities Found:** 3

### Critical (1)

**lodash** - Prototype Pollution
- Installed: 4.17.15
- Fixed in: 4.17.21
- CVE: CVE-2021-23337
- Fix: `npm install lodash@4.17.21`

### High (1)

**axios** - SSRF Vulnerability
- Installed: 0.21.0
- Fixed in: 0.21.2
- CVE: CVE-2021-3749
- Fix: `npm install axios@0.21.2`

### Moderate (1)

**minimist** - Prototype Pollution
- Installed: 1.2.5
- Fixed in: 1.2.6
- CVE: CVE-2021-44906
- Fix: `npm audit fix`

CI/CD Integration

GitHub Actions

- name: Audit dependencies
  run: |
    npm audit --audit-level=high
    # Fails if high or critical vulnerabilities found

Pre-commit

# package.json scripts
{
  "scripts": {
    "precommit": "npm audit --audit-level=moderate"
  }
}

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/dependency-audit-mm78noi6/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/dependency-audit-mm78noi6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/dependency-audit-mm78noi6/download' --output '.skill-downloads/dependency-audit-mm78noi6/SKILL.md.part' && mv '.skill-downloads/dependency-audit-mm78noi6/SKILL.md.part' '.skill-downloads/dependency-audit-mm78noi6/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && test -s '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/dependency-audit' && cp -R '.skill-downloads/dependency-audit-mm78noi6' '.claude/skills/dependency-audit'

Cursor
test -f '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && test -s '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/dependency-audit' && cp -R '.skill-downloads/dependency-audit-mm78noi6' '.cursor/skills/dependency-audit'

Codex
test -f '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && test -s '.skill-downloads/dependency-audit-mm78noi6/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/dependency-audit' && cp -R '.skill-downloads/dependency-audit-mm78noi6' '.agents/skills/dependency-audit'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/dependency-audit-mm78noi6'

openskills read 'dependency-audit-mm78noi6'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/dependency-audit-mm78noi6/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires