EverParse is a framework for generating verified secure parsers from DSL format specification languages.
It consists of LowParse, a verified combinator library (in
src/lowparse), and QuackyDucky, an untrusted message format specification language compiler.
For more information, you can read:
- The EverParse project website and user manual, also available in the
docsubdirectory of this repository as
- our Microsoft Research blog post
- our USENIX Security 2019 paper.
We publish binary packages for EverParse as GitHub releases: https://github.com/project-everest/everparse/releases
Build from source
Full build instructions, including how to install dependencies, are available at https://project-everest.github.io/everparse/build.html, or equivalently in
doc/build.rst in this repository.
Instead of downloading or building EverParse, if you are in a hurry, consider using a containerized build instead, via a Docker image for Everest.
Indeed, EverParse is part of Project Everest. Everest CI maintains up-to-date Docker Images on Docker Hub for Linux. Those Docker images include a fully built and tested EverParse in the
Example format description files