OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Gigahorse

Gigahorse is a command-line binary lifter and analysis framework for Ethereum smart contracts. It converts low-level EVM code into a function-based, three-address representation and can run its decompilation pipeline and additional client analyses on contract bytecode files.

Independent OpenViST project profile, based on linked sources.

Gigahorse — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when the available input is Ethereum contract bytecode and you need a command-line lifting or analysis stage for a developer workflow.

Who it is for

  • Ethereum developers working with contract bytecode
  • Security analysts building or running smart-contract analysis workflows
  • Tool builders who need a lifted representation of EVM code

Documented uses

  • Lift low-level EVM bytecode into a higher-level function-based representation.
  • Run the toolchain on one `.hex` contract file or a directory of contract bytecode files.
  • Pass additional client analyses to the pipeline and inspect its per-file results and flags.
Before you choose

Requirements & limits

  • Local setup requires Souffle, Boost, Z3, the Souffle custom functors, and uv-managed Python 3.13.
  • The documented local setup specifies Souffle 2.3 or 2.4.1; later development versions are described as untested.
  • The README documents Docker installation as an alternative, while noting that the arm64/M1 image is not actively tested.
  • Analysis results are stored in .temp and results.json; contracts exceeding the configurable timeout are skipped.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up Gigahorse from a local clone

Prepare the repository, Souffle addon, and Python environment for running the toolchain.

Before you start

  • Clone the repository recursively to fetch its souffle-addon submodule, or initialize and update submodules after cloning.
  • Install Boost libraries and Z3.
  • Install uv and Souffle 2.3 or 2.4.1.

Steps

  1. Build the Souffle custom functors from the souffle-addon directory using the documented make command.

  2. Run the command below to provision the pinned Python 3.13 environment and project dependencies.

    Documented command
    uv sync
  3. Run Gigahorse through uv or activate the resulting .venv environment.

Expected outcome

The local environment is prepared to invoke Gigahorse; the documented example invocation is `uv run ./gigahorse.py examples/long_running.hex`.

Guide limitations

  • Souffle versions other than the specified releases are described as untested.
  • The guide covers the documented local setup; analysis may skip contracts that exceed the configurable timeout.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
nevillegrech/gigahorse-toolchain · Official homepage title · retained in its source language