Skip to content

Added Getting Started Page for the Remote API #237

Merged
whotwagner merged 3 commits into
ait-testbed:mainfrom
erik-graf:development
Jun 2, 2026
Merged

Added Getting Started Page for the Remote API #237
whotwagner merged 3 commits into
ait-testbed:mainfrom
erik-graf:development

Conversation

@erik-graf

Copy link
Copy Markdown
Contributor

Added Getting Started Documentation for the Remote API.
Changed default port number in remote_config.rst doc.

…ote_config.rst to port actually used by default
Comment thread docs/source/remote_api_intro.rst Outdated

* AttackMate installed on the server.
* attackmate-api-server installed and running on the server.
* attackmate-client installed on the client.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is an attackmate-client required?

Comment thread docs/source/configuration/remote_config.rst
Comment thread docs/source/configuration/remote_config.rst
* `attackmate-api-server <https://github.com/ait-testbed/attackmate-api-server>`__:
runs on the remote AttackMate host and exposes an HTTPS API.
* `attackmate-client <https://github.com/ait-testbed/attackmate-client>`__:
runs on the local/client host and sends commands or playbooks to the API

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

specify what the client is and when it is required.

Comment thread docs/source/remote_api_intro.rst Outdated
Comment on lines +36 to +37
It is recommended to install AttackMate on the client too. This allows the
client to parse local wrapper playbooks and use the normal ``attackm8`` command.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would describe when to install just the attackmate-client and when to install the attackmate instead. It is not recommended to install AttackMate and the Client.

Comment thread docs/source/remote_api_intro.rst Outdated
Comment thread docs/source/remote_api_intro.rst Outdated
Comment on lines +144 to +149
The systemd service logs are available with:

.. code-block:: console

journalctl -u attackmate-api -f

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where did you explain how to install attackmate-api using systemd?

server.

The `attackmate-ansible <https://github.com/ait-testbed/attackmate-ansible>`__
role can install and configure both sides.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add here that the client is a dependency of attackmate?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

..but it isn't, right? both the attackmate-client and attackmate can work without the other?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

attackmate needs attackmate-client for the remote-executor. so that attackmate can control other attackmates.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, just thought that was an optional feature :) adapted the doc to reflect it


A working remote setup needs at least:

* AttackMate installed on the server.

@thorinaboenke thorinaboenke Jun 2, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link somewhere here to the ansible role, and that it can install attackmate as an api server

the remote playbook is still running, waiting for a session, or stuck in a tool
such as Metasploit. Check the server logs and any AttackMate playbook logs.

You can also increase the timeout period of attackmate-client by changing DEFAULT_TIMEOUT in ``/usr/local/share/attackmate/.venv/lib/python3.12/site-packages/attackmate_client/attackmate_client.py``

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should make this easier configurable

@whotwagner whotwagner merged commit 24ad8dd into ait-testbed:main Jun 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants