Halberd
Halberd : Multi-Cloud Agentic Attack Tool
Install / Use
/learn @vectra-ai-research/HalberdREADME
Halberd: Multi-Cloud Agentic Attack Tool
<p align="center"> <img src="assets/halberd_logo_banner.jpg" alt="Halberd Logo" width="100%" align="center"/> </p> <p align="center"> <strong>Validate your multi-cloud defenses through realistic attack emulation</strong> </p> <p align="center"> <a href="#-quick-start">🚀 Get Started</a> • <a href="#-what-is-halberd">📖 About</a> • <a href="#-key-features">✨ Features</a> • <a href="#-getting-started-guide">📚 Guide</a> • <a href="#-documentation--resources">📋 Docs</a> • <a href="#-contributing">🤝 Contributing</a> </p> <p align="center"> <img src="https://img.shields.io/badge/version-3.0.0-blue.svg" alt="Version"> <img src="https://img.shields.io/badge/license-GPL--3.0-green.svg" alt="License"> <img src="https://img.shields.io/badge/clouds-5-orange.svg" alt="Cloud Platforms"> <img src="https://img.shields.io/badge/techniques-120+-red.svg" alt="Attack Techniques"> </p> <p align="center"> <img src="https://github.com/openrec0n/Halberd-Media-Assets/blob/main/Media/Halberd_3_0_preview.gif" width="100%" align="center" alt="Halberd Preview"/> </p>🚀 Quick Start
Get Halberd running in under 60 seconds. Choose the installation method that works best for you.
Option 1: Docker (Recommended)
The fastest way to get started. One command and you're ready:
docker run -d --name halberd -p 8050:8050 ghcr.io/vectra-ai-research/halberd:main
Then open your browser to http://localhost:8050 and you're ready to go!
Using Docker Compose?
git clone https://github.com/vectra-ai-research/Halberd.git
cd Halberd
docker compose up -d
📖 Need more details? Check out our Docker Deployment Guide
Option 2: Manual Setup
Perfect for development or custom configurations.
Prerequisites:
- Python 3.8.x - 3.13.x
Steps:
-
Clone the repository
git clone https://github.com/vectra-ai-research/Halberd.git cd Halberd -
Set up Python virtual environment
python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt -
Optional: Install Azure CLI (Required for Azure testing)
# Linux/macOS curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash # macOS with Homebrew brew install azure-cli # Windows - Download from Microsoft documentation -
Launch Halberd
python run.py -
Access the web interface
Navigate to
http://127.0.0.1:8050in your browser.
✅ Success! You should see the Halberd web interface. If you see the dashboard, you're all set!
📖 What is Halberd?
Halberd is an open-source, multi-cloud attack emulation tool built for cybersecurity professionals who need to validate their cloud security defenses. Testing cloud security across multiple platforms is complex, time-consuming, and often requires deep expertise in each cloud provider's unique attack surfaces.
Halberd solves this by providing:
- Unified Multi-Cloud Testing: Test Azure, AWS, GCP, Entra ID, and M365 from a single interface
- 120+ Attack Techniques: Pre-built techniques mapped to MITRE ATT&CK and Azure TRM frameworks
- AI-Powered Intelligence: Claude-powered attack agent that helps discover and execute attack paths
- Web-Based Interface: No CLI expertise required—everything runs in your browser
- Automation & Orchestration: Create playbooks, schedule attacks, and generate comprehensive reports
Whether you're conducting red team exercises, validating security controls, or training your security team, Halberd makes cloud security testing accessible, repeatable, and actionable.
✨ Key Features
🌐 Multi-Cloud Coverage
Test across 5 major cloud platforms from a single interface:
- Microsoft Azure - Resource enumeration, privilege escalation, data exfiltration
- Amazon Web Services (AWS) - IAM abuse, S3 manipulation, CloudTrail evasion
- Google Cloud Platform (GCP) - Service account abuse, project enumeration, persistence
- Microsoft Entra ID - Identity attacks, role assignment, token abuse
- Microsoft 365 - Email manipulation, Teams exploitation, SharePoint access
🎯 Attack Library
120+ attack techniques organized by MITRE ATT&CK tactics:
- Initial Access, Execution, Persistence
- Privilege Escalation, Defense Evasion
- Credential Access, Discovery
- Lateral Movement, Collection
- Exfiltration, Impact
Each technique is mapped to industry-standard frameworks and includes detailed execution logs.
🤖 AI-Powered Attack Agent
Intelligent attack planning and execution powered by Claude:
- Technique Discovery: AI suggests attack paths based on your environment
- Context-Aware Execution: Understands your testing context and adapts recommendations
- Automated Reporting: Generates tailored security assessment reports
- Research Integration: Upload threat intelligence documents to create custom attack paths
Enable the Attack Agent: Click the settings icon in Halberd and add your Anthropic API key.
⚙️ Automation & Orchestration
- Playbook Engine: Chain multiple techniques into sophisticated attack scenarios
- Scheduling: Automate attacks on a schedule for continuous security validation
- Access Management: Built-in credential and session management across cloud platforms
- Result Analysis: Rich output formatting with detailed execution logs and visualizations
📊 Analysis & Reporting
- Real-Time Dashboards: Visualize attack paths, success rates, and technique coverage
- Attack History: Review all technique executions with full output logs
- Export Capabilities: Generate comprehensive security assessment reports
📚 Getting Started Guide
Ready to run your first attack? Follow these steps:
Step 1: Install Halberd
If you haven't already, follow the Quick Start instructions above to get Halberd running.
Step 2: Access the Web Interface
Open your browser and navigate to http://localhost:8050 (or your configured host/port).
Step 3: Establish Cloud Access
- Navigate to the Attack page
- Select your target cloud platform (Azure, AWS, GCP, Entra ID, or M365)
- Choose an Initial Access technique
- Configure the technique with your cloud credentials
- Execute to establish your session
Step 4: Execute Your First Attack Technique
- Browse available techniques by tactic (Discovery, Credential Access, etc.)
- Select a technique that matches your testing goals
- Configure required parameters
- Click Execute and review the results
Step 5: Review and Analyze
- Response Window: View detailed technique output immediately after execution
- Attack History: Access the history page to review all past executions
- Analyse Dashboard: Use the Analyse page to visualize attack patterns and generate reports
🎯 First Technique Suggestions
Azure:
azure_enumerate_vm- Discover virtual machines in your subscriptionazure_enumerate_storage_accounts- List all storage accounts
AWS:
aws_enumerate_s3_buckets- List all S3 bucketsaws_enumerate_iam_users- Discover IAM users in the account
GCP:
gcp_enumerate_projects- List all GCP projectsgcp_enumerate_service_accounts- Discover service accounts
Entra ID:
entra_enumerate_users- List directory usersentra_enumerate_apps- Discover registered applications
M365:
m365_enumerate_teams- List Microsoft Teamsm365_search_outlook_messages- Search email messages
💡 Pro Tip: Start with enumeration techniques to understand your environment before attempting more advanced attacks.
📋 Example Playbook
Halberd comes with a ready-to-use example playbook that demonstrates how to chain multiple techniques into a comprehensive attack scenario.
AWS Cloud Discovery and Reconnaissance
This playbook emulates the reconnaissance phase an attacker performs after gaining initial access to an AWS environment. It systematically discovers identities, data stores, compute infrastructure, and security monitoring configurations.
The playbook executes 9 non-destructive, read-only techniques:
- Enumerate IAM users and roles
- Gather account authorization information
- List S3 buckets and identify publicly accessible ones
- Discover EC2 instances
- Identify overpermissive security groups
- Enumerate CloudTrail trails and GuardDuty detectors
How to Use:
- Ensure you have established AWS access
- Navigate to the Automator page in Halberd
- Load the playbook:
AWS Cloud Discovery and Reconnaissance - Click Execute to run the playbook
💡 Custom Playbooks: You can create your own playbooks by defining sequences of techniques in YAML format or directly from the Halberd
AutomatorUI. All playbooks are stored in theautomator/Playbooks/directory.
🏗️ Architecture & Capabilities
Supported Cloud Platforms
| Platform | Techniques | Key Capabilities | |----------|-----------|-----------------| | Azure | 39+ | Resource enumeration, VM manipulation, Key Vault access, Storage account operations | | AWS | 25+ | IAM abuse, S3 operations, EC2 enumeration, CloudTrail manipulation | | GCP | 13+ | Project enumeration, Service account abuse, Storage operations, IAM manipulation | | Entra ID | 33+ | Identity attacks, Role assignment, Token abuse, User enumeration | | M365 | 14+ | Email manipulation, Teams exploitation, SharePoint access, OneDrive operations |
Web Interface Pages
- Attack: Configure and execute individual attack techniques
- Automator: Create, manage, and schedule attack pl
