Read-only vs. guarded
The public tool inventory is available in chat with
/tools: a deterministic list, no model
call.
The capability layer
On top of the tools sits a typed capability layer: actions with preconditions, effects, and structured verifiers that the planner chains from observed state. It models an attack chain generically (collect graph, escalate through controlled execution, extend rights, harvest credentials, forge tickets), and each step advances only on verified proof of the previous one. Nothing is recorded on assertion alone, and no benchmark-specific paths are baked into the product.Extension points
Three parts of Sage are plain files in the Sage repository, meant for you to edit rather than rebuild:- Agent prompts. Each agent’s system prompt is a markdown file in
Payload_Type/sage/prompts/, one per agent fromsupervisor.mdtosandbox.md. Edit a file and start a new chat: each new session re-reads every prompt, so your change takes effect without a restart. A restart is only needed for code changes. This is how you ship your own playbook with an engagement. - The TTP library.
Payload_Type/sage/ttps/holds over two hundred markdown tradecraft files covering Active Directory attack paths, ADCS abuse, ACL chains, and failure triage, among others. The agents plan from this library; editing it tunes what Sage knows. - The tool drop zone. Covered below:
Payload_Type/sage/tools/stages operator-supplied binaries into Mythic on demand.
Tool drop zone
Payload_Type/sage/tools/ is an operator drop zone for tool binaries. It ships empty. Sage
bundles no offensive binaries. Drop a binary in and Sage discovers it and stages it into Mythic on
demand instead of making you upload it by hand. download_tool can also fetch a pinned,
sha256-verified binary from its tradecraft source into this folder.
Scope preflight
Each guarded tool maps to a required Mythic bot-token scope (callback.write, payload.write,
credential.write, file.write). A tool whose scope your channel token lacks is disabled up
front rather than failing mid-run.
The authoritative source
Because the exposed set is assembled in code, treat any reference (including the repository’sdocs/reference/TOOLS_AND_CAPABILITIES.md)
as a snapshot, and the source as authoritative. Sage discovers commands and validates arguments
against the live payload’s advertised command schema at runtime.