Aller au contenu
Sécurité medium

Outils de développement & hygiène de la chaîne locale (SOCLE WKS)

11 min de lecture

Ce qui entre dans la chaîne depuis le poste doit être tracé, signé et vérifié. Cette famille (W3, domaine Poste de travail) maîtrise les sources d'outils (pas de curl | sh non vérifié), impose le secret scanning en pré-commit, la signature des commits, des extensions d'IDE sur liste autorisée (éditeur et registre réel vérifiés, auto-update désactivé), l'absence de secret dans les fichiers de projet, et l'installation des CLI depuis des sources vérifiées par signature.

curl | sh exécute aveuglément un script distant avec vos droits : maîtriser les sources d'outils supprime ce raccourci. Un secret poussé sur un dépôt est fuité même supprimé, d'où le secret scanning en pré-commit ; un auteur de commit s'usurpe trivialement, d'où la signature. Une extension d'IDE lit code et jetons avec vos droits : liste autorisée, éditeur et registre réel vérifiés (Marketplace vs OpenVSX), auto-update désactivé et délai de quarantaine. Enfin, aucun secret dans les fichiers de projet versionnés, et aucun CLI installé sans vérification de signature ou d'empreinte.

Concrètement, ces exigences parent : le curl | sh qui exécute un script piégé, le secret poussé par mégarde, le commit usurpé, l'extension malveillante d'IDE, et le binaire substitué installé sans vérification. Huit exigences, des fondamentales (R1) aux renforcées (R2).

L'enjeu

Une extension ou un CLI piégé exécute du code arbitraire avec les droits du dev.

Les erreurs les plus fréquentes sur ce périmètre :

scripts non vérifiés exécutés
extensions IDE non allowlistées
CLI installés sans vérification de signature
Comment lire R1R2R3du fondamental au souverain Doitobligatoire Devraitrecommandé Chaque carte porte son énoncé, le pourquoi, la preuve attendue et ses correspondances aux standards.
Afficher
SOCLE-WKS-DEV-1 R1 Doit

sources d'outils et de dépendances maîtrisées ; proscrire l'exécution de scripts non vérifiés (`curl | sh`).#

curl | sh exécute aveuglément un script distant avec vos droits : si la source ou le canal est compromis, vous installez la charge sans jamais l'inspecter. Maîtriser les sources d'outils et de dépendances, et proscrire les scripts non vérifiés, supprime ce raccourci devenu un classique de la compromission de poste.

Preuve attendue
Politique de sources d'outils maîtrisées ; interdiction des scripts non vérifiés.
Correspondances & menaces parées 2 standards · 1 menace
Correspondance
Menaces parées

Un outil en ligne de commande est installé depuis une source non vérifiée (curl | sh, miroir non officiel) et son binaire est trojanisé. L'installation, exécutée avec les droits du poste, ouvre un accès ou vole des secrets avant même tout usage CNCF Dev Tooling.

SOCLE-WKS-DEV-2 R1 Doit

secret scanning en pré-commit avant toute poussée.#

Un secret poussé sur un dépôt distant doit être considéré fuité, même après suppression : il survit dans l'historique et les forks. Le secret scanning en pré-commit (gitleaks) l'intercepte avant la poussée, au seul moment où on peut encore l'effacer sans procédure de rotation d'urgence.

Preuve attendue
Hook de secret scanning en pré-commit.
Outillage
Gitleaks pre-commit
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-WKS-DEV-3 R2 Doit

signature des commits configurée et vérifiée.#

N'importe qui peut usurper un auteur dans un commit Git : le champ auteur n'est qu'une chaîne. Signer les commits (GPG, SSH, Sigstore) et vérifier ces signatures prouve l'origine réelle et empêche qu'un contributeur frauduleux se fasse passer pour un mainteneur de confiance dans l'historique.

Preuve attendue
Configuration et vérification de la signature des commits.
Outillage
gitsign git verify-commit
Correspondances & menaces parées 3 standards · 2 menaces
Menaces parées

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 SLSA (B1). 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 SLSA (B2).

SOCLE-WKS-DEV-4 R1 Doit

extensions d'IDE et plugins navigateur maîtrisés : liste autorisée et revue, blocage des extensions non signées ou non vérifiées.#

Une extension d'IDE ou de navigateur lit votre code, vos jetons et votre presse-papiers avec vos droits. Une liste autorisée revue et le blocage des extensions non signées empêchent qu'un plugin malveillant ou détourné s'installe : la marketplace n'est pas un gage de confiance, plusieurs charges y ont transité.

Preuve attendue
Liste autorisée d'extensions ; blocage des non signées, auto-update désactivé, registre vérifié.
Correspondances & menaces parées 4 standards · 3 menaces
Menaces parées

