What bugb needs
bugb needs a different set of tools depending on how far you intend to go. The model tier needs one. The verify tier needs four, and one of them is a coding agent that will edit your repository unattended.
This page is the check to run before either. It does not install anything — it tells you what each tier requires and how to prove it is there.
What each tier requires
Section titled “What each tier requires”| Tool | Model tier | Verify tier | What it is for |
|---|---|---|---|
bugb |
required | required | the loop itself |
| Python ≥ 3.11 | required | required | bugb is a Python package |
guardlink |
required | required | parses the annotations, produces the SARIF export |
cxg |
— | required | executes the probes against the target |
| Docker | — | required for a lab | stands the disposable target environment up |
| a coding-agent CLI | — | required | the judgment points: annotation, recipe authoring, goal enrichment, write-back |
The agent CLI is one of claude, codex, or gemini. The
VS Code extension can supply the
editor’s own model instead, through bugb’s bridge provider.
Prove you have them
Section titled “Prove you have them”-
bugb and Python.
Terminal window bugb --versionpython3 -Vbugb 0.1.0Python 3.12.13 -
guardlink — the model tier’s one external dependency.
Terminal window guardlink --version2.0.0If this fails, install it:
npm install -g guardlink. See guardlink installation.At this point the model tier works. Everything below is for the verify tier.
-
cxg — the engine that runs the probes.
Terminal window cxg --versioncxg 1.3.0See Install cxg. The pentest pipeline inside it is materialised separately, by
cxg pentest install— see Pentest a web application. -
Docker — only if bugb is to stand a lab up for you. A run against a target you started yourself does not need it.
Terminal window docker --versionDocker version 29.4.0, build 9d7ad9f -
A coding-agent CLI.
Terminal window claude --version2.1.234 (Claude Code)codexandgeminiare the alternatives. Which one a run uses is the--agentflag, or thedefault_agentkey in$BUGB_HOME/config.toml.
Where bugb keeps its state
Section titled “Where bugb keeps its state”None of it is in your repository.
| Path | Holds |
|---|---|
$BUGB_HOME (default ~/.bugb) |
everything below |
$BUGB_HOME/runs/<run-id>/ |
one directory per run: manifest, journal, events, ledger, per-round goals, probe templates, cxg logs, reports |
$BUGB_HOME/envs/<slug>/ |
the environment recipe for one target, replayed on later runs |
$BUGB_HOME/config.toml |
optional; every field has a working default |
Your repository receives exactly two things, and only on the verify tier: a
bugb/run-<id> branch, and annotation comments committed to it. --no-checkpoint
turns even that off. The reasoning is in
Authorization and blast radius.
Override the location with --home, or by exporting BUGB_HOME.
- Build your first threat model — the model tier, end to end, in one command.

