--- title: Attaque de la Chaîne d'Approvisionnement created: 2026-06-06 updated: 2026-06-06 type: concept tags: [security, tech, devops] confidence: high contested: false sources: [synthesized] --- # ⛓️ Attaque de la Chaîne d'Approvisionnement (Supply Chain Attack) ## Définition Courte Type de cyberattaque qui **cible les dépendances** d'un logiciel (bibliothèques, packages, outils de build) plutôt que directement la cible finale, compromettant des milliers d'applications en aval. ## Explication Détaillée **Vecteurs d'attaque** : - **Compromission de package** : un attaquant publie une version malveillante d'une lib populaire (ex: event-stream sur npm, 2018). - **Dépendance transitive piégée** : vous importez une lib qui en importe 50 autres, dont une piégée. - **Compromission de maintainer** : compte GitHub piraté (XZ Utils backdoor, 2024). - **Build pipeline** : altération pendant la CI/CD (SolarWinds, 2020). - **Compromission de registry** : npm, PyPI piratés (rare mais catastrophique). **Pourquoi c'est dévastateur** : une seule compromission touche tous les projets qui utilisent la dépendance. L'effet domino est massif. ## Cas d'Usage Réels - **Log4Shell (2021)** : Log4j, utilisé par des millions d'apps Java. - **XZ Utils (2024)** : backdoor dans sshd via la lib de compression. - **SolarWinds (2020)** : 18 000 clients compromis via une mise à jour signée. - **event-stream (2018)** : wallet Bitcoin volé via une lib npm. ## Stratégies de Défense - **Pin des versions exactes** (jamais `^` ou `~`). - **Lock files** commités. - **SBOM** (Software Bill of Materials) : savoir exactement ce qu'on utilise. - **Signature de paquets** (Sigstore, GPG). - **Audit de dépendances** (npm audit, Snyk, Dependabot, Renovate). - **Sandbox des builds** (BuildKit, ephemeral CI). - **Provenance vérifiable** (SLSA framework). ## Pages Liées - [[checklist-mise-en-production]] - [[securisation-home-lab]] - [[ci-cd]] - [[open-source]] - [[checklist-securite-vps]] ## Questions Ouvertes - Peut-on vraiment se protéger à 100% sans auditer chaque dépendance à la main ? - Quel est l'avenir de la signature généralisée de paquets (Sigstore) ?