Aller au contenu
Sécurité medium

Source & SCM : vecteurs d'attaque (SOCLE)

2 min de lecture

L'étape Source & SCM de la chaîne logicielle regroupe 10 vecteurs d'attaque, ancrés dans SLSA (B)(C) · CNCF Source Code. Chaque vecteur décrit ce que vise l'attaquant et renvoie aux exigences SOCLE qui le neutralisent.

Soumission sans revue
Self-approval multi-comptes
Abus de compte robot / bot

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-SRC-1Soumission sans revue
Du code malveillant est poussé directement sur une branche protégée sans revue obligatoire (push direct, protection absente). Sans contrôle à quatre yeux, une modification hostile entre dans la base de code de référence.
Ancré dansSLSA (B1)
V-SRC-2Self-approval multi-comptes
Un attaquant contrôlant plusieurs comptes (ou un compte et un bot) approuve sa propre contribution, contournant l'exigence de revue par un tiers indépendant. La règle de revue existe mais est neutralisée par collusion d'identités.
Ancré dansSLSA (B1)
Exigences qui le neutralisent SOCLE-SRC-GEN-1SOCLE-SRC-BRA-4SOCLE-ORC-GEN-6
V-SRC-3Abus de compte robot / bot
Un compte de service ou bot autorisé à fusionner sans revue à deux est détourné pour introduire du code, court-circuitant le contrôle humain. Les automatismes sur-privilégiés deviennent un chemin d'injection.
Ancré dansSLSA (B1)
Exigences qui le neutralisent SOCLE-SRC-GEN-1SOCLE-ORC-GEN-6SOCLE-SRC-BRA-2
V-SRC-4Abus d'exceptions de règles
Une exception aux règles de protection (ex. fichiers de documentation exemptés de revue) est exploitée via un fichier déguisé pour faire passer du code non revu. Les angles morts de la politique deviennent une porte d'entrée.
Ancré dansSLSA (B1)
Exigences qui le neutralisent SOCLE-SRC-GEN-1SOCLE-SRC-BRA-2SOCLE-GOV-GEN-2
V-SRC-5Admin qui contourne / désactive les contrôles
Un administrateur retire temporairement la protection de branche, pousse une modification, puis rétablit la protection, effaçant la trace du contournement. Le pouvoir d'administration sur les contrôles annule les contrôles eux-mêmes.
Ancré dansSLSA (B1), SLSA (verification)
Exigences qui le neutralisent SOCLE-SRC-GEN-1SOCLE-SRC-SIG-1SOCLE-SRC-ACC-4
V-SRC-6Réécriture d'historique
Un force-push réécrit l'historique de la branche pour dissimuler ou injecter des commits (suppression d'un commit malveillant, antidatage). Sans interdiction du force-push ni vérification d'intégrité, l'historique n'est plus une preuve fiable.
Ancré dansSLSA (B2)
Exigences qui le neutralisent SOCLE-SRC-SIG-1SOCLE-SRC-SIG-3
V-SRC-7Compromission du SCM
Le système de gestion de source lui-même (forge self-hosted, serveur Git) est compromis, donnant à l'attaquant le contrôle du code, des droits et des workflows. La racine de confiance du code tombe : tout en aval devient suspect.
Ancré dansSLSA (C), CNCF Source Code
V-SRC-8Pwn request (`pull_request_target`)
Un workflow déclenché sur pull_request_target (ou équivalent) exécute le code d'un fork non fiable avec le contexte et les secrets du dépôt cible. Une simple pull request d'un inconnu obtient l'exécution privilégiée et les jetons du projet.
Ancré dansCICD-SEC-4
V-SRC-9Injection de script
Une donnée contrôlée par l'attaquant (titre de PR, nom de branche, message de commit) est interpolée sans échappement dans un script de workflow, provoquant une exécution de commande dans le pipeline. C'est l'injection classique portée au CI.
V-SRC-10Commit / tag non signé
L'absence de signature vérifiée des commits et tags permet d'usurper l'auteur ou d'introduire des objets non authentifiés dans l'historique. Sans signature imposée, l'identité du contributeur n'est pas prouvable.
Ancré dansSLSA (B2)
Exigences qui le neutralisent SOCLE-SRC-GEN-3SOCLE-SRC-SIG-2SOCLE-WKS-DEV-3

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn