Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Menaces de la chaîne logicielle : le modèle par familles

Par mis à jour le

Améliorer cette page

Les menaces de la chaîne logicielle se rangent en familles, une par étape entre l'écriture du code et son exécution : savoir dans quelle famille tombe un incident dit où regarder et quelle défense prévoir. Cette leçon cartographie ces familles, du producteur du code jusqu'au cloud d'exécution, avec pour chacune ce que vise l'attaquant et un exemple réel. Elle s'adresse aux développeurs, DevOps, spécialistes de la sécurité applicative et responsables de la sécurité (RSSI) qui veulent une vue d'ensemble avant d'étudier une attaque précise. Le modèle s'appuie sur le standard SLSA v1.2 et sur le catalogue de vecteurs (les chemins concrets qu'emprunte une attaque) de la démarche SOCLE.

  • Situer une attaque dans l'une des familles de menaces de la chaîne, du producteur au runtime.
  • Relier un incident à ses vecteurs d'attaque ancrés (SLSA v1.2, CNCF, OWASP CICD-SEC, MITRE ATT&CK).
  • Reconnaître les exemples réels de chaque famille (XZ, SolarWinds, Shai-Hulud, Codecov).
  • Retrouver, quand il existe, le guide dédié qui approfondit une attaque.

Là où la page comprendre les cybermenaces répond au « qui attaque et comment » (profils, kill chain), cette leçon répond au « où l'attaquant frappe dans la chaîne ». Chaque famille correspond à une étape, du code source à l'exécution. Les vecteurs cités sont ancrés dans des référentiels reconnus : c'est le principe de la démarche SOCLE, qui assemble ces sources en exigences opposables. Pour le cadre de protection associé, voyez SLSA et son modèle de menaces officiel. Le détail de chaque vecteur (V-GOV-1, V-CI-5 et les autres) figure dans le catalogue des vecteurs d'attaque SOCLE.

Le schéma ci-dessous montre le fil à suivre. Regardez les trois groupes de gauche à droite (amont, build et CI, aval) : chaque boîte est une famille, et la flèche épaisse suit le chemin du code jusqu'à son exécution. Les deux boîtes rouges, secrets et intégrations tierces, ne sont à aucune étape : leurs traits pointillés montrent qu'elles touchent le build comme l'aval. Le schéma regroupe certaines familles pour rester lisible (runners et OIDC, par exemple) : les tableaux qui suivent donnent le détail, famille par famille.

Les familles de menaces en trois groupes successifs : amont (producteur et gouvernance, poste de développeur, source et SCM, dépendances), build et CI (exécution empoisonnée, runners et OIDC, packaging et artefacts), aval (release et signature, registres et distribution, admission et runtime). Les secrets et les intégrations tierces traversent le build et l'aval.AvalBuild et CIAmontProducteuret gouvernancePoste dedéveloppeurSourceet SCMDépendancesExécutionempoisonnéeRunnerset OIDCPackaginget artefactsReleaseet signatureRegistreset distributionAdmissionet runtimeSecrets et identitésIntégrations tierces
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %

L'amont est le terrain des attaques les plus insidieuses : compromettre le code avant qu'il ne soit construit. Le cas XZ Utils (2024), où un mainteneur patient a glissé une backdoor, illustre le producteur malveillant ; PHP (2021) celui d'un serveur Git compromis ; event-stream (2018) celui d'une dépendance piégée. Le cas du producteur est détaillé dans producteur malveillant ; les autres guides sont la gouvernance du code source, les attaques via les gestionnaires de paquets et la confiance transitive. Côté défense, un SBOM liste ce que vous avez réellement intégré et un firewall d'artefacts filtre ce qui peut entrer.

Famille (vecteurs SOCLE)Ce que vise l'attaquant
Producteur & gouvernance (V-GOV-1/2/3)Mainteneur malveillant, protestware, menace interne
Poste de développeur (V-WKS-1 à 6)Extension d'IDE piégée, faux entretien (Lazarus), curl | sh
Source & SCM (V-SRC-1 à 10)Push sans revue, pwn request, réécriture d'historique, injection de script
Dépendances (V-DEP-1 à 7)Typosquatting, dependency confusion, scripts postinstall, transitive

Le pipeline d'intégration exécute du code à chaque commit : c'est un point de compromission privilégié. Les attaques par exécution empoisonnée (PPE, pour Poisoned Pipeline Execution : faire exécuter au pipeline du code choisi par l'attaquant) et le détournement d'outils légitimes sont détaillées dans Living Off The Pipeline et empoisonnement de variables d'environnement ; la vue d'ensemble est l'OWASP Top 10 CI/CD. L'incident tj-actions (2025) a montré le danger d'une action tierce non épinglée.

Famille (vecteurs SOCLE)Ce que vise l'attaquant
Exécution empoisonnée (PPE) (V-CI-1 à 4)Modifier un workflow, un Makefile ou un test exécuté ; empoisonner le cache
Runners compromis (V-CI-8 à 12)Runner persistant, socket Docker exposé, évasion de conteneur
OIDC & actions tierces (V-CI-5/6/7)Vol du jeton OIDC, action non épinglée, build depuis un fork
Packaging & artefacts (V-PKG-1 à 4)Artefact altéré post-build, image de base empoisonnée, tag mutable réécrit

Une fois l'artefact produit, l'attaquant cible sa publication, sa distribution et son exécution. SolarWinds (2020) reste l'exemple type d'une provenance valide sur un artefact piégé ; Shai-Hulud celui d'un ver qui republie automatiquement les paquets d'un mainteneur via des jetons volés. La défense par vérification est traitée dans SLSA et la décision provenance vers policy.

Famille (vecteurs SOCLE)Ce que vise l'attaquant
Release, provenance & signature (V-REL-1 à 4)Vol de clé de signature, provenance falsifiée, absence de vérification
Registres & publication (V-REG-1 à 5)Account takeover d'éditeur, jeton de publication volé, ver de republication
Distribution & consommation (V-DIST-1 à 5)CDN ou miroir altéré, installeur signé mais trojanisé
Déploiement & admission (V-ADM-1 à 3)Artefact non vérifié déployé, politique d'admission en simple avertissement
Runtime & exploitation (V-RUN-1 à 3)Exfiltration, mouvement latéral, wiper

Deux familles traversent toute la chaîne. Les secrets sont la cible la plus recherchée : un jeton volé ouvre tout le reste, comme l'a montré Capital One via l'IMDS (le service de métadonnées d'une instance cloud, qui lui délivre ses identifiants temporaires). Les intégrations tierces (apps OAuth, GitHub Apps, services de pipeline) offrent un accès durable et discret : Codecov (2021) a exfiltré les variables CI de milliers de projets, Vercel illustre l'abus d'app OAuth. La référence transverse reste l'OWASP Top 10 CI/CD.

Famille (vecteurs SOCLE)Ce que vise l'attaquant
Secrets & identités (V-SEC-1 à 6)Secret en clair, jeton longue durée, OIDC trop large, IMDS, combinaison toxique IAM
Intégrations & tierces parties (V-INTEG-1 à 3, V-CI-13)App OAuth compromise, GitHub App abusée, service de pipeline détourné

Deux familles montent en puissance. Côté IA/ML, les modèles et les agents deviennent des artefacts à part entière : empoisonnement de données ou de poids, prompt injection, et outils d'agent piégés dont les menaces propres au Model Context Protocol (tool poisoning, confused deputy). Côté cloud, le maillon final concentre les techniques d'exfiltration et d'élévation de privilèges.

Famille (vecteurs SOCLE)Ce que vise l'attaquant
IA / ML (V-IA-1 à 8)Empoisonnement données/modèle, prompt injection, RAG poisoning, outil d'agent MCP
Posture cloud & conteneurs (V-CLD-1 à 16)Accès IMDS, exfiltration de stockage, combinaison toxique IAM, évasion K8s, pivot cluster vers cloud
  • Les menaces de la chaîne logicielle se cartographient en familles, du producteur au cloud : chacune correspond à une étape où l'attaquant frappe.
  • Les vecteurs sont ancrés (SLSA v1.2, CNCF, OWASP CICD-SEC, MITRE ATT&CK).
  • Les secrets et les intégrations tierces traversent toute la chaîne.
  • Plusieurs familles ont déjà leur guide dédié (producteur, gestionnaires de paquets, LOTP, empoisonnement d'env, OWASP CI/CD) ; pour les autres, les tableaux donnent les vecteurs à chercher dans le catalogue SOCLE.
  • Comprendre où frappe l'attaquant est la première étape de la démarche : menace, puis exigence, puis preuve.

Six questions tirées sur huit : les familles de menaces de la chaîne, les incidents qui les illustrent et la portée du modèle.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn