Conversation

Replying to
By the way, the most popular implementations of YAML also dynamically execute arbitrary code based on the input. It's used because it looks elegant and user friendly on the surface. It's a lot more aimed at being worked with by humans than JSON and wasn't based around early JS.
1
Replying to and
It's similar to the origin of Markdown. It's a poorly designed and loosely specified syntax for marking up data rather than documents where they delegated complex stuff to the underlying system it targeted (HTML for Markdown and the object systems of Ruby, Python, etc. for YAML).
1
Replying to
I don't think the situations are comparable. Markdown is used and intended as a source document format for human composition of content intended for human consumption. YAML is used and intended as a serialization format for machine-processed data.
1
Replying to
YAML was more intended as a way for humans to mark up and read data. It's a serialization format, but it was a format explicitly meant for humans to use. I think it's actually harder for humans to work with it because of all the ambiguities, etc.
1
Replying to and
It sounds like Apple basically has the YAML equivalent of SQL injection. It doesn't seem like they would hit that using a typical library for it. It's more like they're generating it in a template string. Part of the problem with it is deceptively simple syntax with ambiguities.
1