EverParse
Linux | Windows |
---|---|
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
doc
subdirectory of this repository as*.rst
reStructuredText files. - our Microsoft Research blog post
- our PLDI 2022 paper
- our USENIX Security 2019 paper.
Download
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.
Container Images
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 quackyducky
subdirectory.
Using QuackyDucky
Example format description files
Complete TLS 1.3 message format of miTLS
Bitcoin blocks and transactions
Building
make
Running
./bin/qd.exe -help