Daedalus: Safer Document Parsing
summary
A domain-specific language and compiler generate safe, analyzable parsers with C++ and Haskell backends and a foreign‑function interface for things like decryption; the tool implements stream-manipulation primitives for noncontiguous and data‑dependent parsing and enforces a first‑order parser discipline to simplify compilation and analysis. The prototype covers 20 formats including PDF and NITF, reports competitive throughput, and the PDF backend is the only parser found free of defects in a PDF Association red‑teaming exercise.
AI-written summary · about
chapters (13)
- 0:00Parsing matters in 2024
- 1:05Common parsing bugs
- 2:51Limitations of traditional tools
- 5:21Binary format challenges
- 7:07Parsing combinators drawbacks
- 8:50Introducing Daedalus
- 10:17Daedalus design and features
- 12:23Daedalus syntax and semantics
- 14:34Applicative notation and safety
- 15:59Primitives and stream handling
- 17:48Compiler performance evaluation
- 19:11Daedalus summary and future
- 19:32Q&A and adoption
related talks
25mASN1*: Provably Correct, Non-Malleable Parsing for ASN.1 DER
42mBuilding Hardened IoT Implementations With LangSec
21mParDiff: Practical Static Differential Analysis of Network Protocol Parsers
27mGenerate Parsers! Prevent Exploits!
20mRust for Safer Protocol Development
24mParse Me, Baby, One More Time: Bypassing HTML Sanitizer via Parsing Differentials
27mPlatPal: Detecting Malicious Documents with Platform Diversity
52mVisualizing Security via LANGSEC
