package binsec

  1. Overview
  2. Docs


BINSEC aims at developing an open-source platform filling the gap between formal methods over executable code and binary-level security analyses currently used in the security industry.

The project targets the following applicative domains:

vulnerability analyses
malware comprehension
code protection
binary-level verification

BINSEC is developed at CEA List in scientfic collaboration with Verimag and LORIA.

An overview of some BINSEC features can be found in our SSPREW'17 tutorial.



BINSEC is an open-source toolset to help improve software security at the binary level. It relies on cutting-edge research in binary code analysis, at the intersection of formal methods, program analysis, security and software engineering. It is powered up by state-of-the-art techniques such as binary-level formal methods, symbolic execution, abstract interpretation, SMT solving and fuzzing.


More information about BINSEC is available at:

Getting started

See install instructions.
Then, have a look at user documentation for command examples.


Found a bug or want to make a suggestion, check how to contribute improving BINSEC.

Dependencies (7)

  1. toml >= "6"
  2. dune-site
  3. zarith >= "1.4"
  4. ocamlgraph >= "1.8.5"
  5. menhir build & >= "20181113"
  6. ocaml >= "4.09" & < "5"
  7. dune >= "3.0"

Dev Dependencies (3)

  1. odoc with-doc
  2. qcheck with-test & >= "0.7"
  3. ounit2 with-test & >= "2"

Used by


Conflicts (2)

  1. bitwuzla < "1.0.4"
  2. llvm < "6.0.0" | >= "16.0.0"

Innovation. Community. Security.