Skip to content

Research Workflows

Choose a command by input, execution requirements, and evidence output. Before disclosure, inspect its verifier result, execution origin, and retained artifacts.

TaskCommandSeed requiredTarget typeOutput
Variant hunt from a fixhunt --seedYes (fix diff)Source treeLEADS (skeptic-gated)
Seedless depth reviewdeep-reviewNoSource tree (git URL or path)LEADS (multi-lens quorum)
Recency-window kernel huntrecency-huntNo (--since / --hours)Kernel treeLEADS (invariant-engine gated)
Assumption miningassumption-huntNo (--files)Source treeCANDIDATES to disprove
Spec vs implementation driftspecdriftNo (--spec)Spec text + source treeInvariant mappings / drift hypotheses
HTTP protocol conformanceprotocol-checkNo (--spec + --impl)Live HTTP targetConfirmed/refuted divergences
Memory-safety fuzzmemsafetyNoSource tree (git URL or path)Reproduced mem-corruption findings
Kernel advisory variantkernel variant-huntOptional advisory URL/fileKernel tree or supplied SARIFFoxGuard static variant candidates
Syzbot LPE miningkernel syzbot-mineNosyzbotRanked exploitability candidates
Syzkaller weightskernel weightsNokernelCTF targetLLM-derived choice_weights.json
XNU IOKit fuzzingxnu-fuzzNo (kext)Kext Mach-OTarget model / gate-passing inputs
Binary analysisbinaryNoCompiled artifactDelegated to 0verse
WeaponizationexploitConfirmed findingKernel VMExploit rung / root proof
Agent-action assuranceagent-assureNoAgent + MCP endpointsEvidence bundle
Self-evolving lenseslens-synthNo (miss-input)Curated missesPromoted finder lenses
Source evolutionevolve runNo (config)Source snapshotPromoted candidate versions
Research pipelineresearch pipelineNoURL/path/repo/packageEvidence-backed findings
Research mobileresearch mobileNoAPK/IPAPassive indicators
Research Linux kernelresearch linuxReproducer + findingKernel treeN-boot verified evidence
External kernel boot matrixresearch linux-matrixMatrix + findingRetained boot logsValidated, hashed imported evidence (no boots)

Record the hypothesis, observation, and executor. Model votes, HTTP observations, imported boot logs, and reproduced crashes support different conclusions.

The shared research plane uses candidate, observed, and reproduced; native commands define their own result fields. See Verification Results for replay contracts and Kernel VM Verification for privilege and provenance limits.

Model diversity is not automatic optimal routing

Section titled “Model diversity is not automatic optimal routing”

deep-review defaults to one provider model and one attempt; --models adds finder runs for every candidate × lens × model × attempt. Start with a bounded candidate set and cost ceiling before increasing these multipliers:

Terminal window
0 deep-review ./target-repo --max-candidates 8 \
--models YOUR_MODEL_A,YOUR_MODEL_B --attempts 1 --cost-ceiling 5

Configure access to each selected model first. Hunt’s cross-family refuter tries to use a family different from all known finder families; absent credentials, unknown families, or a failed alternate call can retain/fall back to same-family refutation. Inspect the recorded pairing/degradation status rather than assuming independence. This is a role-selection policy, not a learned optimal-model router or proof that a finding was dynamically reproduced. Local tools and VM execution remain local even when model calls use a hosted transport.

0 research subcommands accept --artifact-root (default .0-research). Other research commands have their own --output, artifact-retention, and cache options; do not assume they share one directory layout or accept --artifact-root. The command reference lists each contract.

Keep result JSON alongside its referenced logs, inputs, and receipts. A copied summary without its referenced evidence is not a replayable evidence bundle. Source excerpts, crash logs, headers, and findings may contain sensitive data. Review them before committing or uploading artifacts.

Provider configuration belongs in API Keys and Configuration. For kernel execution, follow the VM guide’s exact ZERO_KERNEL_QEMU_* setup; a source checkout alone is not a bootable guest.

Names beginning with a digit cannot be assigned using POSIX export. Pass them through env, for example:

Terminal window
env ZERO_DEEP_REVIEW_MAX_CANDIDATES=16 0 deep-review ./target-repo
  • Run only on targets you own or are authorized to test. Scope enforcement is command-specific; these commands do not all accept the scan command’s --scope. See Scope for the exact covered entry points.
  • protocol-check performs live HTTP requests. agent-assure interacts with agent, MCP, and oracle endpoints and requires all three in its scope file.
  • memsafety invokes build and fuzz tooling. binary delegates to a local subprocess. Use an isolated, disposable worker for untrusted source or binaries; neither an output directory nor a model’s instructions constitute a sandbox.
  • Kernel verification and dynamic-witness paths require real VM tooling. QEMU guests have their own kernel; host mounts and networking still depend on the selected runner. Do not infer isolation guarantees from the word “VM.”
  • evolve evaluates source candidates with the configured isolated executor: Docker by default, or opt-in local smolvm with a pinned local image archive. lens-synth manages prompt lenses; it is not the same execution boundary. See Improvement Plane for network, credential and executor prerequisites.
  • Research commands can write models, caches, build products, and configured outputs. Artifact directories do not constrain all host filesystem writes.
WorkflowWhat it actually does
specdrift extract, scan, planModel-assisted spec extraction and source mapping; not live protocol verification
research mobilePassive extracted APK/IPA intake; indicators remain hypotheses
research linux-matrixValidates and hashes externally executed boot logs; does not boot a VM
research linuxExecutes a supplied reproducer through the N-boot verification gate
protocol-checkExercises hypotheses against a live HTTP target
memsafetyRuns native build/fuzz tooling; unavailable prerequisites are a skipped run, not a pass
xnu-fuzz harness-planEmits a VM harness plan; does not execute the plan
exploit modesSelect distinct weaponization runners; see their execution prerequisites below

Importing evidence is not fresh execution. Conversely, an “analysis” command that launches a compiler, fuzzer, agent, or external binary is not passive intake.

Takes a proven fix diff (--seed .patch) and source tree (--source), searches for variants, and passes candidate findings through an adversarial skeptic.

Terminal window
0 hunt \
--source /root/linux-6.12.93 \
--seed ./nfc-fix.patch \
--ref CVE-2025-XXXXX \
--concurrency 4 \
--max-candidates 40
FlagDescription
--source <path>Source tree to hunt in (e.g. a Linux checkout)
--seed <path>Fix diff / .patch whose bug class to hunt variants of
FlagDefaultDescription
--ref <name>Provenance label for the seed (e.g. CVE / commit)
--concurrency <N>4Max finders in flight
--max-candidates <N>40Cap candidate sites hunted
--skip-candidates <N>0Skip the first N ranked candidates
--models <a,b>Provider defaultComma-separated finder models for diversity
--reachable-onlyenv HUNT_REACHABLE_ONLYRestrict to kernelCTF-reachable paths
--reachable-preferenv HUNT_REACHABLE_PREFERSort reachable first, drop none
--no-verifySkip skeptic gate (triage only, never disclosure)
--noveltyCheck lore.kernel.org duplicate evidence; use --novelty-required to abort when that evidence is unavailable
--methodologykernel-LPE methodology preset

Lens flags:

FlagDescription
--invariantLoad subsystem’s stored invariant model; inject rules into finders
--graph-sliceLoad Joern CPG reachability slice around fix site into finders
--cpg <path>Explicit CPG graphson JSON path for --graph-slice
--ops-harvest <paths>Static ops-struct initializer harvest for --graph-slice
--graph-slice-hops <N>Call-graph radius (default 3)

Prove flags (require kernel-VM artifacts):

FlagDescription
--exploitabilityRun GREBE diversify + SCAVY differential on QEMU VMs for each confirmed finding
--prove-min-ceiling <ceiling>Minimum impact ceiling: dos-only / info-leak / oob-write / uaf-control (default info-leak)

Exit codes: 0 = lead(s) found, 1 = no leads, 2 = no candidates, 3 = error.

Output is JSON with funnel counts (candidates → scanned → found → confirmed), per-finding evidence, and active warnings.

For the exhaustive flag reference, see Commands — hunt.


Enumerates files in a prepared source tree, applies specialized finder lenses, and checks survivors through a multi-lens quorum. No seed fix is required.

This is an explicit evaluated-method research workflow. Ordinary source investigation uses review, including review --depth deep, with scoped agent delegation rather than this fixed lens sweep.

Terminal window
0 deep-review ./target-repo --max-candidates 16 --profile default
ProfileLensesTarget code
defaultGeneric, stack-aware finder lenses plus appsec overlaysGeneral source review
evm-onchainBespoke Solidity lens setSolidity, Foundry, Hardhat projects
solana-onchainBespoke Rust/Anchor lens setSolana Rust programs
cardano-onchainBespoke Haskell lens setCardano (Haskell) smart contracts
cairo-onchainBespoke Cairo lens setStarkware Cairo contracts
move-onchainBespoke Move lens setMove (Aptos/Sui) contracts

Findings pass through the selected profile’s independent refutation lenses. --quorum controls the voting threshold; the default is a majority of that profile’s verify lenses. The generic profile covers these checks:

LensRefutes when
reachabilityVulnerable code is unreachable from any public API
completenessThe “missing” check is enforced elsewhere on the path
novelty-known-issueStandard guard for this class is already present
scopeExploitation has no real impact
deployment-contextCode path is dev/test/build-only, not production
FlagDefaultDescription
--profile <p>defaultLens profile (evm/solana/cardano/cairo/move)
--subsystem <path>Narrow to a subdirectory
--max-candidates <N>8 (auto-scales to 20 for large repos)Cap candidates hunted
--models <a,b>Single provider modelFinder model diversity
--attempts <N>1Best-of-N attempts per candidate×lens×model
--concurrency <N>8Max finders in flight
--quorum <N>MajorityVerify lens quorum threshold
--threat-modelOffEnable pre-scan threat-model planner (trust-boundary lanes)
--evolution-config <path>Use evolved source finder with private execution receipts
--cost-ceiling <usd>Hard scan-wide USD ceiling

Exit codes: 0 = sweep completed (with or without leads), 2 = skipped (no files or review cap exceeded), 3 = error.

See Commands — deep-review for the full flag reference and Improvement Plane for the evolution-config path.


Continuous kernel-LPE discovery on the linux-next freshness window.

Pipeline: git-diff range → reachability filter → semantic-vs-cosmetic classifier → refined invariant engine → adversarial verify → ranked report.

Terminal window
# Last 24 hours, default detectors (dataflow + refcount + race)
0 recency-hunt --tree /root/linux-next
# Explicit git range with dynamic witness (KASAN VM boots)
0 recency-hunt \
--tree /root/linux-next \
--since HEAD~48..HEAD \
--model gpt-5.5 \
--detectors dataflow,refcount,race,dual-view \
--dynamic-witness \
--witness-candidates 5
# One run with explicit report paths (schedule repeated invocations externally)
0 recency-hunt \
--tree /root/linux-next \
--hours 24 \
--output ./recency-report.json --md ./recency-report.md
FlagDefaultDescription
--tree <path>Kernel source tree (required)
--since <range>Git range (e.g. HEAD~20..HEAD); overrides --hours
--hours <N>24Hunt last N hours
-m, --model <model>Model-build / finder model override
--classifier-model <model>gpt-5.5Semantic-vs-cosmetic classifier
--max-hunt-files <N>25Cap files run through the engine
--detectors <list>dataflow,refcount,raceDetectors per semantic file. dual-view is opt-in
--dynamic-witnessOffKASAN VM boot oracle (implies dual-view). Expensive
--output <path> / --md <path>stdout / noneWrite JSON / optional Markdown report; repeated runs require an external scheduler
--remine-assumptionsOffForce fresh assumption mine each run

Detector types:

DetectorDescription
dataflowStatic dataflow violation scanning on the invariant model
refcountInterprocedural refcount-underflow / double-put analysis
raceConcurrency-race smell detection
dual-viewAssumption-mining dual-api/cross-phase enumerator; --dynamic-witness enables VM execution and implies this detector

Exit codes: 0 = survivor(s), 1 = ran but no survivors, 2 = empty window, 3 = error.


Mines function preconditions and searches reachable callers that fail to establish them, including DirtyCred, AF_UNIX-GC, and io_uring patterns.

Pipeline: LLM mineAssumptionModel → 1b enforced/relied cross-check (no LLM) → establisher-propagation caller-scan (no LLM) → runHuntScan with skeptic gate.

Terminal window
# Basic run: mine assumptions in net/unix, scan callers
0 assumption-hunt /root/linux-6.12.93 \
--files net/unix/af_unix.c,net/unix/garbage.c \
--subsystem net/unix
# With dynamic witness (KASAN VM boots for dual-view candidates)
0 assumption-hunt /root/linux-6.12.93 \
--files net/unix/af_unix.c \
--subsystem net/unix \
--dynamic-witness \
--witness-candidates 5
# Stop after deterministic caller-scan (no LLM finder/skeptic gate)
0 assumption-hunt /root/project \
--files src/main.c \
--skip-hunt
FlagDescription
<source-root>Local source tree the subsystem files live under
--files <a.c,b.c>Comma-separated repo-relative subsystem source files
FlagDescription
--subsystem <label>Label for the stored model (e.g. net/unix)
--remineForce fresh LLM mine even if stored model exists
--skip-huntStop after deterministic caller-scan (no LLM finder/skeptic gate)
--no-verifyRun finder fan-out but skip skeptic gate
--models <a,b>Comma-separated finder/mine models
--max-contexts <N>Cap violating contexts fed to the hunt
--no-wrapper-resolutionDisable v1 establisher-wrapper resolution (reproduces v0)
--no-finder-targetingFeed finder the whole file instead of per-function excerpts
--no-dual-viewDisable dual-api/cross-phase enumerator (v1 behavior only)
--dynamic-witnessRoute dual-view candidates to KASAN VM boot oracle
--excerpt-dir <path>Where finder-targeting excerpts are written

Funnel output:

{
"funnel": {
"mined": 45,
"kept_1b": 32,
"dropped_1b": 13,
"violating_contexts": 8,
"dual_view_contexts": 3,
"confirmed": 1
}
}

Exit codes: 0 = pipeline ran (with or without a candidate), 3 = error.


Extract cited protocol invariants from an arbitrary spec text file and map them to candidate implementation code.

Extract invariants only (no source tree needed):

Terminal window
0 specdrift extract \
--spec ./rfc-9110-excerpt.txt \
--max-invariants 40 \
--output invariants.json

Extract invariants and map them to implementation code:

Terminal window
0 specdrift scan \
--spec ./rfc-9110.txt \
--source /path/to/http-server \
--max-files 400

Extract invariants, map candidates, and emit drift hypotheses:

Terminal window
0 specdrift plan \
--spec ./rfc-9110.txt \
--source /path/to/http-server \
--max-hypotheses 20
Flagextractscanplan
--spec <path>RequiredRequiredRequired
--source <path-or-url>RequiredRequired
--max-invariants <N>404040
--max-files <N>400400
--max-candidates-per-invariant <N>55
--max-hypotheses <N>20

See Commands — specdrift.


Protocol conformance check (protocol-check)

Section titled “Protocol conformance check (protocol-check)”

Reads spec + implementation source excerpts, hypothesizes where the implementation diverges from the spec, then exercises each hypothesis against a live target with a deterministic oracle.

Terminal window
0 protocol-check \
--spec ./rfc-9110-excerpt.txt \
--impl ./server-parse.c \
--target http://127.0.0.1:8080 \
--json
FlagDescription
--spec <file>Authoritative specification excerpt
--impl <file>Implementation source excerpt
--target <url>Base URL of the live target
FlagDefaultDescription
--jsonEmit full result as JSON on stdout
--max-exercises <N>8Cap hypotheses exercised against target
--runtime <runtime>autoLLM runtime
--protocol <name>HTTP/1.1Protocol name for the report
--spec-version <version>RFC 9110Spec edition
--spec-ref <ref>Auditable spec citation

Exit codes: 0 = confirmed divergence(s), 1 = ran, no divergences, 2 = no validated model, 3 = error.

Only MUST-level violations backed by a concrete observation are reported as confirmed. See Commands — protocol-check.


Clone a source tree, auto-detect the build system and language, build a sanitizer/fuzz harness, run a closed fuzz loop, and emit crashed findings.

Terminal window
# C/C++ with CMake
0 memsafety https://github.com/user/repo.git --fuzz-timeout 120
# Rust with cargo-fuzz
0 memsafety /path/to/rust-crate --language rust --miri
# Narrow to a subdirectory with artifact retention
0 memsafety /path/to/repo \
--subsystem src/network \
--artifact-dir ./memsafety-evidence \
--artifact-max-bytes 4194304

Auto-detected from marker files in the source root:

LanguageMarker file
RustCargo.toml
C/C++ CMakeCMakeLists.txt
C/C++ Autotoolsconfigure.ac or Makefile.am
C/C++ Mesonmeson.build
C/C++ MakeMakefile

Override with --language c|cpp|rust and --build-system cargo|cmake|autotools|meson|make.

FlagDefaultDescription
--subsystem <path>Narrow scan root to a subdirectory
--language <lang>Auto-detectedForce: c, cpp, or rust
--build-system <sys>Auto-detectedForce: cargo, cmake, autotools, meson, make
--harness <name>libFuzzer / cargo-fuzz harness target
--fuzz-dir <path>Non-standard cargo-fuzz directory
--mirifalseRun cargo +nightly miri for UB detection
--fuzz-timeout <sec>60Fuzz wall-clock budget
--artifact-dir <path>Persist crash evidence outside source tree
--artifact-max-bytes <bytes>4194304Aggregate byte ceiling for retained evidence

Exit codes: 0 = loop completed (with or without crashes), 2 = skipped (no build system or execution prerequisite unavailable), 3 = error.

See Commands — memsafety.


Three subcommands for Linux kernel-specific workflows:

Mine and LPE-rank syzbot’s invalid/auto-closed queue for kernelCTF-eligible candidates:

Terminal window
0 kernel syzbot-mine \
--subsystems net,net/sched,xfrm \
--limit 30 \
--details 15

Foxguard-backed advisory variant hunting:

Terminal window
0 kernel variant-hunt \
--tree /root/linux-6.12.93 \
--advisory ./advisory.txt \
--rules rules/kernel/dirty-frag-class \
--foxguard /usr/local/bin/foxguard \
--output json

Or reuse an existing Foxguard SARIF:

Terminal window
0 kernel variant-hunt \
--tree /root/linux-6.12.93 \
--sarif-input ./foxguard-results.sarif \
--output terminal

Generate LLM-derived choice_weights.json for syzkaller on a kernelCTF target:

Terminal window
0 kernel weights \
--target 6.12.101 \
--crash-summary ./recent-crashes.txt \
--max-entries 48 \
--out choice_weights.json

See Commands — kernel.


Three-part workflow for IOKit user-client fuzzing on macOS. Operates offline (model + generate locally); harness-plan describes prerequisites for an Apple Silicon macOS VM but does not launch it.

