Partie 12 — Dépendances & supply chain
⏱️ TL;DR — Ton code, c’est peut-être 5 % de ce qui tourne en prod ; les 95 % restants sont des dépendances — du code tiers que tu exécutes avec les droits de ton appli. C’est une surface d’attaque énorme et un risque transversal (Top 10 OWASP). Deux menaces : les vulnérabilités connues (une CVE dans un paquet que tu utilises) — parade :
npm audit/composer audit+ Dependabot, mises à jour rapides, lockfiles ; et les attaques de supply chain (un paquet compromis ou malveillant) — typosquatting, mainteneur piraté, scripts post-install hostiles. On se protège par l’hygiène (verrouiller, auditer, minimiser), l’intégrité (SRI, lockfiles), et la traçabilité (SBOM, provenance).
Le problème qu’on résout
L’écosystème moderne repose sur la réutilisation : npm, Composer, PyPI… On installe une dépendance, qui en tire dix autres, et ainsi de suite — jusqu’à des centaines de paquets, écrits par des inconnus, exécutés chez toi. Chaque ligne de ce code tiers peut contenir une faille (exploitable via ton appli) ou, pire, du code malveillant (injecté par un attaquant qui a compromis le paquet). Des incidents réels et retentissants (paquets populaires vérolés, mainteneurs piratés, dépendances typosquattées) ont montré que la supply chain est une cible de choix : compromettre un paquet populaire, c’est atteindre des milliers d’applis d’un coup.
Cette partie t’apprend à gérer ce risque : surveiller les vulnérabilités, verrouiller et vérifier ce que tu installes, et réduire la surface.
Ce que tu sauras faire à la fin de cette partie
- Comprendre le risque supply chain et pourquoi une dépendance est du code exécuté avec tes droits.
- Surveiller les vulnérabilités connues (CVE) :
npm audit,composer audit, Dependabot, en CI. - Verrouiller les versions (lockfiles), installer de façon reproductible, et minimiser les dépendances.
- Reconnaître les attaques : typosquatting, scripts post-install, mainteneur compromis.
- Assurer l’intégrité (SRI pour les ressources externes) et la traçabilité (SBOM, provenance).
Les chapitres
| # | Chapitre | En un mot |
|---|---|---|
| 12.1 | CVE, audit & Dependabot | Vulnérabilités connues, audit, mises à jour automatisées, CI. |
| 12.2 | Typosquatting & lockfiles | Paquets malveillants, scripts post-install, verrouillage. |
| 12.3 | SRI, provenance & SBOM | Intégrité des ressources, provenance, inventaire des composants. |
Les dépendances sont un cas particulier de ce qu’on ne contrôle pas entièrement. Le chapitre suivant traite un autre actif transversal : la Partie 13 — Secrets & données sensibles.
On commence par le risque le plus courant : CVE, audit & Dependabot.