Retour au blog
Sécurité7 min

OWASP A06:2021 – Composants Vulnérables

Gérer les risques liés aux bibliothèques et dépendances tierces.

Équipe Eurinhash

Analyste en Cybersécurité

Qu'est-ce que les Composants Vulnérables ?

Les applications modernes reposent massivement sur des bibliothèques tierces, des frameworks et des modules open source. La catégorie Vulnerable and Outdated Components concerne les failles introduites par l'utilisation de dépendances obsolètes ou vulnérables.

Cette problématique est critique car une seule dépendance compromise peut mettre en danger toute l'application.

Exemples Courants de Failles

  1. Dépendances non mises à jour : Utilisation de versions anciennes avec des CVE connues.
  2. Bibliothèques abandonnées : Projets non maintenus par leurs auteurs.
  3. Chaîne d'approvisionnement compromise : Packages malveillants publiés sur npm, PyPI, etc.
  4. Conflits de versions : Plusieurs versions d'une même bibliothèque dans le projet.

Comment se protéger ?

Adoptez une gestion rigoureuse de vos dépendances :

  • Inventaire des composants : Maintenez un SBOM (Software Bill of Materials).
  • Surveillance des vulnérabilités : Utilisez des outils comme npm audit, Snyk, ou Dependabot.
  • Politique de mise à jour : Mettez à jour régulièrement selon un calendrier défini.
  • Vérification des sources : Téléchargez uniquement depuis des registres officiels.

[!TIP] Intégrez npm audit ou pnpm audit dans votre pipeline CI/CD pour bloquer les dépendances vulnérables avant le déploiement.

# Vérifier les vulnérabilités dans votre projet
npm audit
 
# Mettre à jour les dépendances
npm update
 
# Utiliser npm-check-updates pour voir les versions disponibles
npx npm-check-updates -u
 
# Pour pnpm
pnpm audit
pnpm outdated

Outils Recommandés

OutilDescription
npm audit / pnpm auditAnalyse native des vulnérabilités npm/pnpm
DependabotMises à jour automatiques via GitHub
SnykScanner de vulnérabilités avancé
OWASP Dependency-CheckAnalyse les dépendances Java, .NET, Node.js
RenovateAlternative open source à Dependabot
// package.json - Exemple de configuration de sécurité
{
  "scripts": {
    "audit": "npm audit --audit-level=high",
    "prebuild": "npm audit --audit-level=critical"
  },
  "overrides": {
    "minimist": "^1.2.6",
    "lodash": "^4.17.21"
  }
}

Restez en veille

Inscrivez-vous pour recevoir nos prochaines analyses techniques directement dans votre terminal.