L'étape Dépendances de la chaîne logicielle regroupe 7 vecteurs d'attaque, ancrés dans SLSA (dépendances)(H) · CNCF Negligence · SoK « paquet distinct ». Chaque vecteur décrit ce que vise l'attaquant et renvoie aux exigences SOCLE qui le neutralisent.
Typosquatting
Dependency confusion / substitution
Brandjacking / starjacking
Techniques principales observées à cette étape : ce sont des approches alternatives, pas une séquence.
Vecteurs d'attaque
Les pastilles renvoient aux exigences SOCLE qui neutralisent chaque vecteur.
V-DEP-1Typosquatting
Un paquet malveillant porte un nom très proche d'un paquet légitime (faute de frappe, tiret, ordre des mots) pour être installé par erreur. L'attaque mise sur l'inattention au moment d'ajouter une dépendance.
V-DEP-2Dependency confusion / substitution
Un paquet public est publié sous le nom d'un paquet interne ; le gestionnaire, mal configuré, préfère la version publique de plus haut numéro et tire le code de l'attaquant. La confusion entre registre interne et public livre l'exécution au build.
V-DEP-3Brandjacking / starjacking
L'attaquant usurpe la réputation d'un projet légitime (nom de marque, étoiles, métadonnées pointant vers un dépôt populaire) pour faire passer un paquet malveillant pour de confiance. La crédibilité empruntée trompe l'évaluation.
V-DEP-4Abus de scripts d'install / lifecycle
Un paquet exécute du code arbitraire via ses scripts de cycle de vie (postinstall, preinstall) dès l'installation, avant tout usage. L'ajout d'une dépendance suffit à déclencher la charge.
V-DEP-5Dépendance transitive malveillante
La charge malveillante n'est pas dans la dépendance directe mais dans une dépendance de dépendance, invisible sans analyse du graphe complet. La profondeur de l'arbre de dépendances masque l'origine du risque.
V-DEP-6Plugin tiers exécuté au build
Un plugin ou une extension de l'outil de build (Gradle, Maven, bundler) exécute du code au moment de la construction, hors de toute revue du code applicatif. Le build devient un vecteur d'exécution tierce.
V-DEP-7Retrait de dépendance
Une dépendance est retirée ou dépubliée (unpublish, yank), cassant les builds et poussant à des substitutions hâtives, parfois vers un remplacement malveillant. La disponibilité de la chaîne est attaquée (cas left-pad).