All commands should be run from the project root unless noted otherwise.
After running the steps below, check which artifacts are already in place:
bash scripts/setup/validate.shThis verifies gdb, socat, nc, the static node runtime, and the
agent CLIs (Claude Code, Codex, Gemini CLI) by running each with
--version. Any missing or non-runnable tool is flagged so you know
which step below to re-run; a full pass means you can skip to
docker_images.md and eval.md.
- Python 3.12+, uv
- Docker (with access to the task image registry)
- Dependencies for building (
gcc,make,wget, etc.), or change to building in Docker - Note: follow docker_images.md to pull the necessary images before proceeding.
Required for primitive analysis. Sets the core dump filename format so each crash produces a uniquely named file.
sudo sysctl -w kernel.core_pattern=core.%e.%p.%t
sudo sysctl -w kernel.core_uses_pid=1These settings are not persistent across reboots. To make them permanent, add them to
/etc/sysctl.confor a file under/etc/sysctl.d/.
uv sync
# use llm_proxy
uv sync --extra proxy
# For development (linting, pre-commit hooks)
uv sync --all-extras --all-groups
uv run pre-commit installDownloads a statically linked GDB binary and installs it into data/runtime/gdb/
(mounted into agent containers).
wget -P data/runtime/ \
https://github.com/guyush1/gdb-static/releases/download/v17.1-static/gdb-static-full-x86_64.tar.gz
mkdir -p data/runtime/gdb
tar xf data/runtime/gdb-static-full-x86_64.tar.gz -C data/utils/gdbBuilds socat and netcat-openbsd with static linking using Docker Alpine.
Socat is placed in data/server/ (for the server), netcat in data/runtime/
(mounted into agent containers).
bash scripts/setup/static_build_socat_nc.shBuilds Node.js from source with static linking, then installs the
agent CLI tools (codex, gemini-cli, claude-code) under data/runtime/node/.
The Node compile runs in a throwaway Alpine container. Alpine uses musl
libc, which avoids glibc's implicit NSS dependency and lets --fully-static
produce a truly standalone binary. The install tree is bind-mounted out
with the host user's uid/gid, and agents are installed on the host using
that freshly built Node.
cd data/runtime && bash ../../scripts/setup/static_build_node_and_agents.sh \
--prefix "$PWD/node" --all && cd ../..Override the builder image with --builder-image IMAGE (must be
Alpine-based — the script invokes apk). Full options:
bash scripts/setup/static_build_node_and_agents.sh --helpAn automated script is provided that runs steps 2-4:
bash scripts/setup/setup_data.shPython install and image pull are not included because they depend on your task list and registry access.
We recommend running through the steps one by one for the first time, so you can install any missing system dependencies as they come up. Use the all-in-one script for subsequent setups on machines you have already prepared.