AAPP‑MART is a modular, multi‑agent red team simulation framework powered by AI‑driven decision models. This guide provides developers with the architectural overview, contribution workflow, coding standards, and extension points required to build new features or improve the framework.
AAPP‑MART is built around three core components that work together to simulate realistic offensive security behavior:
- AAPP (Attack Path Predictor) — Analyzes the target environment and predicts potential attack paths based on vulnerabilities, configurations, and system topology.
- MART (Multi‑Agent Red Team) — Executes offensive actions using specialized agents representing different stages of the attack lifecycle.
- Orchestrator — Coordinates agents, manages execution flow, aggregates results, and generates reports.
Each component is designed as an independent module to ensure extensibility and maintainability.
Agents are the core of the simulation engine. Each agent represents a specific offensive capability such as reconnaissance, exploitation, privilege escalation, or lateral movement.
Key requirements for creating a new agent:
- Implement the shared BaseAgent interface.
- Define the agent’s role, decision logic, and action set.
- Ensure outputs follow the standardized event format used by the Orchestrator.
- Map agent actions to MITRE ATT&CK techniques when applicable.
- Keep the agent modular so it can be enabled or disabled independently.
Agents should be deterministic in structure but flexible in behavior to support dynamic simulation scenarios.
The simulation pipeline follows a structured sequence:
- Load the target profile and environment configuration.
- Generate attack path predictions using AAPP.
- Execute MART agents sequentially or in parallel depending on the scenario.
- Collect and normalize agent outputs.
- Produce reports, risk scores, and attack timelines.
Developers can modify or extend any stage of this workflow by adding new modules or adjusting orchestration logic.
Clone the repository and install dependencies:
git clone https://github.com/secwexen/aapp-mart
cd aapp-mart
pip install -r requirements.txtRun tests to verify the environment:
pytest -vCreate a feature branch before making changes:
git checkout -b feature/new-moduleTo maintain consistency across the project:
- Follow PEP8 style guidelines.
- Use clear and descriptive docstrings for all functions and classes.
- Keep modules small, focused, and reusable.
- Avoid unnecessary dependencies.
- Write tests for all new features.
- Ensure backward compatibility when modifying core components.
All pull requests are automatically checked for formatting, linting, and test coverage.
Every new feature must include:
- Unit tests for core logic.
- Agent behavior tests.
- Workflow integration tests when applicable.
Tests are stored under the tests directory and should follow a clear naming convention.
Developers can add new report formats or extend existing ones. A report module should:
- Define a clear output structure (JSON, HTML, or graphical).
- Integrate with the Orchestrator’s result aggregation system.
- Provide meaningful insights such as attack paths, risk scores, or agent activity timelines.
Reports are located under the reports module.
AAPP‑MART is designed to be extensible. Developers can add:
- New agents
- New attack techniques
- New simulation scenarios
- New reporting formats
- New orchestration strategies
Each extension should be modular and documented to ensure compatibility with the rest of the framework.
- All development and testing must be performed in authorized environments.
- Unauthorized use of the framework against real systems is strictly prohibited.
- Vulnerabilities must be reported according to the project’s SECURITY.md policy.
- Ethical guidelines must be followed at all times.
To contribute to AAPP‑MART:
- Open an issue to discuss the proposed change.
- Create a feature branch.
- Implement the change with proper documentation.
- Add tests for the new functionality.
- Submit a pull request with a clear description.
Pull requests are reviewed for code quality, security, and architectural consistency.