Definition
Plain language
The part of a program that reads a file or message and works out what it says.
As stated in the literature
Code that converts serialized input into structured data; historically a dense source of memory-safety and logic vulnerabilities because it processes untrusted input directly.
Also called: parsers, parsing
Why it matters: Parsers sit right where untrusted data first meets your code, which is why so many serious security holes are found there.
For example, the code that reads a PDF and figures out where the text and images go is a parser, and it has to handle whatever malformed file a stranger sends it.
Heard on the show
“" A parser failure, basically.”Episode 013 — Why Search Keeps Rediscovering the Same Workflow, and What That Means