Terminal window
0 xnu-fuzz enumerate \
--kext ./IOSurface.macho \
--bundle com.apple.iokit.IOSurface \
--out target-model.json
Terminal window
0 xnu-fuzz gen \
--model target-model.json \
--seed 42 \
--json
Terminal window
0 xnu-fuzz harness-plan \
--golden "<golden-macos-vm>" \
--oracle kasan

See Commands — xnu-fuzz.


Delegates to the in-repo 0verse engine (Python, uv run --frozen 0verse):

Terminal window
# Triage a compiled ELF
0 binary ./target.elf --mode triage
# Run full scan with a specific backend
0 binary ./target.elf --mode scan --backend ghidra
# Forward extra args to 0verse
0 binary ./target.elf --mode triage -- --format ndjson
ModeDescription
triageQuick triage of the artifact
runRun analysis
scanFull scan
BackendDescription
rizinRizin-based analysis
ghidraGhidra headless analysis
angrangr symbolic analysis

Requires uv on PATH and the 0verse/ directory present in the repo. See Commands — binary.


Takes a confirmed kernel memory-safety finding, classifies the exploitation primitive, and runs the escalation ladder through the kernel-VM harness.

Missing kernel-VM artifacts can produce exit 2 (skipped). Provisioned modes can execute the target; inspect their runner requirements before use.

Terminal window
# Default weaponization runner (requires its kernel-VM prerequisites)
0 exploit --finding ./finding.json --reproducer ./repro.c
# Engine-driven root climb with real QEMU boots
0 exploit --finding ./finding.json --climb --loop-boots 8 \
--vmlinux ./vmlinux --freed-struct snd_rawmidi_runtime
# Autonomous LLM-composed weaponization
0 exploit --autoclimb \
--bug-spec ./bug-spec.json \
--boot-script ./boot.sh
# Agentic weaponization loop (model gets a shell)
0 exploit --agent \
--task ./vuln-description.json \
--container my-exploit-env \
--flag-pattern '^flag\{'
ModeFlagWhat it does
Default(none)Classify the primitive and invoke the weaponization runner; not a static-only switch
Engine climb--climbREAL verify→weaponization chain, loop boots until root oracle credits
Autoclimb--autoclimbLLM codegen loop: compose C from technique library + bug trigger + last verdict
Agentic--agentModel gets a shell, iterates recon→weaponize→build→run with stage gates

Default runner exit codes: 0 = root reached, 1 = climbed below root, 2 = skipped (no kernel-VM artifacts or applicable strategy), 3 = error. Autoclimb and agent modes delegate to their own runners; do not assume the default runner’s exit-code meanings apply to every mode.

See Commands — exploit.


Drive an agent endpoint, MCP endpoint, and an oracle under a scoped policy, then write a replayable evidence bundle.

Terminal window
0 agent-assure \
--agent-endpoint http://localhost:8080/agent \
--mcp-endpoint http://localhost:8081/mcp \
--oracle-endpoint http://localhost:8082/state \
--scenario ./scenario.json \
--scope ./scope.json \
--target-version v1.2.3 \
--policy-version v1.0.0 \
--model-version gpt-5.5 \
--environment staging \
--output ./evidence-bundle
FlagDescription
--agent-endpoint <url>Customer-owned agent test adapter endpoint
--mcp-endpoint <url>Authorized MCP tools/list endpoint
--oracle-endpoint <url>Customer-owned state-observer endpoint
--scenario <path>Scenario JSON (id, title, injection_vector, benign_task, payload, prohibited_action)
--scope <path>Engagement scope JSON; all three endpoints must be in scope
--target-version <version>Version of the tested agent deployment
--policy-version <version>Version of the agent prompt and authorization policy
--model-version <version>Model deployment identifier
--environment <name>local, test, or staging

Exit codes: observed = 1, not_observed = 0, inconclusive / error = 2.

See Adversarial Evals for the conceptual background and Commands — agent-assure for the full reference.


