Skip to content

romits800/Vivienne

 
 

Repository files navigation

Relational Symbolic Execution for WebAssembly (based on spec)

This repository contains the source for the Vivienne, a WebAssembly Relational Symbolic Execution implementation for identifying constant-time vulnerabilities or verifying constant-time programs.

This implementation is based on the reference interpreter for WebAssembly in OCaml. A formatted version of the spec is available here: webassembly.github.io/spec,

Vivienne

To compile Vivienne, move to directory "interpreter" and run make. To compile and run Vivienne, there is a number of prerequisites described in interpreter/README.md.

cd interpreter
make

Experiments

The experiments used in our paper are available at Vivienne_eval.

citing

For citing WebAssembly in LaTeX, use this bibtex file.

For citing Vivienne in LaTeX, use this bibtex file

About

Constant-Time WebAssembly

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • WebAssembly 76.2%
  • OCaml 16.4%
  • JavaScript 4.1%
  • Python 1.3%
  • Batchfile 0.5%
  • Shell 0.5%
  • Other 1.0%