Skip to content

Automated generation of provably secure, zero-copy parsers from format specifications

License

Notifications You must be signed in to change notification settings

mtzguido/everparse

 
 

Repository files navigation

EverParse

Linux Windows
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:

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

About

Automated generation of provably secure, zero-copy parsers from format specifications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • F* 83.5%
  • OCaml 9.3%
  • Roff 2.2%
  • Makefile 2.0%
  • Shell 1.6%
  • C 1.0%
  • Other 0.4%