Evolves additive appsec finder lenses from curated misses into a user-owned durable overlay registry (~/.0/lenses/appsec-archetypes.json).

Terminal window
# One-shot: process miss-input, validate, optionally promote
0 lens-synth \
--miss-input ./misses.json \
--promote \
--model gpt-5.5
# Watch mode: poll the miss-input file, process each revision
0 lens-synth \
--miss-input ./misses.json \
--watch \
--poll-interval 5000
# Inspect the durable overlay registry
0 lens-synth --status
# Retire a promoted lens
0 lens-synth --rollback memcpy-overrun-v1
FlagDefaultDescription
--miss-input <path>Curated miss-input JSON
--registry <path>~/.0/lenses/...Durable overlay path
--max-register <n>Cap promoted champions per input revision
-m, --model <id>Synthesis model override
--promotefalsePersist validated champion to durable overlay
--trials <n>2Repeated validation trials
--watchfalsePoll miss-input for new revisions
--poll-interval <ms>2000Watch polling interval (minimum 100ms)
--statusShow active overlay and promotion ledger
--rollback <lens-id>Retire one previously promoted overlay lens

Registry promotions land in the user-owned durable overlay, never the bundled appsec registry. Promoted lenses become available to subsequent deep-review invocations. See Improvement Plane.


Four subcommands under 0 research for importing, executing, and binding research evidence:

Run the existing web/AI/source/package pipeline through the shared evidence research plane:

Terminal window
0 research pipeline \
--target https://example.com \
--target-type web-app \
--depth deep
FlagDescription
--target <target>URL, local path, repository, package, or image
--target-type <type>url, web-app, source-code, npm-package, pypi-package, cargo-package, or oci-image
--profile <profile>Source review profile
--depth <depth>quick, default, or deep
--runtime <runtime>auto, api, claude, codex, gemini, or ollama

Passive mobile intake (APK/IPA). Indicators remain hypotheses; only scoped adapters may hand off targets:

Terminal window
0 research mobile --target ./extracted-apk

Import externally executed vulnerable-vs-patched boot logs. 0 validates and hashes them but does not execute boots:

Terminal window
0 research linux-matrix \
--matrix ./boot-matrix.json \
--finding ./finding.json

Run a supplied kernel reproducer through the shared N-boot evidence gate:

Terminal window
0 research linux \
--kernel-tree /root/linux-6.12.93 \
--reproducer ./repro.c \
--finding ./finding.json \
--expected-signature "kernel BUG at mm/slub.c" \
--boots 3 \
--min-hits 2
FlagDescription
--kernel-tree <path>Linux source tree
--reproducer <path>C reproducer or syzkaller .syz program
--finding <path>Existing Finding JSON to bind the proof to
--expected-signature <literal>Crash signature every counted boot must contain
--boots <n>Fresh boots (default 3)
--min-hits <n>Required reproducing boots (default 2)

Self-improving source code through propose → evaluate → promote cycle. See Improvement Plane for the full config reference, trust boundary, and promotion gates.

Terminal window
# One-off evolution run
0 evolve run --config ./evolution.json --allow-source-access
# Watch mode: sequential passes, stop on any failed pass
0 evolve run --config ./evolution.json --watch --auto-promote
# Execute the active version against a specific input
0 evolve exec --config ./evolution.json --run-id <id> --input '{"n": 4}'

See Commands — evolve.


PageContent
ArchitectureAgent loop design, triage pipeline, verification chain
CommandsComplete CLI reference for every flag
Kernel VM VerificationQEMU guest build, config env vars, batch validation
Improvement PlaneSource evolution trust boundaries, config shape, promotion gates
Adversarial EvalsAttack-driven evaluation for AI agent systems
ScopeEngagement scope JSON matching, deny precedence, network scope
Verification ResultSchema, trust chain, replay
ConfigurationCLI config file reference
API KeysProvider credential setup