Une extension d'éditeur (VS Code, JetBrains), même sous un éditeur d'apparence vérifiée, embarque du code malveillant exécuté sur le poste du développeur. Elle vole identifiants, jetons et clés, ou installe un RAT, en s'exécutant avec les droits du dev et l'accès à ses dépôts et secrets CNCF Dev Tooling. Le jeton de publication (PAT) d'un éditeur d'extension fuite, permettant de pousser une mise à jour piégée diffusée automatiquement à toute la base installée. Une seule fuite de jeton compromet des milliers de postes via le canal de mise à jour de confiance CNCF Dev Tooling CNCF Publishing. Un assistant IA ou une documentation recommande une extension ou un paquet dont le nom n'existe pas encore ; l'attaquant enregistre ce nom (squat) pour livrer du code malveillant aux utilisateurs qui suivent la recommandation. La surface naît de la confiance aveugle dans les suggestions automatisées CNCF Dev Tooling.

SOCLE-WKS-DEV-5 R2 Doit

aucun secret dans les fichiers de configuration de projet versionnés.#

Un secret glissé dans un fichier de configuration versionné (.env, réglages de projet) part dans le dépôt et tous ses clones. Bannir les secrets de ces fichiers, au profit de variables d'environnement ou d'un coffre, évite la fuite la plus banale, et la plus exploitée par les scanners d'attaquants sur GitHub.

Preuve attendue
Inspection : aucun secret dans les fichiers de configuration de projet versionnés.
Correspondances & menaces parées 1 standard · 1 menace
Correspondance
Menaces parées

Un secret est stocké ou laissé en clair (fichier, variable d'environnement, historique shell, dépôt) et récupéré par un attaquant. La fuite d'un secret transforme un accès local en compromission étendue (cas Codecov) CICD-SEC-6.

SOCLE-WKS-DEV-6 R1 Doit

CLI et binaires d'outils installés depuis des sources maîtrisées, avec vérification de signature/empreinte ; pas d'installation par script distant non vérifié.#

Un binaire d'outil téléchargé sans vérification peut avoir été substitué à la source ou en transit. Installer les CLI depuis des sources maîtrisées, en contrôlant signature ou empreinte, garantit que l'outil exécuté est authentique, et non un cheval de Troie qui hériterait de tous vos accès dès le premier lancement.

Preuve attendue
Procédure d'installation des CLI/binaires avec vérification de signature/empreinte.
Correspondances & menaces parées 2 standards · 1 menace
Correspondance
Menaces parées

Un outil en ligne de commande est installé depuis une source non vérifiée (curl | sh, miroir non officiel) et son binaire est trojanisé. L'installation, exécutée avec les droits du poste, ouvre un accès ou vole des secrets avant même tout usage CNCF Dev Tooling.

SOCLE-WKS-DEV-7 R1 Doit

auto-update silencieux des extensions désactivé ; éditeur et registre réel vérifiés (Marketplace vs OpenVSX).#

Une extension peut être bénigne à l'installation puis piégée par une mise à jour automatique, ou usurpée via un registre différent (OpenVSX vs Marketplace officiel). Désactiver l'auto-update silencieux et vérifier l'éditeur réel empêche qu'un canal de mise à jour devienne le vecteur d'une compromission de masse des postes.

Preuve attendue
Configuration désactivant l'auto-update ; procédure de vérification d'éditeur.
Correspondances & menaces parées 4 standards · 3 menaces
Menaces parées

Une extension d'éditeur (VS Code, JetBrains), même sous un éditeur d'apparence vérifiée, embarque du code malveillant exécuté sur le poste du développeur. Elle vole identifiants, jetons et clés, ou installe un RAT, en s'exécutant avec les droits du dev et l'accès à ses dépôts et secrets CNCF Dev Tooling. Le jeton de publication (PAT) d'un éditeur d'extension fuite, permettant de pousser une mise à jour piégée diffusée automatiquement à toute la base installée. Une seule fuite de jeton compromet des milliers de postes via le canal de mise à jour de confiance CNCF Dev Tooling CNCF Publishing. Un assistant IA ou une documentation recommande une extension ou un paquet dont le nom n'existe pas encore ; l'attaquant enregistre ce nom (squat) pour livrer du code malveillant aux utilisateurs qui suivent la recommandation. La surface naît de la confiance aveugle dans les suggestions automatisées CNCF Dev Tooling.

SOCLE-WKS-DEV-8 R1 Doit

délai de quarantaine observé avant adoption d'une nouvelle extension ou version.#

Les paquets et extensions malveillants sont souvent retirés quelques jours après publication, une fois signalés. Observer un délai de quarantaine avant d'adopter une nouvelle version laisse à la communauté le temps de détecter une charge : on évite la fenêtre zéro-jour où le piège est encore en ligne.

Preuve attendue
Politique de quarantaine documentée et appliquée.
Correspondances & menaces parées 4 standards · 2 menaces
Menaces parées

Une extension d'éditeur (VS Code, JetBrains), même sous un éditeur d'apparence vérifiée, embarque du code malveillant exécuté sur le poste du développeur. Elle vole identifiants, jetons et clés, ou installe un RAT, en s'exécutant avec les droits du dev et l'accès à ses dépôts et secrets CNCF Dev Tooling. Un assistant IA ou une documentation recommande une extension ou un paquet dont le nom n'existe pas encore ; l'attaquant enregistre ce nom (squat) pour livrer du code malveillant aux utilisateurs qui suivent la recommandation. La surface naît de la confiance aveugle dans les suggestions automatisées CNCF Dev Tooling.

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