# Welcome to the Ax Framework Wiki

{% hint style="info" %}
**Costs:** While Ax is free and open-source, spinning up servers requires a cloud account.
{% endhint %}

## Overview

The Ax Framework is a free and open-source tool utilized by Bug Hunters and Penetration Testers to efficiently operate in multiple cloud environments. It helps build and deploy repeatable infrastructure tailored for offensive security purposes.

Ax includes a set of Packer Provisioner files to choose from ([JSON](https://github.com/attacksurge/ax/tree/master/images/json/provisioners) or [HCL](https://github.com/attacksurge/ax/tree/master/images/pkr.hcl/provisioners)), or you can [create your own](https://ax-framework.gitbook.io/wiki/fundamentals/bring-your-own-provisioner) (recommended).

Whichever [Packer](https://www.packer.io/) Provisioner you select, Ax installs your tools of choice into a "base image". Then using that image, you can deploy fleets of fresh instances (cloud hosted compute devices). When building an image using the [Default](https://github.com/attacksurge/ax/blob/master/images/pkr.hcl/provisioners/default.pkr.hcl) Provisioner, you can connect and immediately access a wide range of tools useful for both Bug Hunting and Penetration Testing.

Various [Ax Utility Scripts](https://ax-framework.gitbook.io/wiki/fundamentals/ax-utility-scripts) streamline tasks like spinning up and deleting fleets of instances, parallel command execution and file transfers, instance and image backups, and many other operations.

Ax Framework leverages the power of ephemeral, automated infrastructure to make cloud-based scanning operations fast and efficient. With Ax, you can quickly spin up disposable cloud instances, distribute your scanning workloads, and manage large-scale operations with ease. The framework supports running arbitrary binaries and scripts, determined by the specific Packer Provisioner you select and [Module](https://ax-framework.gitbook.io/wiki/fundamentals/scans/modules) you use.

Once Ax is set up and configured, you can deploy a fleet of 50-100+ instances in just minutes, distribute a highly parallelized scan against a large scope of targets, and deliver rapid, reliable results. This functionality is known as [ax scan](https://ax-framework.gitbook.io/wiki/fundamentals/scans).

Ax attempts to follow the Unix philosophy by providing building blocks that allow users to easily orchestrate one or many cloud instances. This flexibility enables the creation of continuous scanning pipelines and the execution of general, one-off, highly parallelized workloads.

Currently Digital Ocean, IBM Cloud, Linode, Azure, AWS, Hetzner and GCP are officially supported cloud providers.

{% hint style="info" %}
**Bash:** Ax is predominantly written in Bash! This makes it easy to contribute to, and it was chosen because [early versions](https://github.com/pry0cc/axiom) were rapidly prototyped in this language.
{% endhint %}

Feel free to join us on discord! <https://discord.com/invite/c6BHVfn>

## Quick links

{% content-ref url="overview/existing-users" %}
[existing-users](https://ax.attacksurge.com/overview/existing-users)
{% endcontent-ref %}

{% content-ref url="overview/installation-guide" %}
[installation-guide](https://ax.attacksurge.com/overview/installation-guide)
{% endcontent-ref %}

{% content-ref url="overview/ax-controller" %}
[ax-controller](https://ax.attacksurge.com/overview/ax-controller)
{% endcontent-ref %}

{% content-ref url="overview/how-it-works" %}
[how-it-works](https://ax.attacksurge.com/overview/how-it-works)
{% endcontent-ref %}

## Fundamentals

We've put together some helpful guides so you can quickly familiarize yourself with the different aspects of Ax.

{% content-ref url="fundamentals/ax-utility-scripts" %}
[ax-utility-scripts](https://ax.attacksurge.com/fundamentals/ax-utility-scripts)
{% endcontent-ref %}

{% content-ref url="fundamentals/bring-your-own-provisioner" %}
[bring-your-own-provisioner](https://ax.attacksurge.com/fundamentals/bring-your-own-provisioner)
{% endcontent-ref %}

{% content-ref url="fundamentals/fleets" %}
[fleets](https://ax.attacksurge.com/fundamentals/fleets)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans" %}
[scans](https://ax.attacksurge.com/fundamentals/scans)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans/modules" %}
[modules](https://ax.attacksurge.com/fundamentals/scans/modules)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans/modules/adding-simple-modules" %}
[adding-simple-modules](https://ax.attacksurge.com/fundamentals/scans/modules/adding-simple-modules)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans/modules/adding-one-shot-modules" %}
[adding-one-shot-modules](https://ax.attacksurge.com/fundamentals/scans/modules/adding-one-shot-modules)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans/modules/merging-and-module-extensions" %}
[merging-and-module-extensions](https://ax.attacksurge.com/fundamentals/scans/modules/merging-and-module-extensions)
{% endcontent-ref %}

{% content-ref url="fundamentals/scans/horizontal-vs-vertical-scaling" %}
[horizontal-vs-vertical-scaling](https://ax.attacksurge.com/fundamentals/scans/horizontal-vs-vertical-scaling)
{% endcontent-ref %}

{% content-ref url="fundamentals/responsibility" %}
[responsibility](https://ax.attacksurge.com/fundamentals/responsibility)
{% endcontent-ref %}

{% content-ref url="fundamentals/terminology" %}
[terminology](https://ax.attacksurge.com/fundamentals/terminology)
{% endcontent-ref %}


---

# 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/welcome-to-the-ax-framework-wiki.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.
