# Terminology

## [Ax Controller](#ax-controller)

The machine you install Ax on is called the Ax Controller. The Controller manages all aspects of Ax, including account setup, building your Packer image, spinning up and SSHing into instances, creating new images from existing instances, deleting instances and images, managing distributed scanning, and much more!&#x20;

The Ax Controller executes the various scripts in `~/.axiom/interact` and stores account credentials in `~/.axiom/accounts/$account-profile-name.json`

## [Build](https://ax-framework.gitbook.io/wiki/fundamentals/ax-utility-scripts#ax-build)

During first time setup, you'll have to create a Packer image. This is the `ax build` process. You can also rebuild your image at any time by running `ax build --setup`

## [Instance](https://ax-framework.gitbook.io/wiki/fundamentals/ax-utility-scripts#ax-init)

When you spin up one cloud compute device from the Packer image (e.g. `ax init --run`), we call it an Ax instance.

## [Fleet](#fleet)

More than one instance is known as a fleet (e.g.`ax fleet -i 10`). A fleet consists of a set of hosts, these can be used for parallel file transfers, scans, or parallel command execution.

## [Interlace](https://github.com/codingo/Interlace)

A Python script created by [codingo](https://x.com/codingo_) and [sml555](https://twitter.com/sml555_) to "Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support."\
Ax uses Interlace extensively for all of our parallelism.&#x20;

## [Simple Module](#simple-module)

`ax scan` [Simple Modules](#simple-module) executes a bash command on every remote instance apart of the scan.

## [One-Shot Module](#one-shot-module)

If a module contains the string `_target_` or `_safe-target_` , ax scan will execute it as a [One-Shot Module](#one-shot-module). One-Shot Modules utilize [Interlace](https://github.com/codingo/Interlace) to easily manage the threading of arbitrary binaries and scripts.

## [Selected](https://ax-framework.gitbook.io/wiki/fundamentals/ax-utility-scripts#ax-select)

Using `ax select` you pick the instance(s) to use when executing `ax exec` and `ax scan`

## [Provisioner](https://ax-framework.gitbook.io/wiki/fundamentals/bring-your-own-provisioner)

The file detailing what tools to install as part of the build process.

## [Provider](https://github.com/attacksurge/ax/tree/master/providers)

The cloud provider and the [functions](https://github.com/attacksurge/ax/tree/master/providers) sourced to interact with it.

## [Account JSON or axiom.json](https://ax-framework.gitbook.io/wiki/fundamentals/ax-utility-scripts#ax-account)

The JSON file storing you user data and cloud credentials. A symbolic link from `~/.axiom/accounts/$profile-name.json` to `~/.axiom/axiom.json`&#x20;

## [Axiom Classic](https://github.com/pry0cc/axiom)

Our proud origins. Axiom Classic is the first iteration of our dynamic distributed scanning framework.&#x20;

## [Ax Framework](https://github.com/attacksurge/ax)

Our next-gen iteration of our dynamic distributed scanning framework. Axiom Classic users should feel right at home using Ax, with all the familiarity and simplicity from Axiom. Rebuilt to last, with auditability, transparency and improved functionality as our primary motivators.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ax.attacksurge.com/fundamentals/terminology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
