Authoring with Claude Code¶
BadZure ships an agentic authoring workflow: a crew of Claude Code agents that build a lab conversationally, validated at every step by the same offline gates you would run by hand. You describe the lab; the crew writes the config, checks its reachability, and renders it for review.
This is optional. You can also build the configuration yourself: see Author an Atomic Path or Author a Chained Path.
Start the crew¶
Open Claude Code in the BadZure repository and start the assistant:
The crew greets you and walks you through building a lab. Describe the organization and the attack you want in natural language; the crew produces a validated config you can then build.
The crew¶
Three agents divide the work, each with a single responsibility:
- 🏢 Org Builder: generates and refines the realistic org baseline from your description: departments, groups, applications, Azure resources, and everyday assignments. It renders the interactive lab report for review. It does not author attack paths.
- 🗡️ Adversary: designs a chained attack path through the baseline, weaving real entities into a multi-hop escalation to the objective you state. It self-repairs against the reachability gate: if a hop dead-ends, it fixes the chain and re-checks.
- 🛡️ Gatekeeper: runs the deterministic gates and reports the verdict. It runs
check(offline reachability) always, andplan(a Terraform dry run) on request. It only reports: it never edits a config or designs a path.
The division matters: the Adversary designs, but the Gatekeeper's verdict is a graph walk, not an opinion. A path is accepted only when check confirms it is traversable.
The commands behind it¶
The crew drives the same commands you can run directly:
-
generate: author a config from a natural-language prompt with an LLM, for you to review and build: -
compile-baseline: expand an org-design YAML into a full baseline config, offline, with no LLM and no deploy: -
baseline-spec: print the org-design authoring contract, for an agent writing a design to compile.
The org-design workflow the crew and compile-baseline use is summarized under
Generating an explicit baseline.
Run baseline-spec for the complete, current format.
Review before you build¶
Whatever the crew produces is a config file like any other. Review it, check it, and report it before deploying: