Infrastructure
YAML : YAML Ain't Markup Language. « YAML n'est pas un langage de balisage », acronyme récursif, par analogie avec le carnet de notes indenté qui refuse obstinément qu'on le prenne pour un formulaire.
Syntaxe : Format de sérialisation lisible fondé sur l'indentation : clés, valeurs, listes et dictionnaires imbriqués. Il sert de format de configuration aux pipelines de CI, à Kubernetes, à Ansible et à bien d'autres outils.
Conversions implicites : Une espace de trop change la structure sans produire d'erreur. Certaines valeurs sont converties d'office : selon la version et le parseur, « no » peut devenir un booléen faux, ce qui a réservé des surprises à qui listait des codes pays. La Norvège s'est ainsi trouvée niée par un fichier de configuration, sans même un préavis diplomatique.
Chargement sûr : Certains parseurs savent instancier des objets arbitraires à partir de balises spéciales. On emploie donc les fonctions de chargement sûr, faute de quoi un fichier de configuration devient un vecteur d'exécution de code.
Validation : Un lint du fichier de configuration détecte les erreurs de syntaxe ; il ne remplace pas l'analyse statique, qui cherche des défauts dans le code applicatif.
Ce qui arrive si on s'en passe
Charger un fichier YAML avec une fonction qui instancie des objets arbitraires transforme une simple configuration en vecteur d'exécution de code : il suffit qu'un tiers puisse modifier ou fournir le fichier pour faire exécuter ce qu'il veut au programme qui le lit. Ignorer les conversions implicites produit des erreurs plus sournoises : une espace de trop change la structure sans message d'erreur, et une valeur comme « no » devient, selon le parseur, un booléen faux. Une configuration de pipeline ou de déploiement fausse s'applique alors en silence. La Norvège n'a jamais porté plainte, mais la production, elle, ne pardonne pas les négations diplomatiques.
Explication de la marmotte
C'est une façon d'écrire des réglages dans un fichier texte pour qu'une personne puisse les lire aussi facilement qu'une machine. On y range des informations sous forme de listes et de rubriques, en décalant les lignes vers la droite pour montrer ce qui appartient à quoi, un peu comme le plan d'une dissertation avec ses parties et sous-parties. Ce décalage compte vraiment : une seule espace mal placée peut changer le sens du fichier, alors mieux vaut être soigneux quand on le modifie.
Où ce terme est utilisé
- Attaque par désérialisation YAML non sécurisée (17 occurrences)
- Intégration continue avec Git : automatiser vos workflows (4 occurrences)
- Conteneurs, Kubernetes, CNI et service mesh (2 occurrences)
- Déployer des NetworkPolicy Kubernetes pas à pas (2 occurrences)
- Désérialisation non sécurisée et chaîne de gadgets (2 occurrences)
- EBIOS RM : analyse de risque et limites pratiques (2 occurrences)
- Python pour l'automatisation défensive, usages et garde-fous (2 occurrences)
- Sécuriser les identifiants CI/CD avec OIDC (2 occurrences)
- Signer commits et artefacts contre quelles attaques (2 occurrences)
- Auditer la couverture réelle du mTLS service mesh (1 occurrence)
