Crate haybale_pitchfork[][src]

Expand description

For an introduction to the crate and how to get started, see the crate’s README.

Modules

This module contains helper functions that may be useful in writing function hooks.

This module contains a few simple built-in function hooks which can be used with Config.function_hooks.

This module contains the dynamic taint-tracking layer implemented on top of haybale. It provides a haybale::backend::Backend which performs dynamic taint tracking and reports constant-time violations.

Structs

An abstract description of a value: its size, whether it is a pointer or not, whether it is public or secret (or maybe it’s a struct with some public and some secret fields, or maybe it’s a public pointer that points to some secret data), etc.

Various settings which affect how the symbolic execution is performed.

Holds information about the results of a constant-time analysis of a particular function.

Some statistics which can be computed from a ConstantTimeResultForFunction.

pitchfork-specific configuration options, in addition to the configuration options in haybale::Config.

A Project is a collection of LLVM code to be explored, consisting of one or more LLVM modules.

Enums

A variety of ways to specify a numerical value, from completely unconstrained to fully constrained.

Holds information about the results of a constant-time analysis of a single path.

Functions

Checks whether a function is “constant-time” in the secrets identified by the args data structure. That is, does the function ever make branching decisions, or perform address calculations, based on secrets.

Checks whether a function is “constant-time” in its inputs. That is, does the function ever make branching decisions, or perform address calculations, based on its inputs.

This function is designed to be called in your main(). It processes command-line arguments and coordinates the overall analysis.

Get a formatted version of the coverage results as a String.

Type Definitions

A map from struct name to an AbstractData description of the struct